org.apache.avalon.framework.configuration

Class DefaultConfiguration

Implemented Interfaces:
MutableConfiguration, Serializable

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

Field Summary

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

Constructor Summary

DefaultConfiguration(Configuration config)
Shallow copy constructor, suitable for craeting a writable clone of a read-only configuration.
DefaultConfiguration(String name)
Create a new DefaultConfiguration instance.
DefaultConfiguration(String name, String location)
Create a new DefaultConfiguration instance.
DefaultConfiguration(String name, String location, String ns, String prefix)
Create a new DefaultConfiguration instance.

Method Summary

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 child Configuration objects from specified configuration element to current configuration element.
String
addAttribute(String name, String value)
Deprecated. Use setAttribute() instead
void
addChild(Configuration configuration)
Add a child Configuration to this configuration element.
void
appendValueData(String value)
Deprecated. Use setValue() instead
protected void
checkWriteable()
heck if this configuration is writeable.
boolean
equals(Object other)
Compare if this configuration is equal to another.
String
getAttribute(String name)
Returns the value of the attribute specified by its name as a String.
String[]
getAttributeNames()
Return an array of all attribute names.
Configuration
getChild(String name, boolean createNew)
Return the first Configuration object child of this associated with the given name.
int
getChildCount()
Return count of children.
Configuration[]
getChildren()
Return an array of Configuration elements containing all node children.
Configuration[]
getChildren(String name)
Return an array of Configuration objects children of this associated with the given name.
String
getLocation()
Returns a description of location of element.
MutableConfiguration
getMutableChild(String name)
MutableConfiguration
getMutableChild(String name, boolean autoCreate)
MutableConfiguration[]
getMutableChildren()
MutableConfiguration[]
getMutableChildren(String name)
String
getName()
Returns the name of this configuration element.
String
getNamespace()
Returns the namespace of this configuration element
protected String
getPrefix()
Returns the prefix of the namespace
String
getValue()
Returns the value of the configuration element as a String.
String
getValue(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(Configuration configuration)
Remove a child Configuration to this configuration element.
void
setAttribute(String name, String value)
Set the value of the specified attribute to the specified string.
void
setAttribute(String name, boolean value)
Set the value of the specified attribute to the specified boolean.
void
setAttribute(String name, float value)
Set the value of the specified attribute to the specified float.
void
setAttribute(String name, int value)
Set the value of the specified attribute to the specified int.
void
setAttribute(String name, long value)
Set the value of the specified attribute to the specified long.
void
setValue(String value)
Set the value of this Configuration object to the specified string.
void
setValue(boolean value)
Set the value of this Configuration object to the specified boolean.
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.

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

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

addAll

public void addAll(Configuration other)
Add all the attributes, children and value from specified configuration element to current configuration element.
Parameters:
other - the Configuration element

addAllAttributes

public void addAllAttributes(Configuration other)
Add all attributes from specified configuration element to current configuration element.
Parameters:
other - the Configuration element

addAllChildren

public void addAllChildren(Configuration other)
Add all child Configuration objects from specified configuration element to current configuration element.
Parameters:
other - the other Configuration 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.
Parameters:
configuration - 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

checkWriteable

protected final void checkWriteable()
            throws IllegalStateException
heck if this configuration is writeable.

equals

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

getAttribute

public String getAttribute(String name)
            throws ConfigurationException
Returns the value of the attribute specified by its name as a String.
Parameters:
name - a String value
Returns:
a String value

getAttributeNames

public String[] getAttributeNames()
Return an array of all attribute names.
Returns:
a String[] value

getChild

public Configuration getChild(String name,
                              boolean createNew)
Return the first Configuration object child of this associated with the given name.
Parameters:
name - a String value
createNew - a boolean value
Returns:
a Configuration value

getChildCount

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

getChildren

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

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

getLocation

public String getLocation()
Returns a description of location of element.
Returns:
a String value

getMutableChild

public MutableConfiguration getMutableChild(String name)
            throws ConfigurationException

getMutableChild

public MutableConfiguration getMutableChild(String name,
                                            boolean autoCreate)
            throws ConfigurationException

getMutableChildren

public MutableConfiguration[] getMutableChildren()
            throws ConfigurationException

getMutableChildren

public MutableConfiguration[] getMutableChildren(String name)
            throws ConfigurationException

getName

public String getName()
Returns the name of this configuration element.
Returns:
a String value

getNamespace

public String getNamespace()
            throws ConfigurationException
Returns the namespace of this configuration element
Returns:
a String value
Since:
4.1

getPrefix

protected String getPrefix()
            throws ConfigurationException
Returns the prefix of the namespace
Returns:
a String value
Since:
4.1

getValue

public String getValue()
            throws ConfigurationException
Returns the value of the configuration element as a String.
Returns:
a String value

getValue

public String getValue(String defaultValue)
Returns the value of the configuration element as a String.
Parameters:
defaultValue - the default value to return if value malformed or empty
Returns:
a String value

hashCode

public int hashCode()
Obtaine the hashcode for this configuration.
Returns:
the hashcode.

isReadOnly

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

makeReadOnly

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

removeChild

public void removeChild(Configuration configuration)
Remove a child Configuration to this configuration element.
Parameters:
configuration - a Configuration value

setAttribute

public void setAttribute(String name,
                         String value)
Set the value of the specified attribute to the specified string.
Parameters:
name - name of the attribute to set
value - a String value

setAttribute

public void setAttribute(String name,
                         boolean value)
Set the value of the specified attribute to the specified boolean.
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.
Parameters:
name - name of the attribute to set
value - an float value

setAttribute

public void setAttribute(String name,
                         int value)
Set the value of the specified attribute to the specified int.
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.
Parameters:
name - name of the attribute to set
value - an long value

setValue

public void setValue(String value)
Set the value of this Configuration object to the specified string.
Parameters:
value - a String value

setValue

public void setValue(boolean value)
Set the value of this Configuration object to the specified boolean.
Parameters:
value - a boolean value

setValue

public void setValue(float value)
Set the value of this Configuration object to the specified float.
Parameters:
value - a float value

setValue

public void setValue(int value)
Set the value of this Configuration object to the specified int.
Parameters:
value - a int value

setValue

public void setValue(long value)
Set the value of this Configuration object to the specified long.
Parameters:
value - a long value