|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.itmill.toolkit.data.util.ContainerHierarchicalWrapper
public class ContainerHierarchicalWrapper
A wrapper class for adding external hierarchy to containers not implementing
the Container.Hierarchical interface.
If the wrapped container is changed directly (that is, not through the
wrapper), the hierarchy information must be updated with the
updateHierarchicalWrapper() method.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface com.itmill.toolkit.data.Container |
|---|
Container.Editor, Container.Hierarchical, Container.Indexed, Container.ItemSetChangeEvent, Container.ItemSetChangeListener, Container.ItemSetChangeNotifier, Container.Ordered, Container.PropertySetChangeEvent, Container.PropertySetChangeListener, Container.PropertySetChangeNotifier, Container.Sortable, Container.Viewer |
| Field Summary |
|---|
| Fields inherited from interface com.itmill.toolkit.data.Container |
|---|
NULL_ITEM_ID |
| Constructor Summary | |
|---|---|
ContainerHierarchicalWrapper(Container toBeWrapped)
Constructs a new hierarchical wrapper for an existing Container. |
|
| Method Summary | |
|---|---|
boolean |
addContainerProperty(Object propertyId,
Class type,
Object defaultValue)
Adds a new Property to all Items in the Container. |
Object |
addItem()
Creates a new Item into the Container, assigns it an automatic ID, and adds it to the hierarchy. |
Item |
addItem(Object itemId)
Adds a new Item by its ID to the underlying container and to the hierarchy. |
void |
addListener(Container.ItemSetChangeListener listener)
Adds an Item set change listener for the object. |
void |
addListener(Container.PropertySetChangeListener listener)
Registers a new Property set change listener for this Container. |
boolean |
areChildrenAllowed(Object itemId)
Tests if the Item with given ID can have any children. |
boolean |
containsId(Object itemId)
Tests if the Container contains the specified Item |
Collection |
getChildren(Object itemId)
Gets the IDs of all Items that are children of the specified Item. |
Property |
getContainerProperty(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. |
Item |
getItem(Object itemId)
Gets the Item with the given Item ID from the Container. |
Collection |
getItemIds()
Gets the ID's of all Items stored in the Container. |
Object |
getParent(Object itemId)
Gets the ID of the parent Item of the specified Item. |
Class |
getType(Object propertyId)
Gets the data type of all Properties identified by the given Property ID. |
boolean |
hasChildren(Object itemId)
Tests if the Item specified with itemId has any child
Items, that is, is it a leaf Item. |
boolean |
isRoot(Object itemId)
Tests if the Item specified with itemId is a root
Item. |
boolean |
removeAllItems()
Removes all items from the underlying container and from the hierarcy. |
boolean |
removeContainerProperty(Object propertyId)
Removes the specified Property from the underlying container and from the hierarchy. |
boolean |
removeItem(Object itemId)
Removes an Item specified by the itemId from the underlying container and from the hierarcy. |
void |
removeListener(Container.ItemSetChangeListener listener)
Removes the Item set change listener from the object. |
void |
removeListener(Container.PropertySetChangeListener listener)
Removes a previously registered Property set change listener. |
Collection |
rootItemIds()
Gets the IDs of all Items in the container that don't have a parent. |
boolean |
setChildrenAllowed(Object itemId,
boolean childrenAllowed)
Sets the given Item's capability to have children. |
boolean |
setParent(Object itemId,
Object newParentId)
Sets the parent of an Item. |
int |
size()
Gets the number of Items in the Container. |
void |
updateHierarchicalWrapper()
Updates the wrapper's internal hierarchy data to include all Items in the underlying container. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public ContainerHierarchicalWrapper(Container toBeWrapped)
Container.Hierarchical interface.
toBeWrapped - the container that needs to be accessed hierarchicallyupdateHierarchicalWrapper()| Method Detail |
|---|
public void updateHierarchicalWrapper()
public boolean areChildrenAllowed(Object itemId)
Container.HierarchicalManaged interface, the
items created with newItem can have children by
default.
areChildrenAllowed in interface Container.HierarchicalitemId - ID of the Item in the container whose child capability is
to be tested
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.public Collection getChildren(Object itemId)
Container.Hierarchical
getChildren in interface Container.HierarchicalitemId - ID of the Item whose children the caller is interested in
collection
containing the IDs of all other Items that are children in
the container hierarchypublic Object getParent(Object itemId)
Container.Hierarchical
getParent in interface Container.HierarchicalitemId - ID of the Item whose parent the caller wishes to find out.
null if the
specified Item is a root element.public boolean hasChildren(Object itemId)
Container.Hierarchical
Tests if the Item specified with itemId has any child
Items, that is, is it a leaf Item. 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.
.
hasChildren in interface Container.HierarchicalitemId - ID of the Item whose leaf status is to be tested
true if the specified Item is a leaf,
false if notpublic boolean isRoot(Object itemId)
Container.HierarchicalitemId 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.
isRoot in interface Container.HierarchicalitemId - ID of the Item whose root status is to be tested
true if the specified Item is a root,
false if notpublic Collection rootItemIds()
Container.Hierarchicalroot Items. The returned
collection is unmodifiable.
rootItemIds in interface Container.Hierarchicalcollection
containing IDs of all root elements of the container
public boolean setChildrenAllowed(Object itemId,
boolean childrenAllowed)
Sets the given Item's capability to have children. If the Item identified
with the itemId already has children and the areChildrenAllowed is false
this method fails and false is returned; the children must
be first explicitly removed with
setParent(Object itemId, Object newParentId) or
Container.removeItem(Object itemId).
setChildrenAllowed in interface Container.HierarchicalitemId - the ID of the Item in the container whose child capability is
to be set.childrenAllowed - the boolean value specifying if the Item can have children or
not.
true if the operation succeeded,
false if not
public boolean setParent(Object itemId,
Object newParentId)
Sets the parent of an Item. The new parent item must exist and be able to
have children. (canHaveChildren(newParentId) == true).
It is also possible to detach a node from the hierarchy (and thus make it
root) by setting the parent null.
setParent in interface Container.HierarchicalitemId - the ID of the item to be set as the child of the Item
identified with newParentId.newParentId - the ID of the Item that's to be the new parent of the Item
identified with itemId.
true if the operation succeeded,
false if not
public Object addItem()
throws UnsupportedOperationException
addItem in interface Containernull if
the operation failed
UnsupportedOperationException - if the addItem is not supported.
public Item addItem(Object itemId)
throws UnsupportedOperationException
addItem in interface ContaineritemId - the ID of the Item to be created.
null if the operation failed.
UnsupportedOperationException - if the addItem is not supported.
public boolean removeAllItems()
throws UnsupportedOperationException
removeAllItems in interface Containertrue if the operation succeeded,
false if not
UnsupportedOperationException - if the removeAllItems is not supported.
public boolean removeItem(Object itemId)
throws UnsupportedOperationException
removeItem in interface ContaineritemId - the ID of the Item to be removed.
true if the operation succeeded,
false if not
UnsupportedOperationException - if the removeItem is not supported.
public boolean addContainerProperty(Object propertyId,
Class type,
Object defaultValue)
throws UnsupportedOperationException
addContainerProperty in interface ContainerpropertyId - the ID of the new Property.type - the Data type of the new Property.defaultValue - the value all created Properties are initialized to.
true if the operation succeeded,
false if not
UnsupportedOperationException - if the addContainerProperty is not supported.
public boolean removeContainerProperty(Object propertyId)
throws UnsupportedOperationException
Note : The Property will be removed from all Items in the Container.
removeContainerProperty in interface ContainerpropertyId - the ID of the Property to remove.
true if the operation succeeded,
false if not
UnsupportedOperationException - if the removeContainerProperty is not supported.public boolean containsId(Object itemId)
Container
containsId in interface ContaineritemId - ID the of Item to be tested
public Item getItem(Object itemId)
Containernull is returned.
getItem in interface ContaineritemId - ID of the Item to retrieve
null if the Item is
not found in the Containerpublic Collection getItemIds()
Container
getItemIds in interface Container
public Property getContainerProperty(Object itemId,
Object propertyId)
Containernull is returned.
getContainerProperty in interface ContaineritemId - ID of the Item which contains the PropertypropertyId - ID of the Property to retrieve
nullpublic Collection getContainerPropertyIds()
Container
getContainerPropertyIds in interface Containerpublic Class getType(Object propertyId)
Container
getType in interface ContainerpropertyId - ID identifying the Properties
public int size()
Container
size in interface Containerpublic void addListener(Container.ItemSetChangeListener listener)
Container.ItemSetChangeNotifier
addListener in interface Container.ItemSetChangeNotifierlistener - listener to be addedpublic void removeListener(Container.ItemSetChangeListener listener)
Container.ItemSetChangeNotifier
removeListener in interface Container.ItemSetChangeNotifierlistener - listener to be removedpublic void addListener(Container.PropertySetChangeListener listener)
Container.PropertySetChangeNotifier
addListener in interface Container.PropertySetChangeNotifierlistener - The new Listener to be registeredpublic void removeListener(Container.PropertySetChangeListener listener)
Container.PropertySetChangeNotifier
removeListener in interface Container.PropertySetChangeNotifierlistener - Listener to be removed
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||