|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object | +--org.openide.nodes.Children
Container for array of nodes.
Can be associated with a node and then
all children in the array have that node set as a parent, and this list
will be returned as the node's children.
Probably you want to subclass Children.Keys.
Subclassing Children directly is not recommended.
| Inner Class Summary | |
static class |
Children.Array
Implements the storage of node children by an array. |
static class |
Children.Keys
Implements an array of child nodes associated nonuniquely with keys and sorted by these keys. |
static class |
Children.Map
Implements the storage of node children by a map. |
static class |
Children.SortedArray
Maintains a list of children sorted by the provided comparator in an array. |
static class |
Children.SortedMap
Maintains a list of children sorted by the provided comparator in a map. |
| Field Summary | |
static Children |
LEAF
The object representing an empty set of children. |
static Mutex |
MUTEX
Lock for access to hierarchy of all node lists. |
| Constructor Summary | |
Children()
Constructor. |
|
| Method Summary | |
abstract boolean |
add(Node[] nodes)
Add nodes this container. |
protected void |
addNotify()
Called when children are first asked for nodes. |
protected Object |
clone()
Handles cloning in the right way, that can be later extended by subclasses. |
Node |
findChild(String name)
Find a child node by name. |
protected Node |
getNode()
Get the parent node of these children. |
Node[] |
getNodes()
Get a (sorted) array of nodes in this list. |
int |
getNodesCount()
Get the number of nodes in the list. |
protected boolean |
isInitialized()
Method that can be used to test whether the children content has ever been used or it is still not initalized. |
Enumeration |
nodes()
Get the nodes as an enumeration. |
abstract boolean |
remove(Node[] nodes)
Remove nodes from the list. |
protected void |
removeNotify()
Called when the list of nodes for this children object is no longer needed by the IDE. |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final Mutex MUTEX
All operations on the hierarchy of nodes (add, remove, etc.) are
done in the Mutex.writeAccess(org.openide.util.Mutex.Action) method of this lock, so if someone
needs for a certain amount of time to forbid modification,
he can execute his code in Mutex.readAccess(org.openide.util.Mutex.Action).
public static final Children LEAF
| Constructor Detail |
public Children()
| Method Detail |
protected final Node getNode()
null if there is none yet
protected Object clone()
throws CloneNotSupportedException
Cloneable interface, otherwise this method throws
CloneNotSupportedException.clone in class ObjectCloneable interface is not implementedpublic abstract boolean add(Node[] nodes)
false to signal that the addition has not been successful.
This method should be implemented by subclasses to filter some nodes, etc.
nodes - set of nodes to add to the listtrue if successfully addedpublic abstract boolean remove(Node[] nodes)
nodes - nodes to be removedtrue if the nodes could be removedpublic final Enumeration nodes()
Nodespublic Node findChild(String name)
Normally the list of nodes should have been computed by the time this returns,
but see getNodes() for an important caveat as to why this may not
be doing what you want and what to do instead.
name - (code) name of child node to find or null if any arbitrary child may
be returnednull if it could not be foundprotected final boolean isInitialized()
addNotify()public final Node[] getNodes()
addNotify()) before
the nodes are returned.
Warning: not all children
implementations do a complete calculation at
this point. For example, the children of
FolderNode
may or may not be fully calculated when you
first get the children list; in that particular
case, you may force it to synchronously finish
recognizing nodes of child data objects and adding
them to its list, by calling findChild(java.lang.String)
with an arbitrary argument (null works).
But in general if you are trying to get useful data
by calling this method, you are probably doing something
wrong; it is primarily for use by the Explorer to display
nodes. Usually you should be asking some underlying model
for information, not the nodes for children. For example,
DataFolder.getChildren
is a much more appropriate way to get what you want.public final int getNodesCount()
protected void addNotify()
Children.Keys etc.).isInitialized()protected void removeNotify()
Children.Keys etc.).
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||