|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.vaadin.data.util.AbstractContainer
com.vaadin.data.util.GeneratedPropertyContainer
public class GeneratedPropertyContainer
Container wrapper that adds support for generated properties. This container only supports adding new generated properties. Adding new normal properties should be done for the wrapped container.
Removing properties from this container does not remove anything from the
wrapped container but instead only hides them from the results. These
properties can be returned to this container by calling
addContainerProperty(Object, Class, Object) with same property id
which was removed.
If wrapped container is Filterable and/or Sortable it should only be handled through this container as generated properties need to be handled in a specific way when sorting/filtering.
Items returned by this container do not support adding or removing properties. Generated properties are always read-only. Trying to make them editable throws an exception.
| Nested Class Summary | |
|---|---|
protected class |
GeneratedPropertyContainer.GeneratedItemAddEvent
|
protected class |
GeneratedPropertyContainer.GeneratedItemAddOrRemoveEvent
Base implementation for item add or remove events. |
protected class |
GeneratedPropertyContainer.GeneratedItemRemoveEvent
|
protected static class |
GeneratedPropertyContainer.GeneratedProperty<T>
Property implementation for generated properties |
protected class |
GeneratedPropertyContainer.GeneratedPropertyItem
Item implementation for generated properties. |
| Nested classes/interfaces inherited from class com.vaadin.data.util.AbstractContainer |
|---|
AbstractContainer.BaseItemSetChangeEvent, AbstractContainer.BasePropertySetChangeEvent |
| Nested classes/interfaces inherited from interface com.vaadin.data.Container.Indexed |
|---|
Container.Indexed.ItemAddEvent, Container.Indexed.ItemRemoveEvent |
| Nested classes/interfaces inherited from interface com.vaadin.data.Container |
|---|
Container.Editor, Container.Filter, Container.Filterable, Container.Hierarchical, Container.Indexed, Container.ItemSetChangeEvent, Container.ItemSetChangeListener, Container.ItemSetChangeNotifier, Container.Ordered, Container.PropertySetChangeEvent, Container.PropertySetChangeListener, Container.PropertySetChangeNotifier, Container.SimpleFilterable, Container.Sortable, Container.Viewer |
| Constructor Summary | |
|---|---|
GeneratedPropertyContainer(Container.Indexed container)
Constructor for GeneratedPropertyContainer. |
|
| Method Summary | |
|---|---|
void |
addContainerFilter(Container.Filter filter)
Adds a filter for the container. |
boolean |
addContainerProperty(java.lang.Object propertyId,
java.lang.Class<?> type,
java.lang.Object defaultValue)
Adds a previously removed property back to GeneratedPropertyContainer. |
void |
addGeneratedProperty(java.lang.Object propertyId,
PropertyValueGenerator<?> generator)
Add a new PropertyValueGenerator with given property id. |
java.lang.Object |
addItem()
Creates a new Item into the Container, and assign it an automatic ID. |
Item |
addItem(java.lang.Object itemId)
Creates a new Item with the given ID in the Container. |
java.lang.Object |
addItemAfter(java.lang.Object previousItemId)
Adds a new item after the given item. |
Item |
addItemAfter(java.lang.Object previousItemId,
java.lang.Object newItemId)
Adds a new item after the given item. |
java.lang.Object |
addItemAt(int index)
Adds a new item at given index (in the filtered view). |
Item |
addItemAt(int index,
java.lang.Object newItemId)
Adds a new item at given index (in the filtered view). |
void |
addItemSetChangeListener(Container.ItemSetChangeListener listener)
Implementation of the corresponding method in ItemSetChangeNotifier, override with the corresponding public
method and implement the interface to use this. |
void |
addListener(Container.ItemSetChangeListener listener)
|
void |
addListener(Container.PropertySetChangeListener listener)
|
void |
addPropertySetChangeListener(Container.PropertySetChangeListener listener)
Implementation of the corresponding method in PropertySetChangeNotifier, override with the corresponding public
method and implement the interface to use this. |
boolean |
containsId(java.lang.Object itemId)
Tests if the Container contains the specified Item. |
java.lang.Object |
firstItemId()
Gets the ID of the first Item in the Container. |
java.util.Collection<Container.Filter> |
getContainerFilters()
Returns the filters which have been applied to the container |
Property<?> |
getContainerProperty(java.lang.Object itemId,
java.lang.Object propertyId)
Gets the Property identified by the given itemId and propertyId from the Container. |
java.util.Collection<?> |
getContainerPropertyIds()
Returns a list of propety ids available in this container. |
java.lang.Object |
getIdByIndex(int index)
Get the item id for the item at the position given by index. |
Item |
getItem(java.lang.Object itemId)
Gets the Item with the given Item ID from the Container. |
java.util.Collection<?> |
getItemIds()
Gets the ID's of all visible (after filtering and sorting) Items stored in the Container. |
java.util.List<?> |
getItemIds(int startIndex,
int numberOfItems)
Get numberOfItems consecutive item ids from the
container, starting with the item id at startIndex. |
java.util.Collection<?> |
getSortableContainerPropertyIds()
Gets the container property IDs which can be used to sort the items. |
java.lang.Class<?> |
getType(java.lang.Object propertyId)
Gets the data type of all Properties identified by the given Property ID. |
Container.Indexed |
getWrappedContainer()
Returns the original underlying container. |
int |
indexOfId(java.lang.Object itemId)
Gets the index of the Item corresponding to the itemId. |
boolean |
isFirstId(java.lang.Object itemId)
Tests if the Item corresponding to the given Item ID is the first Item in the Container. |
boolean |
isLastId(java.lang.Object itemId)
Tests if the Item corresponding to the given Item ID is the last Item in the Container. |
java.lang.Object |
lastItemId()
Gets the ID of the last Item in the Container.. |
java.lang.Object |
nextItemId(java.lang.Object itemId)
Gets the ID of the Item following the Item that corresponds to itemId. |
java.lang.Object |
prevItemId(java.lang.Object itemId)
Gets the ID of the Item preceding the Item that corresponds to itemId. |
void |
removeAllContainerFilters()
Remove all active filters from the container. |
boolean |
removeAllItems()
Removes all Items from the Container. |
void |
removeContainerFilter(Container.Filter filter)
Removes a filter from the container. |
boolean |
removeContainerProperty(java.lang.Object propertyId)
Marks the given property as hidden. |
void |
removeGeneratedProperty(java.lang.Object propertyId)
Removes any possible PropertyValueGenerator with given property id. |
boolean |
removeItem(java.lang.Object itemId)
Removes the Item identified by ItemId from the Container. |
void |
removeItemSetChangeListener(Container.ItemSetChangeListener listener)
Implementation of the corresponding method in ItemSetChangeNotifier, override with the corresponding public
method and implement the interface to use this. |
void |
removeListener(Container.ItemSetChangeListener listener)
|
void |
removeListener(Container.PropertySetChangeListener listener)
|
void |
removePropertySetChangeListener(Container.PropertySetChangeListener listener)
Implementation of the corresponding method in PropertySetChangeNotifier, override with the corresponding public
method and implement the interface to use this. |
int |
size()
Gets the number of visible Items in the Container. |
void |
sort(java.lang.Object[] propertyId,
boolean[] ascending)
Sorts the container items. |
| Methods inherited from class com.vaadin.data.util.AbstractContainer |
|---|
fireContainerPropertySetChange, fireContainerPropertySetChange, fireItemSetChange, fireItemSetChange, getItemSetChangeListeners, getListeners, getPropertySetChangeListeners, setItemSetChangeListeners, setPropertySetChangeListeners |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public GeneratedPropertyContainer(Container.Indexed container)
container - underlying indexed container| Method Detail |
|---|
public void addGeneratedProperty(java.lang.Object propertyId,
PropertyValueGenerator<?> generator)
propertyId - property idgenerator - a property value generatorpublic void removeGeneratedProperty(java.lang.Object propertyId)
propertyId - property idpublic void addItemSetChangeListener(Container.ItemSetChangeListener listener)
AbstractContainerItemSetChangeNotifier, override with the corresponding public
method and implement the interface to use this.
addItemSetChangeListener in interface Container.ItemSetChangeNotifieraddItemSetChangeListener in class AbstractContainerlistener - listener to be addedItemSetChangeNotifier#addListener(com.vaadin.data.Container.ItemSetChangeListener)public void addListener(Container.ItemSetChangeListener listener)
addListener in interface Container.ItemSetChangeNotifieraddListener in class AbstractContainerpublic void removeItemSetChangeListener(Container.ItemSetChangeListener listener)
AbstractContainerItemSetChangeNotifier, override with the corresponding public
method and implement the interface to use this.
removeItemSetChangeListener in interface Container.ItemSetChangeNotifierremoveItemSetChangeListener in class AbstractContainerlistener - listener to be removedItemSetChangeNotifier#removeListener(com.vaadin.data.Container.ItemSetChangeListener)public void removeListener(Container.ItemSetChangeListener listener)
removeListener in interface Container.ItemSetChangeNotifierremoveListener in class AbstractContainerpublic void addPropertySetChangeListener(Container.PropertySetChangeListener listener)
AbstractContainerPropertySetChangeNotifier, override with the corresponding public
method and implement the interface to use this.
addPropertySetChangeListener in interface Container.PropertySetChangeNotifieraddPropertySetChangeListener in class AbstractContainerlistener - The new Listener to be registeredPropertySetChangeNotifier#addListener(com.vaadin.data.Container.PropertySetChangeListener)public void addListener(Container.PropertySetChangeListener listener)
addListener in interface Container.PropertySetChangeNotifieraddListener in class AbstractContainerpublic void removePropertySetChangeListener(Container.PropertySetChangeListener listener)
AbstractContainerPropertySetChangeNotifier, override with the corresponding public
method and implement the interface to use this.
removePropertySetChangeListener in interface Container.PropertySetChangeNotifierremovePropertySetChangeListener in class AbstractContainerlistener - Listener to be removedPropertySetChangeNotifier#removeListener(com.vaadin.data.Container.
PropertySetChangeListener)public void removeListener(Container.PropertySetChangeListener listener)
removeListener in interface Container.PropertySetChangeNotifierremoveListener in class AbstractContainer
public void addContainerFilter(Container.Filter filter)
throws UnsupportedFilterException
Container.FilterableIf a container has multiple filters, only items accepted by all filters are visible.
addContainerFilter in interface Container.FilterableUnsupportedFilterException - if the filter is not supported by the containerpublic void removeContainerFilter(Container.Filter filter)
Container.FilterableThis requires that the equals() method considers the filters as equivalent (same instance or properly implemented equals() method).
removeContainerFilter in interface Container.Filterablepublic void removeAllContainerFilters()
Container.Filterable
removeAllContainerFilters in interface Container.Filterablepublic java.util.Collection<Container.Filter> getContainerFilters()
Container.Filterable
getContainerFilters in interface Container.Filterable
public void sort(java.lang.Object[] propertyId,
boolean[] ascending)
Container.SortableSorting a container can irreversibly change the order of its items or only change the order temporarily, depending on the container.
sort in interface Container.SortablepropertyId - Array of container property IDs, whose values are used to
sort the items in container as primary, secondary, ...
sorting criterion. All of the item IDs must be in the
collection returned by
Container.Sortable.getSortableContainerPropertyIds()ascending - Array of sorting order flags corresponding to each
property ID used in sorting. If this array is shorter than
propertyId array, ascending order is assumed for items
where the order is not specified. Use true to
sort in ascending order, false to use
descending order.public java.util.Collection<?> getSortableContainerPropertyIds()
Container.Sortable
getSortableContainerPropertyIds in interface Container.Sortable
public Item addItemAfter(java.lang.Object previousItemId,
java.lang.Object newItemId)
throws java.lang.UnsupportedOperationException
Container.OrderedAdding an item after null item adds the item as first item of the ordered container.
addItemAfter in interface Container.OrderedpreviousItemId - Id of the visible item in ordered container after which to
insert the new item.newItemId - Id of the new item to be added.
java.lang.UnsupportedOperationException - if the operation is not supported by the containerOrdered: adding items in filtered or sorted containers
public Item addItem(java.lang.Object itemId)
throws java.lang.UnsupportedOperationException
Container
The new Item is returned, and it is ready to have its Properties
modified. Returns null if the operation fails or the
Container already contains a Item with the given ID.
This functionality is optional.
addItem in interface ContaineritemId - ID of the Item to be created
null in case of a failure
java.lang.UnsupportedOperationException - if adding an item with an explicit item ID is not supported
by the container
public Item addItemAt(int index,
java.lang.Object newItemId)
throws java.lang.UnsupportedOperationException
Container.IndexedThe indexes of the item currently in the given position and all the following items are incremented.
This method should apply filters to the added item after inserting
it, possibly hiding it immediately. If the container is being sorted,
the item may be added at the correct sorted position instead of the
given position. See Container.Indexed, Container.SimpleFilterable and
Container.Sortable for more information.
addItemAt in interface Container.Indexedindex - Index (in the filtered and sorted view) at which to add
the new item.newItemId - Id of the new item to be added.
Item or null if the operation fails.
java.lang.UnsupportedOperationException - if the operation is not supported by the containerpublic Item getItem(java.lang.Object itemId)
ContainerItem with the given Item ID from the Container. If the
Container does not contain the requested Item, null is
returned.
Containers should not return Items that are filtered out.
getItem in interface ContaineritemId - ID of the Item to retrieve
Item with the given ID or null if the
Item is not found in the Container
public Property<?> getContainerProperty(java.lang.Object itemId,
java.lang.Object propertyId)
Containernull is
returned.
getContainerProperty in interface ContaineritemId - ID of the visible Item which contains the PropertypropertyId - ID of the Property to retrieve
nullpublic java.util.Collection<?> getContainerPropertyIds()
getContainerPropertyIds in interface Container
public boolean addContainerProperty(java.lang.Object propertyId,
java.lang.Class<?> type,
java.lang.Object defaultValue)
throws java.lang.UnsupportedOperationException
addContainerProperty in interface ContainerpropertyId - ID of the Propertytype - Data type of the new PropertydefaultValue - The value all created Properties are initialized to
true if the operation succeeded, false
if not
java.lang.UnsupportedOperationException - if the container does not support explicitly adding container
properties
public boolean removeContainerProperty(java.lang.Object propertyId)
throws java.lang.UnsupportedOperationException
getContainerPropertyIds() and is no longer
be available in Items retrieved from this container.
removeContainerProperty in interface ContainerpropertyId - ID of the Property to remove
true if the operation succeeded, false
if not
java.lang.UnsupportedOperationException - if the container does not support removing container
propertiespublic java.lang.Class<?> getType(java.lang.Object propertyId)
Container
getType in interface ContainerpropertyId - ID identifying the Properties
public java.lang.Object nextItemId(java.lang.Object itemId)
Container.OrdereditemId. If the given Item is the last or not found in
the Container, null is returned.
nextItemId in interface Container.OrdereditemId - ID of a visible Item in the Container
nullpublic java.lang.Object prevItemId(java.lang.Object itemId)
Container.OrdereditemId. If the given Item is the first or not found in
the Container, null is returned.
prevItemId in interface Container.OrdereditemId - ID of a visible Item in the Container
nullpublic java.lang.Object firstItemId()
Container.Ordered
firstItemId in interface Container.Orderedpublic java.lang.Object lastItemId()
Container.Ordered
lastItemId in interface Container.Orderedpublic boolean isFirstId(java.lang.Object itemId)
Container.Ordered
isFirstId in interface Container.OrdereditemId - ID of an Item in the Container
true if the Item is first visible item in the
Container, false if notpublic boolean isLastId(java.lang.Object itemId)
Container.Ordered
isLastId in interface Container.Orderedtrue if the Item is last visible item in the
Container, false if not
public java.lang.Object addItemAfter(java.lang.Object previousItemId)
throws java.lang.UnsupportedOperationException
Container.OrderedAdding an item after null item adds the item as first item of the ordered container.
addItemAfter in interface Container.OrderedpreviousItemId - Id of the visible item in ordered container after which to
insert the new item.
java.lang.UnsupportedOperationException - if the operation is not supported by the containerOrdered: adding items in filtered or sorted containerspublic java.util.Collection<?> getItemIds()
Container
If the container is Container.Ordered, the collection returned by this
method should follow that order. If the container is Container.Sortable,
the items should be in the sorted order.
Calling this method for large lazy containers can be an expensive operation and should be avoided when practical.
getItemIds in interface Containerpublic int size()
ContainerFiltering can hide items so that they will not be visible through the container API.
size in interface Containerpublic boolean containsId(java.lang.Object itemId)
ContainerFiltering can hide items so that they will not be visible through the container API, and this method should respect visibility of items (i.e. only indicate visible items as being in the container) if feasible for the container.
containsId in interface ContaineritemId - ID the of Item to be tested
public java.lang.Object addItem()
throws java.lang.UnsupportedOperationException
Container
The new ID is returned, or null if the operation fails.
After a successful call you can use the method to fetch the Item.
getItem
This functionality is optional.
addItem in interface Containernull in case of a
failure
java.lang.UnsupportedOperationException - if adding an item without an explicit item ID is not
supported by the container
public boolean removeItem(java.lang.Object itemId)
throws java.lang.UnsupportedOperationException
ContainerItemId from the Container.
Containers that support filtering should also allow removing an item that is currently filtered out.
This functionality is optional.
removeItem in interface ContaineritemId - ID of the Item to remove
true if the operation succeeded, false
if not
java.lang.UnsupportedOperationException - if the container does not support removing individual items
public boolean removeAllItems()
throws java.lang.UnsupportedOperationException
ContainerNote that Property ID and type information is preserved. This functionality is optional.
removeAllItems in interface Containertrue if the operation succeeded, false
if not
java.lang.UnsupportedOperationException - if the container does not support removing all itemspublic int indexOfId(java.lang.Object itemId)
Container.Indexedtrue for the returned index: 0 <= index < size(), or
index = -1 if there is no visible item with that id in the container.
indexOfId in interface Container.IndexeditemId - ID of an Item in the Container
public java.lang.Object getIdByIndex(int index)
Container.Indexedindex.
getIdByIndex in interface Container.Indexedindex - the index of the requested item id
public java.util.List<?> getItemIds(int startIndex,
int numberOfItems)
Container.IndexednumberOfItems consecutive item ids from the
container, starting with the item id at startIndex.
Implementations should return at most numberOfItems item
ids, but can contain less if the container has less items than
required to fulfill the request. The returned list must hence contain
all of the item ids from the range:
startIndex to
max(startIndex + (numberOfItems-1), container.size()-1).
For quick migration to new API see:
ContainerHelpers#getItemIdsUsingGetIdByIndex(int, int, Indexed)
getItemIds in interface Container.IndexedstartIndex - the index for the first item which id to includenumberOfItems - the number of consecutive item ids to get from the given
start index, must be >= 0
numberOfItems == 0; not null
public java.lang.Object addItemAt(int index)
throws java.lang.UnsupportedOperationException
Container.IndexedThe indices of the item currently in the given position and all the following items are incremented.
This method should apply filters to the added item after inserting
it, possibly hiding it immediately. If the container is being sorted,
the item may be added at the correct sorted position instead of the
given position. See Container.Indexed, Container.Ordered,
Container.SimpleFilterable and Container.Sortable for more information.
addItemAt in interface Container.Indexedindex - Index (in the filtered and sorted view) to add the new
item.
java.lang.UnsupportedOperationException - if the operation is not supported by the containerpublic Container.Indexed getWrappedContainer()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||