Class DefaultConfiguration
- java.lang.Object
-
- org.apache.avalon.framework.configuration.AbstractConfiguration
-
- org.apache.avalon.framework.configuration.DefaultConfiguration
-
- All Implemented Interfaces:
java.io.Serializable
,Configuration
,MutableConfiguration
public class DefaultConfiguration extends AbstractConfiguration implements MutableConfiguration, java.io.Serializable
This is the defaultConfiguration
implementation.- Version:
- CVS $Revision: 1.43 $ $Date: 2004/02/11 14:34:25 $
- Author:
- Avalon Development Team
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected static Configuration[]
EMPTY_ARRAY
An empty (length zero) array of configuration objects.
-
Constructor Summary
Constructors Constructor Description DefaultConfiguration(java.lang.String name)
Create a newDefaultConfiguration
instance.DefaultConfiguration(java.lang.String name, java.lang.String location)
Create a newDefaultConfiguration
instance.DefaultConfiguration(java.lang.String name, java.lang.String location, java.lang.String ns, java.lang.String prefix)
Create a newDefaultConfiguration
instance.DefaultConfiguration(Configuration config)
Shallow copy constructor, suitable for craeting a writable clone of a read-only configuration.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addAll(Configuration other)
Add all the attributes, children and value from specified configuration element to current configuration element.void
addAllAttributes(Configuration other)
Add all attributes from specified configuration element to current configuration element.void
addAllChildren(Configuration other)
Add all childConfiguration
objects from specified configuration element to current configuration element.java.lang.String
addAttribute(java.lang.String name, java.lang.String value)
Deprecated.Use setAttribute() insteadvoid
addChild(Configuration configuration)
Add a childConfiguration
to this configuration element.void
appendValueData(java.lang.String value)
Deprecated.Use setValue() insteadprotected 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 aString
.java.lang.String[]
getAttributeNames()
Return an array of all attribute names.Configuration
getChild(java.lang.String name, boolean createNew)
Return the firstConfiguration
object child of this associated with the given name.int
getChildCount()
Return count of children.Configuration[]
getChildren()
Return an array ofConfiguration
elements containing all node children.Configuration[]
getChildren(java.lang.String name)
Return an array ofConfiguration
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 togetMutableChild( 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 elementprotected java.lang.String
getPrefix()
Returns the prefix of the namespacejava.lang.String
getValue()
Returns the value of the configuration element as aString
.java.lang.String
getValue(java.lang.String defaultValue)
Returns the value of the configuration element as aString
.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(Configuration configuration)
Remove a childConfiguration
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, 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 thisConfiguration
object to the specified boolean.void
setValue(float value)
Set the value of thisConfiguration
object to the specified float.void
setValue(int value)
Set the value of thisConfiguration
object to the specified int.void
setValue(long value)
Set the value of thisConfiguration
object to the specified long.void
setValue(java.lang.String value)
Set the value of thisConfiguration
object to the specified string.-
Methods inherited from class org.apache.avalon.framework.configuration.AbstractConfiguration
getAttribute, getAttributeAsBoolean, getAttributeAsBoolean, getAttributeAsFloat, getAttributeAsFloat, getAttributeAsInteger, getAttributeAsInteger, getAttributeAsLong, getAttributeAsLong, getChild, getValueAsBoolean, getValueAsBoolean, getValueAsFloat, getValueAsFloat, getValueAsInteger, getValueAsInteger, getValueAsLong, getValueAsLong, toString
-
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, getAttributeAsFloat, getAttributeAsFloat, getAttributeAsInteger, getAttributeAsInteger, getAttributeAsLong, getAttributeAsLong, getChild, getValueAsBoolean, getValueAsBoolean, getValueAsFloat, getValueAsFloat, getValueAsInteger, getValueAsInteger, getValueAsLong, getValueAsLong
-
-
-
-
Field Detail
-
EMPTY_ARRAY
protected static final Configuration[] EMPTY_ARRAY
An empty (length zero) array of configuration objects.
-
-
Constructor Detail
-
DefaultConfiguration
public DefaultConfiguration(Configuration config) throws ConfigurationException
Shallow copy constructor, suitable for craeting a writable clone of a read-only configuration. To modify children, usegetChild()
,removeChild()
andaddChild()
.- Parameters:
config
- theConfiguration
to copy- Throws:
ConfigurationException
- if an error occurs when copying
-
DefaultConfiguration
public DefaultConfiguration(java.lang.String name)
Create a newDefaultConfiguration
instance.- Parameters:
name
- aString
value
-
DefaultConfiguration
public DefaultConfiguration(java.lang.String name, java.lang.String location)
Create a newDefaultConfiguration
instance.- Parameters:
name
- aString
valuelocation
- aString
value
-
DefaultConfiguration
public DefaultConfiguration(java.lang.String name, java.lang.String location, java.lang.String ns, java.lang.String prefix)
Create a newDefaultConfiguration
instance.- Parameters:
name
- config node namelocation
- Builder-specific locator stringns
- 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 interfaceConfiguration
- Returns:
- a
String
value
-
getNamespace
public java.lang.String getNamespace() throws ConfigurationException
Returns the namespace of this configuration element- Specified by:
getNamespace
in interfaceConfiguration
- Returns:
- a
String
value - Throws:
ConfigurationException
- if an error occurs- Since:
- 4.1
-
getPrefix
protected java.lang.String getPrefix() throws ConfigurationException
Returns the prefix of the namespace- Specified by:
getPrefix
in classAbstractConfiguration
- Returns:
- a
String
value - Throws:
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 interfaceConfiguration
- Returns:
- a
String
value
-
getValue
public java.lang.String getValue(java.lang.String defaultValue)
Returns the value of the configuration element as aString
.- Specified by:
getValue
in interfaceConfiguration
- Overrides:
getValue
in classAbstractConfiguration
- Parameters:
defaultValue
- the default value to return if value malformed or empty- Returns:
- a
String
value
-
getValue
public java.lang.String getValue() throws ConfigurationException
Returns the value of the configuration element as aString
.- Specified by:
getValue
in interfaceConfiguration
- Returns:
- a
String
value - Throws:
ConfigurationException
- If the value is not present.
-
getAttributeNames
public java.lang.String[] getAttributeNames()
Return an array of all attribute names.- Specified by:
getAttributeNames
in interfaceConfiguration
- Returns:
- a
String[]
value
-
getChildren
public Configuration[] getChildren()
Return an array ofConfiguration
elements containing all node children.- Specified by:
getChildren
in interfaceConfiguration
- Returns:
- The child nodes with name
-
getAttribute
public java.lang.String getAttribute(java.lang.String name) throws ConfigurationException
Returns the value of the attribute specified by its name as aString
.- Specified by:
getAttribute
in interfaceConfiguration
- Parameters:
name
- aString
value- Returns:
- a
String
value - Throws:
ConfigurationException
- If the attribute is not present.
-
getChild
public Configuration getChild(java.lang.String name, boolean createNew)
Return the firstConfiguration
object child of this associated with the given name.- Specified by:
getChild
in interfaceConfiguration
- Overrides:
getChild
in classAbstractConfiguration
- Parameters:
name
- aString
valuecreateNew
- aboolean
value- Returns:
- a
Configuration
value
-
getChildren
public Configuration[] getChildren(java.lang.String name)
Return an array ofConfiguration
objects children of this associated with the given name.
The returned array may be empty but is nevernull
.- Specified by:
getChildren
in interfaceConfiguration
- Parameters:
name
- The name of the required childrenConfiguration
.- Returns:
- a
Configuration[]
value
-
appendValueData
public void appendValueData(java.lang.String value)
Deprecated.Use setValue() insteadAppend data to the value of this configuration element.- Parameters:
value
- aString
value
-
setValue
public void setValue(java.lang.String value)
Set the value of thisConfiguration
object to the specified string.- Specified by:
setValue
in interfaceMutableConfiguration
- Parameters:
value
- aString
value
-
setValue
public void setValue(int value)
Set the value of thisConfiguration
object to the specified int.- Specified by:
setValue
in interfaceMutableConfiguration
- Parameters:
value
- aint
value
-
setValue
public void setValue(long value)
Set the value of thisConfiguration
object to the specified long.- Specified by:
setValue
in interfaceMutableConfiguration
- Parameters:
value
- along
value
-
setValue
public void setValue(boolean value)
Set the value of thisConfiguration
object to the specified boolean.- Specified by:
setValue
in interfaceMutableConfiguration
- Parameters:
value
- aboolean
value
-
setValue
public void setValue(float value)
Set the value of thisConfiguration
object to the specified float.- Specified by:
setValue
in interfaceMutableConfiguration
- Parameters:
value
- afloat
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 interfaceMutableConfiguration
- Parameters:
name
- name of the attribute to setvalue
- aString
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 interfaceMutableConfiguration
- Parameters:
name
- name of the attribute to setvalue
- anint
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 interfaceMutableConfiguration
- Parameters:
name
- name of the attribute to setvalue
- anlong
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 interfaceMutableConfiguration
- Parameters:
name
- name of the attribute to setvalue
- anboolean
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 interfaceMutableConfiguration
- Parameters:
name
- name of the attribute to setvalue
- anfloat
value
-
addAttribute
public java.lang.String addAttribute(java.lang.String name, java.lang.String value)
Deprecated.Use setAttribute() insteadAdd an attribute to this configuration element, returning its old value or null.- Parameters:
name
- aString
valuevalue
- aString
value- Returns:
- a
String
value
-
addChild
public void addChild(Configuration configuration)
Add a childConfiguration
to this configuration element.- Specified by:
addChild
in interfaceMutableConfiguration
- Parameters:
configuration
- aConfiguration
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 interfaceMutableConfiguration
- Parameters:
other
- theConfiguration
element
-
addAllAttributes
public void addAllAttributes(Configuration other)
Add all attributes from specified configuration element to current configuration element.- Specified by:
addAllAttributes
in interfaceMutableConfiguration
- Parameters:
other
- theConfiguration
element
-
addAllChildren
public void addAllChildren(Configuration other)
Add all childConfiguration
objects from specified configuration element to current configuration element.- Specified by:
addAllChildren
in interfaceMutableConfiguration
- Parameters:
other
- the otherConfiguration
value
-
removeChild
public void removeChild(Configuration configuration)
Remove a childConfiguration
to this configuration element.- Specified by:
removeChild
in interfaceMutableConfiguration
- Parameters:
configuration
- aConfiguration
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.
-
getMutableChild
public MutableConfiguration getMutableChild(java.lang.String name) throws ConfigurationException
Description copied from interface:MutableConfiguration
Equivalent togetMutableChild( name, true )
- Specified by:
getMutableChild
in interfaceMutableConfiguration
- Throws:
ConfigurationException
-
getMutableChild
public MutableConfiguration getMutableChild(java.lang.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, andautoCreate
istrue
, a new mutable child is created and added to this configuration before being returned.- Specified by:
getMutableChild
in interfaceMutableConfiguration
- 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
ifautoCreate
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 forgetMutableChild
.- Specified by:
getMutableChildren
in interfaceMutableConfiguration
- Throws:
ConfigurationException
- if an error occurrs.
-
getMutableChildren
public MutableConfiguration[] getMutableChildren(java.lang.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 forgetMutableChild
.- Specified by:
getMutableChildren
in interfaceMutableConfiguration
- Throws:
ConfigurationException
- if an error occurrs.
-
equals
public boolean equals(java.lang.Object other)
Compare if this configuration is equal to another.- Overrides:
equals
in classjava.lang.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 classjava.lang.Object
- Returns:
- the hashcode.
-
-