Class DefaultConfiguration

java.lang.Object
org.apache.avalon.framework.configuration.AbstractConfiguration
org.apache.avalon.framework.configuration.DefaultConfiguration
All Implemented Interfaces:
Serializable, Configuration, MutableConfiguration

public class DefaultConfiguration extends AbstractConfiguration implements MutableConfiguration, Serializable
This is the default Configuration implementation.
Version:
CVS $Revision: 1.43 $ $Date: 2004/02/11 14:34:25 $
Author:
Avalon Development Team
See Also:
  • Field Details

    • EMPTY_ARRAY

      protected static final Configuration[] EMPTY_ARRAY
      An empty (length zero) array of configuration objects.
  • Constructor Details

    • DefaultConfiguration

      public DefaultConfiguration(Configuration config) throws 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:
      ConfigurationException - if an error occurs when copying
    • DefaultConfiguration

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

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

      public DefaultConfiguration(String name, String location, String ns, 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 Details

    • getName

      public String getName()
      Returns the name of this configuration element.
      Specified by:
      getName in interface Configuration
      Returns:
      a String value
    • getNamespace

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

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

      public String getLocation()
      Returns a description of location of element.
      Specified by:
      getLocation in interface Configuration
      Returns:
      a String value
    • getValue

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

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

      public String[] getAttributeNames()
      Return an array of all attribute names.
      Specified by:
      getAttributeNames in interface Configuration
      Returns:
      a String[] value
    • getChildren

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

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

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

      public Configuration[] getChildren(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 Configuration
      Parameters:
      name - The name of the required children Configuration.
      Returns:
      a Configuration[] value
    • appendValueData

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

      public void setValue(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
    • setAttribute

      public void setAttribute(String name, 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(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(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(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(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
    • addAttribute

      public String addAttribute(String name, 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(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(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(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(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(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 IllegalStateException
      heck if this configuration is writeable.
      Throws:
      IllegalStateException - if this configuration s read-only
    • isReadOnly

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

      public MutableConfiguration getMutableChild(String name) throws ConfigurationException
      Description copied from interface: MutableConfiguration
      Equivalent to getMutableChild( name, true )
      Specified by:
      getMutableChild in interface MutableConfiguration
      Throws:
      ConfigurationException
    • getMutableChild

      public MutableConfiguration getMutableChild(String name, boolean autoCreate) throws 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:
      ConfigurationException - if an error occurrs.
    • getMutableChildren

      public MutableConfiguration[] getMutableChildren() throws 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:
      ConfigurationException - if an error occurrs.
    • getMutableChildren

      public MutableConfiguration[] getMutableChildren(String name) throws 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:
      ConfigurationException - if an error occurrs.
    • equals

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

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