Class DefaultConfigurationNode
java.lang.Object
org.apache.commons.configuration.tree.DefaultConfigurationNode
- All Implemented Interfaces:
Cloneable, ConfigurationNode
- Direct Known Subclasses:
HierarchicalConfiguration.Node, ViewNode
A default implementation of the ConfigurationNode interface.
- Since:
- 1.3
- Version:
- $Id: DefaultConfigurationNode.java 1301991 2012-03-17 20:18:02Z sebb $
- Author:
- Commons Configuration team
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classAn internally used helper class for managing a collection of sub nodes. -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new uninitialized instance ofDefaultConfigurationNode.Creates a new instance ofDefaultConfigurationNodeand initializes it with the node name.DefaultConfigurationNode(String name, Object value) Creates a new instance ofDefaultConfigurationNodeand initializes it with the name and a value. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds the specified attribute to this node.voidaddChild(ConfigurationNode child) Adds a new child to this node.protected voidChecks if a modification of this node is allowed.clone()Creates a copy of this object.protected DefaultConfigurationNode.SubNodescreateSubNodes(boolean attributes) Creates aSubNodesinstance that is used for storing either this node's children or attributes.getAttribute(int index) Returns the attribute with the given index.intReturns the number of attributes contained in this node.intgetAttributeCount(String name) Returns the number of attributes of this node with the given name.Returns a list with the attributes of this node.getAttributes(String name) Returns a list with all attributes of this node with the given name.getChild(int index) Returns the child node with the given index.Returns a list with all children of this node.getChildren(String name) Returns a list of all children with the given name.intReturns the number of all children of this node.intgetChildrenCount(String name) Returns the number of children with the given name.getName()Returns the name of this node.Returns a reference to this node's parent.Returns the reference.getValue()Returns the value of this node.booleanChecks if this node is an attribute node.booleanReturns a flag if this node is defined.booleanremoveAttribute(String name) Removes all attributes with the specified name.booleanRemoves the specified attribute.voidRemoves all attributes of this node.booleanremoveChild(String childName) Removes all children with the given name.booleanremoveChild(ConfigurationNode child) Removes the specified child node from this node.voidRemoves all child nodes of this node.protected voidDeals with the reference when a node is removed.voidsetAttribute(boolean f) Sets the attribute flag.voidSets the name of this node.voidsetParentNode(ConfigurationNode parent) Sets the parent of this node.voidsetReference(Object reference) Sets the reference.voidSets the value of this node.voidvisit(ConfigurationNodeVisitor visitor) Visits this node and all its sub nodes.
-
Constructor Details
-
DefaultConfigurationNode
public DefaultConfigurationNode()Creates a new uninitialized instance ofDefaultConfigurationNode. -
DefaultConfigurationNode
Creates a new instance ofDefaultConfigurationNodeand initializes it with the node name.- Parameters:
name- the name of this node
-
DefaultConfigurationNode
Creates a new instance ofDefaultConfigurationNodeand initializes it with the name and a value.- Parameters:
name- the node's namevalue- the node's value
-
-
Method Details
-
getName
Returns the name of this node.- Specified by:
getNamein interfaceConfigurationNode- Returns:
- the name of this node
-
setName
Sets the name of this node.- Specified by:
setNamein interfaceConfigurationNode- Parameters:
name- the new name
-
getValue
Returns the value of this node.- Specified by:
getValuein interfaceConfigurationNode- Returns:
- the value of this node
-
setValue
Sets the value of this node.- Specified by:
setValuein interfaceConfigurationNode- Parameters:
val- the value of this node
-
getReference
Returns the reference.- Specified by:
getReferencein interfaceConfigurationNode- Returns:
- the reference
-
setReference
Sets the reference.- Specified by:
setReferencein interfaceConfigurationNode- Parameters:
reference- the reference object
-
getParentNode
Returns a reference to this node's parent.- Specified by:
getParentNodein interfaceConfigurationNode- Returns:
- the parent node or null if this is the root
-
setParentNode
Sets the parent of this node.- Specified by:
setParentNodein interfaceConfigurationNode- Parameters:
parent- the parent of this node
-
addChild
Adds a new child to this node.- Specified by:
addChildin interfaceConfigurationNode- Parameters:
child- the new child
-
getChildren
Returns a list with all children of this node.- Specified by:
getChildrenin interfaceConfigurationNode- Returns:
- a list with all child nodes
-
getChildrenCount
Returns the number of all children of this node.- Specified by:
getChildrenCountin interfaceConfigurationNode- Returns:
- the number of all children
-
getChildren
Returns a list of all children with the given name.- Specified by:
getChildrenin interfaceConfigurationNode- Parameters:
name- the name; can be null , then all children are returned- Returns:
- a list of all children with the given name
-
getChildrenCount
Returns the number of children with the given name.- Specified by:
getChildrenCountin interfaceConfigurationNode- Parameters:
name- the name; can be null , then the number of all children is returned- Returns:
- the number of child nodes with this name
-
getChild
Returns the child node with the given index.- Specified by:
getChildin interfaceConfigurationNode- Parameters:
index- the index (0-based)- Returns:
- the child with this index
-
removeChild
Removes the specified child node from this node.- Specified by:
removeChildin interfaceConfigurationNode- Parameters:
child- the node to be removed- Returns:
- a flag if a node was removed
-
removeChild
Removes all children with the given name.- Specified by:
removeChildin interfaceConfigurationNode- Parameters:
childName- the name of the children to be removed- Returns:
- a flag if at least one child node was removed
-
removeChildren
Removes all child nodes of this node.- Specified by:
removeChildrenin interfaceConfigurationNode
-
isAttribute
Checks if this node is an attribute node.- Specified by:
isAttributein interfaceConfigurationNode- Returns:
- a flag if this is an attribute node
-
setAttribute
Sets the attribute flag. Note: this method can only be called if the node is not already part of a node hierarchy.- Specified by:
setAttributein interfaceConfigurationNode- Parameters:
f- the attribute flag
-
addAttribute
Adds the specified attribute to this node.- Specified by:
addAttributein interfaceConfigurationNode- Parameters:
attr- the attribute to be added
-
getAttributes
Returns a list with the attributes of this node. This list containsDefaultConfigurationNodeobjects, too.- Specified by:
getAttributesin interfaceConfigurationNode- Returns:
- the attribute list, never null
-
getAttributeCount
Returns the number of attributes contained in this node.- Specified by:
getAttributeCountin interfaceConfigurationNode- Returns:
- the number of attributes
-
getAttributes
Returns a list with all attributes of this node with the given name.- Specified by:
getAttributesin interfaceConfigurationNode- Parameters:
name- the attribute's name- Returns:
- all attributes with this name
-
getAttributeCount
Returns the number of attributes of this node with the given name.- Specified by:
getAttributeCountin interfaceConfigurationNode- Parameters:
name- the name- Returns:
- the number of attributes with this name
-
removeAttribute
Removes the specified attribute.- Specified by:
removeAttributein interfaceConfigurationNode- Parameters:
node- the attribute node to be removed- Returns:
- a flag if the attribute could be removed
-
removeAttribute
Removes all attributes with the specified name.- Specified by:
removeAttributein interfaceConfigurationNode- Parameters:
name- the name- Returns:
- a flag if at least one attribute was removed
-
getAttribute
Returns the attribute with the given index.- Specified by:
getAttributein interfaceConfigurationNode- Parameters:
index- the index (0-based)- Returns:
- the attribute with this index
-
removeAttributes
Removes all attributes of this node.- Specified by:
removeAttributesin interfaceConfigurationNode
-
isDefined
Returns a flag if this node is defined. This means that the node contains some data.- Specified by:
isDefinedin interfaceConfigurationNode- Returns:
- a flag whether this node is defined
-
visit
Visits this node and all its sub nodes.- Specified by:
visitin interfaceConfigurationNode- Parameters:
visitor- the visitor- See Also:
-
clone
-
checkState
Checks if a modification of this node is allowed. Some properties of a node must not be changed when the node has a parent. This method checks this and throws a runtime exception if necessary. -
createSubNodes
Creates aSubNodesinstance that is used for storing either this node's children or attributes.- Parameters:
attributes- true if the returned instance is used for storing attributes, false for storing child nodes- Returns:
- the
SubNodesobject to use
-
removeReference
Deals with the reference when a node is removed. This method is called for each removed child node or attribute. It can be overloaded in sub classes, for which the reference has a concrete meaning and remove operations need some update actions. This default implementation is empty.
-