org.apache.commons.configuration.tree

Class DefaultConfigurationNode.SubNodes

protected static class DefaultConfigurationNode.SubNodes extends Object

An internally used helper class for managing a collection of sub nodes.
Field Summary
MapnamedNodes
Stores a map for accessing subnodes by name.
Listnodes
Stores a list for the sub nodes.
Method Summary
voidaddNode(ConfigurationNode node)
Adds a new sub node.
voidclear()
Removes all sub nodes.
protected voiddetachNode(ConfigurationNode subNode)
This method is called whenever a sub node is removed from this object.
protected voiddetachNodes(Collection subNodes)
Detaches a list of sub nodes.
ConfigurationNodegetNode(int index)
Returns the node with the given index.
ListgetSubNodes()
Returns a list with all stored sub nodes.
ListgetSubNodes(String name)
Returns a list of the sub nodes with the given name.
booleanremoveNode(ConfigurationNode node)
Removes a sub node.
booleanremoveNodes(String name)
Removes all sub nodes with the given name.
voidvisit(ConfigurationNodeVisitor visitor)
Let the passed in visitor visit all sub nodes.

Field Detail

namedNodes

private Map namedNodes
Stores a map for accessing subnodes by name.

nodes

private List nodes
Stores a list for the sub nodes.

Method Detail

addNode

public void addNode(ConfigurationNode node)
Adds a new sub node.

Parameters: node the node to add

clear

public void clear()
Removes all sub nodes.

detachNode

protected void detachNode(ConfigurationNode subNode)
This method is called whenever a sub node is removed from this object. It ensures that the removed node's parent is reset and its removeReference() method gets called.

Parameters: subNode the node to be removed

detachNodes

protected void detachNodes(Collection subNodes)
Detaches a list of sub nodes. This method calls detachNode() for each node contained in the list.

Parameters: subNodes the list with nodes to be detached

getNode

public ConfigurationNode getNode(int index)
Returns the node with the given index. If this index cannot be found, an IndexOutOfBoundException exception will be thrown.

Parameters: index the index (0-based)

Returns: the sub node at the specified index

getSubNodes

public List getSubNodes()
Returns a list with all stored sub nodes. The return value is never null.

Returns: a list with the sub nodes

getSubNodes

public List getSubNodes(String name)
Returns a list of the sub nodes with the given name. The return value is never null.

Parameters: name the name; if null is passed, all sub nodes will be returned

Returns: all sub nodes with this name

removeNode

public boolean removeNode(ConfigurationNode node)
Removes a sub node.

Parameters: node the node to remove

Returns: a flag if the node could be removed

removeNodes

public boolean removeNodes(String name)
Removes all sub nodes with the given name.

Parameters: name the name

Returns: a flag if at least on sub node was removed

visit

public void visit(ConfigurationNodeVisitor visitor)
Let the passed in visitor visit all sub nodes.

Parameters: visitor the visitor