Class DefaultConfiguration

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static org.apache.avalon.framework.configuration.Configuration[] EMPTY_ARRAY
      An empty (length zero) array of configuration objects.
      private java.util.HashMap m_attributes  
      private java.util.ArrayList m_children  
      private java.lang.String m_location  
      private java.lang.String m_name  
      private java.lang.String m_namespace  
      private java.lang.String m_prefix  
      private boolean m_readOnly  
      private java.lang.String m_value  
    • Constructor Summary

      Constructors 
      Constructor Description
      DefaultConfiguration​(java.lang.String name)
      Create a new DefaultConfiguration instance.
      DefaultConfiguration​(java.lang.String name, java.lang.String location)
      Create a new DefaultConfiguration instance.
      DefaultConfiguration​(java.lang.String name, java.lang.String location, java.lang.String ns, java.lang.String prefix)
      Create a new DefaultConfiguration instance.
      DefaultConfiguration​(org.apache.avalon.framework.configuration.Configuration config)
      Shallow copy constructor, suitable for craeting a writable clone of a read-only configuration.
      DefaultConfiguration​(org.apache.avalon.framework.configuration.Configuration config, boolean deepCopy)
      Copy constructor, to create a clone of another configuration.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void addAll​(org.apache.avalon.framework.configuration.Configuration other)
      Add all the attributes, children and value from specified configuration element to current configuration element.
      void addAll​(org.apache.avalon.framework.configuration.Configuration other, boolean deepCopy)
      Add all the attributes, children and value from specified configuration element to current configuration element.
      void addAllAttributes​(org.apache.avalon.framework.configuration.Configuration other)
      Add all attributes from specified configuration element to current configuration element.
      void addAllChildren​(org.apache.avalon.framework.configuration.Configuration other)
      Add all child Configuration objects from specified configuration element to current configuration element.
      void addAllChildren​(org.apache.avalon.framework.configuration.Configuration other, boolean deepCopy)
      Add all child Configuration objects from specified configuration element to current configuration element.
      java.lang.String addAttribute​(java.lang.String name, java.lang.String value)
      Deprecated.
      Use setAttribute() instead
      void addChild​(org.apache.avalon.framework.configuration.Configuration configuration)
      Add a child Configuration to this configuration element.
      void appendValueData​(java.lang.String value)
      Deprecated.
      Use setValue() instead
      private boolean check​(java.lang.Object one, java.lang.Object two)  
      protected void checkWriteable()
      heck if this configuration is writeable.
      boolean equals​(java.lang.Object other)
      Compare if this configuration is equal to another.
      java.lang.String getAttribute​(java.lang.String name)
      Returns the value of the attribute specified by its name as a String.
      java.lang.String[] getAttributeNames()
      Return an array of all attribute names.
      org.apache.avalon.framework.configuration.Configuration getChild​(java.lang.String name, boolean createNew)
      Return the first Configuration object child of this associated with the given name.
      int getChildCount()
      Return count of children.
      org.apache.avalon.framework.configuration.Configuration[] getChildren()
      Return an array of Configuration elements containing all node children.
      org.apache.avalon.framework.configuration.Configuration[] getChildren​(java.lang.String name)
      Return an array of Configuration objects children of this associated with the given name.
      java.lang.String getLocation()
      Returns a description of location of element.
      MutableConfiguration getMutableChild​(java.lang.String name)
      Equivalent to getMutableChild( name, true )
      MutableConfiguration getMutableChild​(java.lang.String name, boolean autoCreate)
      Gets a child node of this configuration.
      MutableConfiguration[] getMutableChildren()
      Returns an array of mutable children.
      MutableConfiguration[] getMutableChildren​(java.lang.String name)
      Returns an array of mutable children with the given name.
      java.lang.String getName()
      Returns the name of this configuration element.
      java.lang.String getNamespace()
      Returns the namespace of this configuration element
      protected java.lang.String getPrefix()
      Returns the prefix of the namespace
      java.lang.String getValue()
      Returns the value of the configuration element as a String.
      java.lang.String getValue​(java.lang.String defaultValue)
      Returns the value of the configuration element as a String.
      int hashCode()
      Obtaine the hashcode for this configuration.
      protected boolean isReadOnly()
      Returns true iff this DefaultConfiguration has been made read-only.
      void makeReadOnly()
      Make this configuration read-only.
      void removeChild​(org.apache.avalon.framework.configuration.Configuration configuration)
      Remove a child Configuration to this configuration element.
      void setAttribute​(java.lang.String name, boolean value)
      Set the value of the specified attribute to the specified boolean.
      void setAttribute​(java.lang.String name, double value)
      Set the value of the specified attribute to the specified double.
      void setAttribute​(java.lang.String name, float value)
      Set the value of the specified attribute to the specified float.
      void setAttribute​(java.lang.String name, int value)
      Set the value of the specified attribute to the specified int.
      void setAttribute​(java.lang.String name, long value)
      Set the value of the specified attribute to the specified long.
      void setAttribute​(java.lang.String name, java.lang.String value)
      Set the value of the specified attribute to the specified string.
      void setValue​(boolean value)
      Set the value of this Configuration object to the specified boolean.
      void setValue​(double value)
      Set the value of this Configuration object to the specified double.
      void setValue​(float value)
      Set the value of this Configuration object to the specified float.
      void setValue​(int value)
      Set the value of this Configuration object to the specified int.
      void setValue​(long value)
      Set the value of this Configuration object to the specified long.
      void setValue​(java.lang.String value)
      Set the value of this Configuration object to the specified string.
      private MutableConfiguration toMutable​(org.apache.avalon.framework.configuration.Configuration child)
      Convenience function to convert a child to a mutable configuration.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.apache.avalon.framework.configuration.Configuration

        getAttribute, getAttributeAsBoolean, getAttributeAsBoolean, getAttributeAsDouble, getAttributeAsDouble, getAttributeAsFloat, getAttributeAsFloat, getAttributeAsInteger, getAttributeAsInteger, getAttributeAsLong, getAttributeAsLong, getChild, getValueAsBoolean, getValueAsBoolean, getValueAsDouble, getValueAsDouble, getValueAsFloat, getValueAsFloat, getValueAsInteger, getValueAsInteger, getValueAsLong, getValueAsLong
    • Field Detail

      • EMPTY_ARRAY

        protected static final org.apache.avalon.framework.configuration.Configuration[] EMPTY_ARRAY
        An empty (length zero) array of configuration objects.
      • m_name

        private final java.lang.String m_name
      • m_location

        private final java.lang.String m_location
      • m_namespace

        private final java.lang.String m_namespace
      • m_prefix

        private final java.lang.String m_prefix
      • m_attributes

        private java.util.HashMap m_attributes
      • m_children

        private java.util.ArrayList m_children
      • m_value

        private java.lang.String m_value
      • m_readOnly

        private boolean m_readOnly
    • Constructor Detail

      • DefaultConfiguration

        public DefaultConfiguration​(org.apache.avalon.framework.configuration.Configuration config,
                                    boolean deepCopy)
                             throws org.apache.avalon.framework.configuration.ConfigurationException
        Copy constructor, to create a clone of another configuration. To modify children, use getChild(), removeChild() and addChild().
        Parameters:
        config - the Configuration to copy
        deepCopy - true will cause clones of the children to be added, false will add the original instances and is thus faster.
        Throws:
        org.apache.avalon.framework.configuration.ConfigurationException - if an error occurs when copying
      • DefaultConfiguration

        public DefaultConfiguration​(org.apache.avalon.framework.configuration.Configuration config)
                             throws org.apache.avalon.framework.configuration.ConfigurationException
        Shallow copy constructor, suitable for craeting a writable clone of a read-only configuration. To modify children, use getChild(), removeChild() and addChild().
        Parameters:
        config - the Configuration to copy
        Throws:
        org.apache.avalon.framework.configuration.ConfigurationException - if an error occurs when copying
      • DefaultConfiguration

        public DefaultConfiguration​(java.lang.String name)
        Create a new DefaultConfiguration instance.
        Parameters:
        name - a String value
      • DefaultConfiguration

        public DefaultConfiguration​(java.lang.String name,
                                    java.lang.String location)
        Create a new DefaultConfiguration instance.
        Parameters:
        name - a String value
        location - a String value
      • DefaultConfiguration

        public DefaultConfiguration​(java.lang.String name,
                                    java.lang.String location,
                                    java.lang.String ns,
                                    java.lang.String prefix)
        Create a new DefaultConfiguration instance.
        Parameters:
        name - config node name
        location - Builder-specific locator string
        ns - Namespace string (typically a URI). Should not be null; use "" if no namespace.
        prefix - A short string prefixed to element names, associating elements with a longer namespace string. Should not be null; use "" if no namespace.
        Since:
        4.1
    • Method Detail

      • getName

        public java.lang.String getName()
        Returns the name of this configuration element.
        Specified by:
        getName in interface org.apache.avalon.framework.configuration.Configuration
        Returns:
        a String value
      • getNamespace

        public java.lang.String getNamespace()
                                      throws org.apache.avalon.framework.configuration.ConfigurationException
        Returns the namespace of this configuration element
        Specified by:
        getNamespace in interface org.apache.avalon.framework.configuration.Configuration
        Returns:
        a String value
        Throws:
        org.apache.avalon.framework.configuration.ConfigurationException - if an error occurs
        Since:
        4.1
      • getPrefix

        protected java.lang.String getPrefix()
                                      throws org.apache.avalon.framework.configuration.ConfigurationException
        Returns the prefix of the namespace
        Specified by:
        getPrefix in class AbstractConfiguration
        Returns:
        a String value
        Throws:
        org.apache.avalon.framework.configuration.ConfigurationException - if prefix is not present (null).
        Since:
        4.1
      • getLocation

        public java.lang.String getLocation()
        Returns a description of location of element.
        Specified by:
        getLocation in interface org.apache.avalon.framework.configuration.Configuration
        Returns:
        a String value
      • getValue

        public java.lang.String getValue​(java.lang.String defaultValue)
        Returns the value of the configuration element as a String.
        Specified by:
        getValue in interface org.apache.avalon.framework.configuration.Configuration
        Overrides:
        getValue in class AbstractConfiguration
        Parameters:
        defaultValue - the default value to return if value malformed or empty
        Returns:
        a String value
      • getValue

        public java.lang.String getValue()
                                  throws org.apache.avalon.framework.configuration.ConfigurationException
        Returns the value of the configuration element as a String.
        Specified by:
        getValue in interface org.apache.avalon.framework.configuration.Configuration
        Returns:
        a String value
        Throws:
        org.apache.avalon.framework.configuration.ConfigurationException - If the value is not present.
      • getAttributeNames

        public java.lang.String[] getAttributeNames()
        Return an array of all attribute names.
        Specified by:
        getAttributeNames in interface org.apache.avalon.framework.configuration.Configuration
        Returns:
        a String[] value
      • getChildren

        public org.apache.avalon.framework.configuration.Configuration[] getChildren()
        Return an array of Configuration elements containing all node children.
        Specified by:
        getChildren in interface org.apache.avalon.framework.configuration.Configuration
        Returns:
        The child nodes with name
      • getAttribute

        public java.lang.String getAttribute​(java.lang.String name)
                                      throws org.apache.avalon.framework.configuration.ConfigurationException
        Returns the value of the attribute specified by its name as a String.
        Specified by:
        getAttribute in interface org.apache.avalon.framework.configuration.Configuration
        Parameters:
        name - a String value
        Returns:
        a String value
        Throws:
        org.apache.avalon.framework.configuration.ConfigurationException - If the attribute is not present.
      • getChild

        public org.apache.avalon.framework.configuration.Configuration getChild​(java.lang.String name,
                                                                                boolean createNew)
        Return the first Configuration object child of this associated with the given name.
        Specified by:
        getChild in interface org.apache.avalon.framework.configuration.Configuration
        Overrides:
        getChild in class AbstractConfiguration
        Parameters:
        name - a String value
        createNew - a boolean value
        Returns:
        a Configuration value
      • getChildren

        public org.apache.avalon.framework.configuration.Configuration[] getChildren​(java.lang.String name)
        Return an array of Configuration objects children of this associated with the given name.
        The returned array may be empty but is never null.
        Specified by:
        getChildren in interface org.apache.avalon.framework.configuration.Configuration
        Parameters:
        name - The name of the required children Configuration.
        Returns:
        a Configuration[] value
      • appendValueData

        public void appendValueData​(java.lang.String value)
        Deprecated.
        Use setValue() instead
        Append data to the value of this configuration element.
        Parameters:
        value - a String value
      • setValue

        public void setValue​(java.lang.String value)
        Set the value of this Configuration object to the specified string.
        Specified by:
        setValue in interface MutableConfiguration
        Parameters:
        value - a String value
      • setValue

        public void setValue​(int value)
        Set the value of this Configuration object to the specified int.
        Specified by:
        setValue in interface MutableConfiguration
        Parameters:
        value - a int value
      • setValue

        public void setValue​(long value)
        Set the value of this Configuration object to the specified long.
        Specified by:
        setValue in interface MutableConfiguration
        Parameters:
        value - a long value
      • setValue

        public void setValue​(boolean value)
        Set the value of this Configuration object to the specified boolean.
        Specified by:
        setValue in interface MutableConfiguration
        Parameters:
        value - a boolean value
      • setValue

        public void setValue​(float value)
        Set the value of this Configuration object to the specified float.
        Specified by:
        setValue in interface MutableConfiguration
        Parameters:
        value - a float value
      • setValue

        public void setValue​(double value)
        Set the value of this Configuration object to the specified double.
        Specified by:
        setValue in interface MutableConfiguration
        Parameters:
        value - a double value
      • setAttribute

        public void setAttribute​(java.lang.String name,
                                 java.lang.String value)
        Set the value of the specified attribute to the specified string.
        Specified by:
        setAttribute in interface MutableConfiguration
        Parameters:
        name - name of the attribute to set
        value - a String value
      • setAttribute

        public void setAttribute​(java.lang.String name,
                                 int value)
        Set the value of the specified attribute to the specified int.
        Specified by:
        setAttribute in interface MutableConfiguration
        Parameters:
        name - name of the attribute to set
        value - an int value
      • setAttribute

        public void setAttribute​(java.lang.String name,
                                 long value)
        Set the value of the specified attribute to the specified long.
        Specified by:
        setAttribute in interface MutableConfiguration
        Parameters:
        name - name of the attribute to set
        value - an long value
      • setAttribute

        public void setAttribute​(java.lang.String name,
                                 boolean value)
        Set the value of the specified attribute to the specified boolean.
        Specified by:
        setAttribute in interface MutableConfiguration
        Parameters:
        name - name of the attribute to set
        value - an boolean value
      • setAttribute

        public void setAttribute​(java.lang.String name,
                                 float value)
        Set the value of the specified attribute to the specified float.
        Specified by:
        setAttribute in interface MutableConfiguration
        Parameters:
        name - name of the attribute to set
        value - an float value
      • setAttribute

        public void setAttribute​(java.lang.String name,
                                 double value)
        Set the value of the specified attribute to the specified double.
        Specified by:
        setAttribute in interface MutableConfiguration
        Parameters:
        name - name of the attribute to set
        value - an double value
      • addAttribute

        public java.lang.String addAttribute​(java.lang.String name,
                                             java.lang.String value)
        Deprecated.
        Use setAttribute() instead
        Add an attribute to this configuration element, returning its old value or null.
        Parameters:
        name - a String value
        value - a String value
        Returns:
        a String value
      • addChild

        public void addChild​(org.apache.avalon.framework.configuration.Configuration configuration)
        Add a child Configuration to this configuration element.
        Specified by:
        addChild in interface MutableConfiguration
        Parameters:
        configuration - a Configuration value
      • addAll

        public void addAll​(org.apache.avalon.framework.configuration.Configuration other,
                           boolean deepCopy)
                    throws org.apache.avalon.framework.configuration.ConfigurationException
        Add all the attributes, children and value from specified configuration element to current configuration element.
        Parameters:
        other - the Configuration element
        deepCopy - true will cause clones of the children to be added, false will add the original instances and is thus faster. throws ConfigurationException If there are any problems cloning the children.
        Throws:
        org.apache.avalon.framework.configuration.ConfigurationException
      • addAll

        public void addAll​(org.apache.avalon.framework.configuration.Configuration other)
        Add all the attributes, children and value from specified configuration element to current configuration element.
        Specified by:
        addAll in interface MutableConfiguration
        Parameters:
        other - the Configuration element
      • addAllAttributes

        public void addAllAttributes​(org.apache.avalon.framework.configuration.Configuration other)
        Add all attributes from specified configuration element to current configuration element.
        Specified by:
        addAllAttributes in interface MutableConfiguration
        Parameters:
        other - the Configuration element
      • addAllChildren

        public void addAllChildren​(org.apache.avalon.framework.configuration.Configuration other,
                                   boolean deepCopy)
                            throws org.apache.avalon.framework.configuration.ConfigurationException
        Add all child Configuration objects from specified configuration element to current configuration element.
        Parameters:
        deepCopy - true will cause clones of the children to be added, false will add the original instances and is thus faster.
        other - the other Configuration value throws ConfigurationException If there are any problems cloning the children.
        Throws:
        org.apache.avalon.framework.configuration.ConfigurationException
      • addAllChildren

        public void addAllChildren​(org.apache.avalon.framework.configuration.Configuration other)
        Add all child Configuration objects from specified configuration element to current configuration element.
        Specified by:
        addAllChildren in interface MutableConfiguration
        Parameters:
        other - the other Configuration value
      • removeChild

        public void removeChild​(org.apache.avalon.framework.configuration.Configuration configuration)
        Remove a child Configuration to this configuration element.
        Specified by:
        removeChild in interface MutableConfiguration
        Parameters:
        configuration - a Configuration value
      • getChildCount

        public int getChildCount()
        Return count of children.
        Returns:
        an int value
      • makeReadOnly

        public void makeReadOnly()
        Make this configuration read-only.
      • checkWriteable

        protected final void checkWriteable()
                                     throws java.lang.IllegalStateException
        heck if this configuration is writeable.
        Throws:
        java.lang.IllegalStateException - if this configuration s read-only
      • isReadOnly

        protected final boolean isReadOnly()
        Returns true iff this DefaultConfiguration has been made read-only.
      • toMutable

        private MutableConfiguration toMutable​(org.apache.avalon.framework.configuration.Configuration child)
                                        throws org.apache.avalon.framework.configuration.ConfigurationException
        Convenience function to convert a child to a mutable configuration. If the child is-a MutableConfiguration, and it isn't a read-only DefaultConfiguration (which isn't really mutable), the child is cast to MutableConfiguration and returned. If not, the child is replaced in the m_children array with a new writable DefaultConfiguration that is a shallow copy of the child, and the new child is returned.
        Throws:
        org.apache.avalon.framework.configuration.ConfigurationException
      • getMutableChild

        public MutableConfiguration getMutableChild​(java.lang.String name)
                                             throws org.apache.avalon.framework.configuration.ConfigurationException
        Description copied from interface: MutableConfiguration
        Equivalent to getMutableChild( name, true )
        Specified by:
        getMutableChild in interface MutableConfiguration
        Throws:
        org.apache.avalon.framework.configuration.ConfigurationException
      • getMutableChild

        public MutableConfiguration getMutableChild​(java.lang.String name,
                                                    boolean autoCreate)
                                             throws org.apache.avalon.framework.configuration.ConfigurationException
        Description copied from interface: MutableConfiguration
        Gets a child node of this configuration. If a mutable child with the given name exists, it is returned. If an immutable child with the given name exists, it is converted into a mutable child and returned. In this case, the immutable child will be replaced with the mutable child in this configuration (that is, it will be as if the child node always had been mutable). If no child with the given name exists, and autoCreate is true, a new mutable child is created and added to this configuration before being returned.
        Specified by:
        getMutableChild in interface MutableConfiguration
        Parameters:
        name - the name of the child.
        autoCreate - set to true to create the child node if it doesn't exist.
        Returns:
        the child MutableConfiguration, or null if autoCreate was false and no child by the given name existed.
        Throws:
        org.apache.avalon.framework.configuration.ConfigurationException - if an error occurrs.
      • getMutableChildren

        public MutableConfiguration[] getMutableChildren()
                                                  throws org.apache.avalon.framework.configuration.ConfigurationException
        Description copied from interface: MutableConfiguration
        Returns an array of mutable children. Immutable children are converted just as for getMutableChild.
        Specified by:
        getMutableChildren in interface MutableConfiguration
        Throws:
        org.apache.avalon.framework.configuration.ConfigurationException - if an error occurrs.
      • getMutableChildren

        public MutableConfiguration[] getMutableChildren​(java.lang.String name)
                                                  throws org.apache.avalon.framework.configuration.ConfigurationException
        Description copied from interface: MutableConfiguration
        Returns an array of mutable children with the given name. Immutable children are converted just as for getMutableChild.
        Specified by:
        getMutableChildren in interface MutableConfiguration
        Throws:
        org.apache.avalon.framework.configuration.ConfigurationException - if an error occurrs.
      • equals

        public boolean equals​(java.lang.Object other)
        Compare if this configuration is equal to another.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        other - The other configuration
        Returns:
        true if they are the same.
      • check

        private boolean check​(java.lang.Object one,
                              java.lang.Object two)
      • hashCode

        public int hashCode()
        Obtaine the hashcode for this configuration.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        the hashcode.