com.vaadin.data.util
Class HierarchicalContainerOrderedWrapper

java.lang.Object
  extended by com.vaadin.data.util.ContainerOrderedWrapper
      extended by com.vaadin.data.util.HierarchicalContainerOrderedWrapper
All Implemented Interfaces:
Container, Container.Hierarchical, Container.ItemSetChangeNotifier, Container.Ordered, Container.PropertySetChangeNotifier, Serializable

public class HierarchicalContainerOrderedWrapper
extends ContainerOrderedWrapper
implements Container.Hierarchical

A wrapper class for adding external ordering to containers not implementing the Container.Ordered interface while retaining Container.Hierarchical features.

See Also:
ContainerOrderedWrapper, 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
HierarchicalContainerOrderedWrapper(Container.Hierarchical toBeWrapped)
           
 
Method Summary
 boolean areChildrenAllowed(Object itemId)
          Tests if the Item with given ID can have children.
 Collection<?> getChildren(Object itemId)
          Gets the IDs of all Items that are children of the specified Item.
 Object getParent(Object itemId)
          Gets the ID of the parent Item of the specified Item.
 boolean hasChildren(Object itemId)
           Tests if the Item specified with itemId has child Items or if it is a leaf.
 boolean isRoot(Object itemId)
          Tests if the Item specified with itemId is a root Item.
 Collection<?> rootItemIds()
          Gets the IDs of all Items in the container that don't have a parent.
 boolean setChildrenAllowed(Object itemId, boolean areChildrenAllowed)
           Sets the given Item's capability to have children.
 boolean setParent(Object itemId, Object newParentId)
           Sets the parent of an Item.
 
Methods inherited from class com.vaadin.data.util.ContainerOrderedWrapper
addContainerProperty, addItem, addItem, addItemAfter, addItemAfter, addListener, addListener, containsId, firstItemId, getContainerProperty, getContainerPropertyIds, getItem, getItemIds, getType, isFirstId, isLastId, lastItemId, nextItemId, prevItemId, removeAllItems, removeContainerProperty, removeItem, removeListener, removeListener, size, updateOrderWrapper
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.vaadin.data.Container.Hierarchical
removeItem
 
Methods inherited from interface com.vaadin.data.Container
addContainerProperty, addItem, addItem, containsId, getContainerProperty, getContainerPropertyIds, getItem, getItemIds, getType, removeAllItems, removeContainerProperty, size
 

Constructor Detail

HierarchicalContainerOrderedWrapper

public HierarchicalContainerOrderedWrapper(Container.Hierarchical toBeWrapped)
Method Detail

areChildrenAllowed

public boolean areChildrenAllowed(Object itemId)
Description copied from interface: Container.Hierarchical
Tests if the Item with given ID can have children.

Specified by:
areChildrenAllowed in interface Container.Hierarchical
Parameters:
itemId - ID of the Item in the container whose child capability is to be tested
Returns:
true if the specified Item exists in the Container and it can have children, false if it's not found from the container or it can't have children.

getChildren

public Collection<?> getChildren(Object itemId)
Description copied from interface: Container.Hierarchical
Gets the IDs of all Items that are children of the specified Item. The returned collection is unmodifiable.

Specified by:
getChildren in interface Container.Hierarchical
Parameters:
itemId - ID of the Item whose children the caller is interested in
Returns:
An unmodifiable collection containing the IDs of all other Items that are children in the container hierarchy

getParent

public Object getParent(Object itemId)
Description copied from interface: Container.Hierarchical
Gets the ID of the parent Item of the specified Item.

Specified by:
getParent in interface Container.Hierarchical
Parameters:
itemId - ID of the Item whose parent the caller wishes to find out.
Returns:
the ID of the parent Item. Will be null if the specified Item is a root element.

hasChildren

public boolean hasChildren(Object itemId)
Description copied from interface: Container.Hierarchical

Tests if the Item specified with itemId has child Items or if it is a leaf. The Container.Hierarchical.getChildren(Object itemId) method always returns null for leaf Items.

Note that being a leaf does not imply whether or not an Item is allowed to have children.

.

Specified by:
hasChildren in interface Container.Hierarchical
Parameters:
itemId - ID of the Item to be tested
Returns:
true if the specified Item has children, false if not (is a leaf)

isRoot

public boolean isRoot(Object itemId)
Description copied from interface: Container.Hierarchical
Tests if the Item specified with itemId is a root Item. The hierarchical container can have more than one root and must have at least one unless it is empty. The Container.Hierarchical.getParent(Object itemId) method always returns null for root Items.

Specified by:
isRoot in interface Container.Hierarchical
Parameters:
itemId - ID of the Item whose root status is to be tested
Returns:
true if the specified Item is a root, false if not

rootItemIds

public Collection<?> rootItemIds()
Description copied from interface: Container.Hierarchical
Gets the IDs of all Items in the container that don't have a parent. Such items are called root Items. The returned collection is unmodifiable.

Specified by:
rootItemIds in interface Container.Hierarchical
Returns:
An unmodifiable collection containing IDs of all root elements of the container

setChildrenAllowed

public boolean setChildrenAllowed(Object itemId,
                                  boolean areChildrenAllowed)
                           throws UnsupportedOperationException
Description copied from interface: Container.Hierarchical

Sets the given Item's capability to have children. If the Item identified with itemId already has children and Container.Hierarchical.areChildrenAllowed(Object) is false this method fails and false is returned.

The children must be first explicitly removed with Container.Hierarchical.setParent(Object itemId, Object newParentId)or Container.removeItem(Object itemId).

This operation is optional. If it is not implemented, the method always returns false.

Specified by:
setChildrenAllowed in interface Container.Hierarchical
Parameters:
itemId - ID of the Item in the container whose child capability is to be set
areChildrenAllowed - boolean value specifying if the Item can have children or not
Returns:
true if the operation succeeded, false if not
Throws:
UnsupportedOperationException

setParent

public boolean setParent(Object itemId,
                         Object newParentId)
                  throws UnsupportedOperationException
Description copied from interface: Container.Hierarchical

Sets the parent of an Item. The new parent item must exist and be able to have children. ( Container.Hierarchical.areChildrenAllowed(Object) == true ). It is also possible to detach a node from the hierarchy (and thus make it root) by setting the parent null.

This operation is optional.

Specified by:
setParent in interface Container.Hierarchical
Parameters:
itemId - ID of the item to be set as the child of the Item identified with newParentId
newParentId - ID of the Item that's to be the new parent of the Item identified with itemId
Returns:
true if the operation succeeded, false if not
Throws:
UnsupportedOperationException


Copyright © 2000-2011 Vaadin Ltd. All Rights Reserved.