Class ContainerOrderedWrapper
- java.lang.Object
-
- com.vaadin.data.util.ContainerOrderedWrapper
-
- All Implemented Interfaces:
Container,Container.ItemSetChangeNotifier,Container.Ordered,Container.PropertySetChangeNotifier,Serializable
- Direct Known Subclasses:
HierarchicalContainerOrderedWrapper
public class ContainerOrderedWrapper extends Object implements Container.Ordered, Container.ItemSetChangeNotifier, Container.PropertySetChangeNotifier
A wrapper class for adding external ordering to containers not implementing the
Container.Orderedinterface.If the wrapped container is changed directly (that is, not through the wrapper), and does not implement Container.ItemSetChangeNotifier and/or Container.PropertySetChangeNotifier the hierarchy information must be updated with the
updateOrderWrapper()method.- Since:
- 3.0
- Author:
- Vaadin Ltd.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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
Constructors Constructor Description ContainerOrderedWrapper(Container toBeWrapped)Constructs a new ordered wrapper for an existing Container.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleanaddContainerProperty(Object propertyId, Class<?> type, Object defaultValue)Registers a new Property to all Items in the Container.ObjectaddItem()Creates a new Item into the Container, assigns it an automatic ID, and adds it to the ordering.ItemaddItem(Object itemId)Registers a new Item by its ID to the underlying container and to the ordering.ObjectaddItemAfter(Object previousItemId)Adds a new item after the given item.ItemaddItemAfter(Object previousItemId, Object newItemId)Adds a new item after the given item.voidaddItemSetChangeListener(Container.ItemSetChangeListener listener)Adds an Item set change listener for the object.voidaddListener(Container.ItemSetChangeListener listener)Deprecated.As of 7.0, replaced byaddItemSetChangeListener(Container.ItemSetChangeListener)voidaddListener(Container.PropertySetChangeListener listener)Deprecated.As of 7.0, replaced byaddPropertySetChangeListener(Container.PropertySetChangeListener)voidaddPropertySetChangeListener(Container.PropertySetChangeListener listener)Registers a new Property set change listener for this Container.booleancontainsId(Object itemId)Tests if the Container contains the specified Item.ObjectfirstItemId()Gets the ID of the first Item in the Container.PropertygetContainerProperty(Object itemId, Object propertyId)Gets the Property identified by the given itemId and propertyId from the Container.Collection<?>getContainerPropertyIds()Gets the ID's of all Properties stored in the Container.ItemgetItem(Object itemId)Gets theItemwith the given Item ID from the Container.Collection<?>getItemIds()Gets the ID's of all visible (after filtering and sorting) Items stored in the Container.Class<?>getType(Object propertyId)Gets the data type of all Properties identified by the given Property ID.booleanisFirstId(Object itemId)Tests if the Item corresponding to the given Item ID is the first Item in the Container.booleanisLastId(Object itemId)Tests if the Item corresponding to the given Item ID is the last Item in the Container.ObjectlastItemId()Gets the ID of the last Item in the Container..ObjectnextItemId(Object itemId)Gets the ID of the Item following the Item that corresponds toitemId.ObjectprevItemId(Object itemId)Gets the ID of the Item preceding the Item that corresponds toitemId.booleanremoveAllItems()Removes all items from the underlying container and from the ordering.booleanremoveContainerProperty(Object propertyId)Removes the specified Property from the underlying container and from the ordering.booleanremoveItem(Object itemId)Removes an Item specified by the itemId from the underlying container and from the ordering.voidremoveItemSetChangeListener(Container.ItemSetChangeListener listener)Removes the Item set change listener from the object.voidremoveListener(Container.ItemSetChangeListener listener)Deprecated.As of 7.0, replaced byremoveItemSetChangeListener(Container.ItemSetChangeListener)voidremoveListener(Container.PropertySetChangeListener listener)Deprecated.As of 7.0, replaced byremovePropertySetChangeListener(Container.PropertySetChangeListener)voidremovePropertySetChangeListener(Container.PropertySetChangeListener listener)Removes a previously registered Property set change listener.intsize()Gets the number of visible Items in the Container.voidupdateOrderWrapper()Updates the wrapper's internal ordering information to include all Items in the underlying container.
-
-
-
Constructor Detail
-
ContainerOrderedWrapper
public ContainerOrderedWrapper(Container toBeWrapped)
Constructs a new ordered wrapper for an existing Container. Works even if the to-be-wrapped container already implements the Container.Ordered interface.- Parameters:
toBeWrapped- the container whose contents need to be ordered.
-
-
Method Detail
-
updateOrderWrapper
public void updateOrderWrapper()
Updates the wrapper's internal ordering information to include all Items in the underlying container.Note : If the contents of the wrapped container change without the wrapper's knowledge, this method needs to be called to update the ordering information of the Items.
-
firstItemId
public Object firstItemId()
Description copied from interface:Container.OrderedGets the ID of the first Item in the Container.- Specified by:
firstItemIdin interfaceContainer.Ordered- Returns:
- ID of the first visible Item in the Container
-
isFirstId
public boolean isFirstId(Object itemId)
Description copied from interface:Container.OrderedTests if the Item corresponding to the given Item ID is the first Item in the Container.- Specified by:
isFirstIdin interfaceContainer.Ordered- Parameters:
itemId- ID of an Item in the Container- Returns:
trueif the Item is first visible item in the Container,falseif not
-
isLastId
public boolean isLastId(Object itemId)
Description copied from interface:Container.OrderedTests if the Item corresponding to the given Item ID is the last Item in the Container.- Specified by:
isLastIdin interfaceContainer.Ordered- Returns:
trueif the Item is last visible item in the Container,falseif not
-
lastItemId
public Object lastItemId()
Description copied from interface:Container.OrderedGets the ID of the last Item in the Container..- Specified by:
lastItemIdin interfaceContainer.Ordered- Returns:
- ID of the last visible Item in the Container
-
nextItemId
public Object nextItemId(Object itemId)
Description copied from interface:Container.OrderedGets the ID of the Item following the Item that corresponds toitemId. If the given Item is the last or not found in the Container,nullis returned.- Specified by:
nextItemIdin interfaceContainer.Ordered- Parameters:
itemId- ID of a visible Item in the Container- Returns:
- ID of the next visible Item or
null
-
prevItemId
public Object prevItemId(Object itemId)
Description copied from interface:Container.OrderedGets the ID of the Item preceding the Item that corresponds toitemId. If the given Item is the first or not found in the Container,nullis returned.- Specified by:
prevItemIdin interfaceContainer.Ordered- Parameters:
itemId- ID of a visible Item in the Container- Returns:
- ID of the previous visible Item or
null
-
addContainerProperty
public boolean addContainerProperty(Object propertyId, Class<?> type, Object defaultValue) throws UnsupportedOperationException
Registers a new Property to all Items in the Container.- Specified by:
addContainerPropertyin interfaceContainer- Parameters:
propertyId- the ID of the new Property.type- the Data type of the new Property.defaultValue- the value all created Properties are initialized to.- Returns:
trueif the operation succeeded,falseif not- Throws:
UnsupportedOperationException- if the container does not support explicitly adding container properties
-
addItem
public Object addItem() throws UnsupportedOperationException
Creates a new Item into the Container, assigns it an automatic ID, and adds it to the ordering.- Specified by:
addItemin interfaceContainer- Returns:
- the autogenerated ID of the new Item or
nullif the operation failed - Throws:
UnsupportedOperationException- if the addItem is not supported.
-
addItem
public Item addItem(Object itemId) throws UnsupportedOperationException
Registers a new Item by its ID to the underlying container and to the ordering.- Specified by:
addItemin interfaceContainer- Parameters:
itemId- the ID of the Item to be created.- Returns:
- the added Item or
nullif the operation failed - Throws:
UnsupportedOperationException- if the addItem is not supported.
-
removeAllItems
public boolean removeAllItems() throws UnsupportedOperationExceptionRemoves all items from the underlying container and from the ordering.- Specified by:
removeAllItemsin interfaceContainer- Returns:
trueif the operation succeeded, otherwisefalse- Throws:
UnsupportedOperationException- if the removeAllItems is not supported.
-
removeItem
public boolean removeItem(Object itemId) throws UnsupportedOperationException
Removes an Item specified by the itemId from the underlying container and from the ordering.- Specified by:
removeItemin interfaceContainer- Parameters:
itemId- the ID of the Item to be removed.- Returns:
trueif the operation succeeded,falseif not- Throws:
UnsupportedOperationException- if the removeItem is not supported.
-
removeContainerProperty
public boolean removeContainerProperty(Object propertyId) throws UnsupportedOperationException
Removes the specified Property from the underlying container and from the ordering.Note : The Property will be removed from all the Items in the Container.
- Specified by:
removeContainerPropertyin interfaceContainer- Parameters:
propertyId- the ID of the Property to remove.- Returns:
trueif the operation succeeded,falseif not- Throws:
UnsupportedOperationException- if the removeContainerProperty is not supported.
-
containsId
public boolean containsId(Object itemId)
Description copied from interface:ContainerTests if the Container contains the specified Item.Filtering 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.
- Specified by:
containsIdin interfaceContainer- Parameters:
itemId- ID the of Item to be tested- Returns:
- boolean indicating if the Container holds the specified Item
-
getItem
public Item getItem(Object itemId)
Description copied from interface:ContainerGets theItemwith the given Item ID from the Container. If the Container does not contain the requested Item,nullis returned.Containers should not return Items that are filtered out.
-
getItemIds
public Collection<?> getItemIds()
Description copied from interface:ContainerGets the ID's of all visible (after filtering and sorting) Items stored in the Container. The ID's cannot be modified through the returned collection.If the container is
Container.Ordered, the collection returned by this method should follow that order. If the container isContainer.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.
- Specified by:
getItemIdsin interfaceContainer- Returns:
- unmodifiable collection of Item IDs
-
getContainerProperty
public Property getContainerProperty(Object itemId, Object propertyId)
Description copied from interface:ContainerGets the Property identified by the given itemId and propertyId from the Container. If the Container does not contain the item or it is filtered out, or the Container does not have the Property,nullis returned.- Specified by:
getContainerPropertyin interfaceContainer- Parameters:
itemId- ID of the visible Item which contains the PropertypropertyId- ID of the Property to retrieve- Returns:
- Property with the given ID or
null
-
getContainerPropertyIds
public Collection<?> getContainerPropertyIds()
Description copied from interface:ContainerGets the ID's of all Properties stored in the Container. The ID's cannot be modified through the returned collection.- Specified by:
getContainerPropertyIdsin interfaceContainer- Returns:
- unmodifiable collection of Property IDs
-
getType
public Class<?> getType(Object propertyId)
Description copied from interface:ContainerGets the data type of all Properties identified by the given Property ID.
-
size
public int size()
Description copied from interface:ContainerGets the number of visible Items in the Container.Filtering can hide items so that they will not be visible through the container API.
-
addItemSetChangeListener
public void addItemSetChangeListener(Container.ItemSetChangeListener listener)
Description copied from interface:Container.ItemSetChangeNotifierAdds an Item set change listener for the object.- Specified by:
addItemSetChangeListenerin interfaceContainer.ItemSetChangeNotifier- Parameters:
listener- listener to be added
-
addListener
@Deprecated public void addListener(Container.ItemSetChangeListener listener)
Deprecated.As of 7.0, replaced byaddItemSetChangeListener(Container.ItemSetChangeListener)- Specified by:
addListenerin interfaceContainer.ItemSetChangeNotifier
-
removeItemSetChangeListener
public void removeItemSetChangeListener(Container.ItemSetChangeListener listener)
Description copied from interface:Container.ItemSetChangeNotifierRemoves the Item set change listener from the object.- Specified by:
removeItemSetChangeListenerin interfaceContainer.ItemSetChangeNotifier- Parameters:
listener- listener to be removed
-
removeListener
@Deprecated public void removeListener(Container.ItemSetChangeListener listener)
Deprecated.As of 7.0, replaced byremoveItemSetChangeListener(Container.ItemSetChangeListener)- Specified by:
removeListenerin interfaceContainer.ItemSetChangeNotifier
-
addPropertySetChangeListener
public void addPropertySetChangeListener(Container.PropertySetChangeListener listener)
Description copied from interface:Container.PropertySetChangeNotifierRegisters a new Property set change listener for this Container.- Specified by:
addPropertySetChangeListenerin interfaceContainer.PropertySetChangeNotifier- Parameters:
listener- The new Listener to be registered
-
addListener
@Deprecated public void addListener(Container.PropertySetChangeListener listener)
Deprecated.As of 7.0, replaced byaddPropertySetChangeListener(Container.PropertySetChangeListener)- Specified by:
addListenerin interfaceContainer.PropertySetChangeNotifier
-
removePropertySetChangeListener
public void removePropertySetChangeListener(Container.PropertySetChangeListener listener)
Description copied from interface:Container.PropertySetChangeNotifierRemoves a previously registered Property set change listener.- Specified by:
removePropertySetChangeListenerin interfaceContainer.PropertySetChangeNotifier- Parameters:
listener- Listener to be removed
-
removeListener
@Deprecated public void removeListener(Container.PropertySetChangeListener listener)
Deprecated.As of 7.0, replaced byremovePropertySetChangeListener(Container.PropertySetChangeListener)- Specified by:
removeListenerin interfaceContainer.PropertySetChangeNotifier
-
addItemAfter
public Item addItemAfter(Object previousItemId, Object newItemId) throws UnsupportedOperationException
Description copied from interface:Container.OrderedAdds a new item after the given item.Adding an item after null item adds the item as first item of the ordered container.
- Specified by:
addItemAfterin interfaceContainer.Ordered- Parameters:
previousItemId- Id of the visible item in ordered container after which to insert the new item.newItemId- Id of the new item to be added.- Returns:
- new item or null if the operation fails.
- Throws:
UnsupportedOperationException- if the operation is not supported by the container- See Also:
Ordered: adding items in filtered or sorted containers
-
addItemAfter
public Object addItemAfter(Object previousItemId) throws UnsupportedOperationException
Description copied from interface:Container.OrderedAdds a new item after the given item.Adding an item after null item adds the item as first item of the ordered container.
- Specified by:
addItemAfterin interfaceContainer.Ordered- Parameters:
previousItemId- Id of the visible item in ordered container after which to insert the new item.- Returns:
- item id the the created new item or null if the operation fails.
- Throws:
UnsupportedOperationException- if the operation is not supported by the container- See Also:
Ordered: adding items in filtered or sorted containers
-
-