Class DefaultConfigurationNode

    • Constructor Detail

      • DefaultConfigurationNode

        public DefaultConfigurationNode()
        Creates a new uninitialized instance of DefaultConfigurationNode.
      • DefaultConfigurationNode

        public DefaultConfigurationNode​(java.lang.String name)
        Creates a new instance of DefaultConfigurationNode and initializes it with the node name.
        Parameters:
        name - the name of this node
      • DefaultConfigurationNode

        public DefaultConfigurationNode​(java.lang.String name,
                                        java.lang.Object value)
        Creates a new instance of DefaultConfigurationNode and initializes it with the name and a value.
        Parameters:
        name - the node's name
        value - the node's value
    • Method Detail

      • getName

        public java.lang.String getName()
        Returns the name of this node.
        Specified by:
        getName in interface ConfigurationNode
        Returns:
        the name of this node
      • setName

        public void setName​(java.lang.String name)
        Sets the name of this node.
        Specified by:
        setName in interface ConfigurationNode
        Parameters:
        name - the new name
      • getValue

        public java.lang.Object getValue()
        Returns the value of this node.
        Specified by:
        getValue in interface ConfigurationNode
        Returns:
        the value of this node
      • setValue

        public void setValue​(java.lang.Object val)
        Sets the value of this node.
        Specified by:
        setValue in interface ConfigurationNode
        Parameters:
        val - the value of this node
      • getReference

        public java.lang.Object getReference()
        Returns the reference.
        Specified by:
        getReference in interface ConfigurationNode
        Returns:
        the reference
      • setReference

        public void setReference​(java.lang.Object reference)
        Sets the reference.
        Specified by:
        setReference in interface ConfigurationNode
        Parameters:
        reference - the reference object
      • getChildrenCount

        public int getChildrenCount()
        Returns the number of all children of this node.
        Specified by:
        getChildrenCount in interface ConfigurationNode
        Returns:
        the number of all children
      • getChildren

        public java.util.List<ConfigurationNode> getChildren​(java.lang.String name)
        Returns a list of all children with the given name.
        Specified by:
        getChildren in interface ConfigurationNode
        Parameters:
        name - the name; can be null , then all children are returned
        Returns:
        a list of all children with the given name
      • getChildrenCount

        public int getChildrenCount​(java.lang.String name)
        Returns the number of children with the given name.
        Specified by:
        getChildrenCount in interface ConfigurationNode
        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

        public ConfigurationNode getChild​(int index)
        Returns the child node with the given index.
        Specified by:
        getChild in interface ConfigurationNode
        Parameters:
        index - the index (0-based)
        Returns:
        the child with this index
      • removeChild

        public boolean removeChild​(ConfigurationNode child)
        Removes the specified child node from this node.
        Specified by:
        removeChild in interface ConfigurationNode
        Parameters:
        child - the node to be removed
        Returns:
        a flag if a node was removed
      • removeChild

        public boolean removeChild​(java.lang.String childName)
        Removes all children with the given name.
        Specified by:
        removeChild in interface ConfigurationNode
        Parameters:
        childName - the name of the children to be removed
        Returns:
        a flag if at least one child node was removed
      • isAttribute

        public boolean isAttribute()
        Checks if this node is an attribute node.
        Specified by:
        isAttribute in interface ConfigurationNode
        Returns:
        a flag if this is an attribute node
      • setAttribute

        public void setAttribute​(boolean f)
        Sets the attribute flag. Note: this method can only be called if the node is not already part of a node hierarchy.
        Specified by:
        setAttribute in interface ConfigurationNode
        Parameters:
        f - the attribute flag
      • getAttributes

        public java.util.List<ConfigurationNode> getAttributes()
        Returns a list with the attributes of this node. This list contains DefaultConfigurationNode objects, too.
        Specified by:
        getAttributes in interface ConfigurationNode
        Returns:
        the attribute list, never null
      • getAttributeCount

        public int getAttributeCount()
        Returns the number of attributes contained in this node.
        Specified by:
        getAttributeCount in interface ConfigurationNode
        Returns:
        the number of attributes
      • getAttributes

        public java.util.List<ConfigurationNode> getAttributes​(java.lang.String name)
        Returns a list with all attributes of this node with the given name.
        Specified by:
        getAttributes in interface ConfigurationNode
        Parameters:
        name - the attribute's name
        Returns:
        all attributes with this name
      • getAttributeCount

        public int getAttributeCount​(java.lang.String name)
        Returns the number of attributes of this node with the given name.
        Specified by:
        getAttributeCount in interface ConfigurationNode
        Parameters:
        name - the name
        Returns:
        the number of attributes with this name
      • removeAttribute

        public boolean removeAttribute​(ConfigurationNode node)
        Removes the specified attribute.
        Specified by:
        removeAttribute in interface ConfigurationNode
        Parameters:
        node - the attribute node to be removed
        Returns:
        a flag if the attribute could be removed
      • removeAttribute

        public boolean removeAttribute​(java.lang.String name)
        Removes all attributes with the specified name.
        Specified by:
        removeAttribute in interface ConfigurationNode
        Parameters:
        name - the name
        Returns:
        a flag if at least one attribute was removed
      • getAttribute

        public ConfigurationNode getAttribute​(int index)
        Returns the attribute with the given index.
        Specified by:
        getAttribute in interface ConfigurationNode
        Parameters:
        index - the index (0-based)
        Returns:
        the attribute with this index
      • isDefined

        public boolean isDefined()
        Returns a flag if this node is defined. This means that the node contains some data.
        Specified by:
        isDefined in interface ConfigurationNode
        Returns:
        a flag whether this node is defined
      • clone

        public java.lang.Object clone()
        Creates a copy of this object. This is not a deep copy, the children are not cloned.
        Specified by:
        clone in interface ConfigurationNode
        Overrides:
        clone in class java.lang.Object
        Returns:
        a copy of this object
      • checkState

        protected void 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

        protected DefaultConfigurationNode.SubNodes createSubNodes​(boolean attributes)
        Creates a SubNodes instance 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 SubNodes object to use
      • removeReference

        protected void 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.