|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.millstone.base.data.util.IndexedContainer | +--org.millstone.base.data.util.HierarchicalContainer
A specialized Container whose contents can be accessed like it was a tree-like structure.
Nested Class Summary |
Nested classes inherited from class org.millstone.base.data.Container |
Container.Editor, Container.Hierarchical, Container.Indexed, Container.ItemSetChangeEvent, Container.ItemSetChangeListener, Container.ItemSetChangeNotifier, Container.Ordered, Container.PropertySetChangeEvent, Container.PropertySetChangeListener, Container.PropertySetChangeNotifier, Container.Viewer |
Field Summary |
Fields inherited from interface org.millstone.base.data.Container |
NULL_ITEM_ID |
Constructor Summary | |
HierarchicalContainer()
|
Method Summary | |
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 into the Container. |
boolean |
areChildrenAllowed(java.lang.Object itemId)
Tests if the Item with given ID can have any children. |
java.util.Collection |
getChildren(java.lang.Object itemId)
Gets the IDs of all Items that are children of the specified Item. |
java.lang.Object |
getParent(java.lang.Object itemId)
Gets the ID of the parent Item of the specified Item. |
boolean |
hasChildren(java.lang.Object itemId)
Tests if the Item specified with itemId has any
child Items, that is, is it a leaf Item. |
boolean |
isRoot(java.lang.Object itemId)
Tests if the Item specified with itemId is a root
Item. |
boolean |
removeAllItems()
Removes all Items from the Container. |
boolean |
removeItem(java.lang.Object itemId)
Removes the Item identified by ItemId from the
Container. |
java.util.Collection |
rootItemIds()
Gets the IDs of all Items in the container that don't have a parent. |
boolean |
setChildrenAllowed(java.lang.Object itemId,
boolean childrenAllowed)
Sets the given Item's capability to have children. |
boolean |
setParent(java.lang.Object itemId,
java.lang.Object newParentId)
Sets the parent of an Item. |
Methods inherited from class org.millstone.base.data.util.IndexedContainer |
addContainerProperty, addItemAfter, addItemAfter, addItemAt, addItemAt, addListener, addListener, addListener, containsId, firstItemId, getContainerProperty, getContainerPropertyIds, getIdByIndex, getItem, getItemIds, getType, indexOfId, isFirstId, isLastId, lastItemId, nextItemId, prevItemId, removeContainerProperty, removeListener, removeListener, removeListener, size |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.millstone.base.data.Container |
addContainerProperty, containsId, getContainerProperty, getContainerPropertyIds, getItem, getItemIds, getType, removeContainerProperty, size |
Constructor Detail |
public HierarchicalContainer()
Method Detail |
public boolean areChildrenAllowed(java.lang.Object itemId)
Container.Hierarchical
Managed
interface,
the items created with newItem
can have children by
default.
areChildrenAllowed
in interface Container.Hierarchical
itemId
- 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 java.util.Collection getChildren(java.lang.Object itemId)
Container.Hierarchical
getChildren
in interface Container.Hierarchical
itemId
- 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 java.lang.Object getParent(java.lang.Object itemId)
Container.Hierarchical
getParent
in interface Container.Hierarchical
itemId
- ID of the Item whose parent the caller
wishes to find out.
null
if
the specified Item is a root element.public boolean hasChildren(java.lang.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.Hierarchical
itemId
- ID of the Item whose leaf status is to be tested
true
if the specified Item is a leaf,
false
if notpublic boolean isRoot(java.lang.Object itemId)
Container.Hierarchical
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.
isRoot
in interface Container.Hierarchical
itemId
- ID of the Item whose root status is to be tested
true
if the specified Item is a root,
false
if notpublic java.util.Collection rootItemIds()
Container.Hierarchical
root
Items. The
returned collection is unmodifiable.
rootItemIds
in interface Container.Hierarchical
collection
containing IDs of all
root elements of the containerpublic boolean setChildrenAllowed(java.lang.Object itemId, boolean childrenAllowed)
Sets the given Item's capability to have children. If the Item
identified with itemId
already has children and
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.Hierarchical
itemId
- ID of the Item in the container whose child
capability is to be setchildrenAllowed
- boolean value specifying if the Item
can have children or not
true
if the operation succeeded,
false
if notpublic boolean setParent(java.lang.Object itemId, java.lang.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.Hierarchical
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
true
if the operation succeeded,
false
if notpublic java.lang.Object addItem()
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 Container
addItem
in class IndexedContainer
null
in
case of a failureContainer.addItem()
public Item addItem(java.lang.Object itemId)
Container
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 Container
addItem
in class IndexedContainer
itemId
- ID of the Item to be created
null
in case of a
failureContainer.addItem(Object)
public boolean removeAllItems()
Container
Note that Property ID and type information is preserved. This functionality is optional.
removeAllItems
in interface Container
removeAllItems
in class IndexedContainer
true
if the operation succeeded,
false
if notContainer.removeAllItems()
public boolean removeItem(java.lang.Object itemId)
Container
ItemId
from the
Container. This functionality is optional.
removeItem
in interface Container
removeItem
in class IndexedContainer
itemId
- ID of the Item to remove
true
if the operation succeeded,
false
if notContainer.removeItem(Object)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |