|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.extex.framework.configuration.impl.XmlConfiguration
public class XmlConfiguration
This class provides means to deal with configurations stored as XML files.
| Field Summary | |
|---|---|
protected static long |
serialVersionUID
The constant serialVersionUID contains the id for serialization. |
| Constructor Summary | |
|---|---|
XmlConfiguration(java.io.InputStream stream,
java.lang.String resource)
Creates a new object and fills it with the configuration read from an input stream. |
|
XmlConfiguration(java.lang.String resource)
Creates a new object. |
|
| Method Summary | |
|---|---|
Configuration |
findConfiguration(java.lang.String name)
Extract a sub-configuration with a given name. |
Configuration |
findConfiguration(java.lang.String key,
java.lang.String attribute)
Extract a sub-configuration with a given name and a given attribute. |
java.lang.String |
getAttribute(java.lang.String name)
Getter for an attribute with a given name. |
Configuration |
getConfiguration(java.lang.String name)
Extract a sub-configuration with a given name. |
Configuration |
getConfiguration(java.lang.String key,
java.lang.String attribute)
Extract a sub-configuration with a given name and a given attribute. |
java.lang.String |
getValue()
Getter for the textual value of this configuration. |
java.lang.String |
getValue(java.lang.String tag)
Get the text value of the first tag with a given name in the configuration. |
int |
getValueAsInteger(java.lang.String key,
int defaultValue)
Retrieve a value from the configuration as int. |
void |
getValues(java.util.List<java.lang.String> list,
java.lang.String key)
Get the list of all values with the given tag name in the current configuration and append them to a given StringList. |
java.util.List<java.lang.String> |
getValues(java.lang.String tag)
Get the list of all values with the given tag name in the current configuration. |
java.util.Iterator<Configuration> |
iterator()
Get an iterator for all sub-configurations. |
java.util.Iterator<Configuration> |
iterator(java.lang.String key)
Retrieve an iterator over all items of a sub-configuration. |
protected void |
readConfiguration(java.io.InputStream stream,
java.lang.String theResource,
java.lang.String theBase)
Read the configuration from a stream. |
void |
setConfigurationLoader(ConfigurationLoader loader)
Sets a loader for new external sources. |
protected Configuration |
src(java.lang.String name,
org.w3c.dom.Node node)
Recursively follow the src attribute if present. |
java.lang.String |
toString()
Get the printable representation of this configuration. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected static final long serialVersionUID
| Constructor Detail |
|---|
public XmlConfiguration(java.io.InputStream stream,
java.lang.String resource)
throws ConfigurationInvalidResourceException,
ConfigurationNotFoundException,
ConfigurationSyntaxException,
ConfigurationIOException
The path given is the location of the XML resource (file) containing the configuration information. This path is used to determine the XML resource utilizing the class loader for this class. Thus it is possible to place the XML file into a jar archive.
Beside of the class loader a search is performed by appending .xml and/or prepending config/ if the path is not sufficient to find the resource.
stream - the stream to read the configuration from.resource - the name of the resource to be used; i.e. something like
the file name
ConfigurationInvalidResourceException - in case that the given
resource name is null or empty.
ConfigurationNotFoundException - in case that the named path does
not lead to a resource.
ConfigurationSyntaxException - in case that the resource contains
syntax errors.
ConfigurationIOException - in case of an IO exception while reading
the resource.
public XmlConfiguration(java.lang.String resource)
throws ConfigurationInvalidResourceException,
ConfigurationNotFoundException,
ConfigurationSyntaxException,
ConfigurationIOException
The path given is the location of the XML file containing the configuration information. This path is used to determine the XML file utilizing the class loader for this class. Thus it is possible to place the XML file into a jar archive.
Beside of the class loader a search is performed by appending .xml and/or prepending config/ if the path is not sufficient to find the resource.
Consider the following creation of an instance of this class
cfg = new XmlConfiguration("cfg");
Then the following files are searched on the classpath until one is
found:
cfg cfg.xml config/cfg config/cfg.xml
resource - the name of the resource to be used; i.e. the file name
ConfigurationInvalidResourceException - in case that the given
resource name is null or empty
ConfigurationNotFoundException - in case that the named path does
not lead to a resource
ConfigurationSyntaxException - in case that the resource contains
syntax errors
ConfigurationIOException - in case of an IO exception while reading
the resource| Method Detail |
|---|
public Configuration findConfiguration(java.lang.String name)
throws ConfigurationInvalidResourceException,
ConfigurationNotFoundException,
ConfigurationSyntaxException,
ConfigurationIOException
Consider the following example with the configuration currently rooted at cfg:
<cfg>
. . .
<abc>
. . .
</abc>
. . .
</cfg>
Then findConfiguration("abc") returns a new XMLConfig rooted at abc.
If there are more than one tags with the same name then the first one is used.
If there are no tags with the given name then an exception is thrown.
findConfiguration in interface Configurationname - the tag name of the sub-configuration
null if none was found
ConfigurationInvalidResourceException - in case that the given
resource name is null or empty
ConfigurationNotFoundException - in case that the named path does
not lead to a resource
ConfigurationSyntaxException - in case that the resource contains
syntax errors
ConfigurationIOException - in case of an IO exception while reading
the resourcegetConfiguration(java.lang.String),
Configuration.findConfiguration(
java.lang.String)
public Configuration findConfiguration(java.lang.String key,
java.lang.String attribute)
throws ConfigurationException
Consider the following example with the configuration currently rooted at cfg:
<cfg>
. . .
<abc name="one">
. . .
</abc>
<abc name="two">
. . .
</abc>
. . .
</cfg>
Then getConfig("abc","two") returns a new XMLConfig rooted at the abc with the name attribute "two".
If there are more than one tags with the same name then the first one is used.
If there are no tags with the given name then null is
returned.
findConfiguration in interface Configurationkey - the tag name of the sub-configurationattribute - the value of the attribute name
ConfigurationException - in case of other errors.public java.lang.String getAttribute(java.lang.String name)
Configuration
getAttribute in interface Configurationname - the tag name of the attribute
null if such an
attribute is not presentConfiguration.getAttribute(
java.lang.String)
public Configuration getConfiguration(java.lang.String name)
throws ConfigurationInvalidResourceException,
ConfigurationNotFoundException,
ConfigurationSyntaxException,
ConfigurationIOException
Consider the following example with the configuration currently rooted at cfg:
<cfg>
. . .
<abc>
. . .
</abc>
. . .
</cfg>
Then getConfiguration("abc") returns a new XMLConfig rooted at abc.
If there are more than one tags with the same name then the first one is used.
If there are no tags with the given name then an exception is thrown.
getConfiguration in interface Configurationname - the tag name of the sub-configuration
ConfigurationNotFoundException - in case that the configuration
does not exist.
ConfigurationIOException - in case that an IOException occurred
while reading the configuration.
ConfigurationSyntaxException - in case of a syntax error in the
configuration.
ConfigurationInvalidResourceException - in case that the given
resource name is null or emptyfindConfiguration(String)
public Configuration getConfiguration(java.lang.String key,
java.lang.String attribute)
throws ConfigurationNotFoundException,
ConfigurationException
Consider the following example with the configuration currently rooted at cfg:
<cfg>
. . .
<abc name="one">
. . .
</abc>
<abc name="two">
. . .
</abc>
. . .
</cfg>
Then getConfig("abc","two") returns a new XMLConfig rooted at the abc with the name attribute "two".
If there are more than one tags with the same name then the first one is used.
If there are no tags with the given name then an exception is thrown.
getConfiguration in interface Configurationkey - the tag name of the sub-configurationattribute - the value of the attribute name
ConfigurationNotFoundException - in case that the given name does
not correspond to one of the tags in the current configuration
ConfigurationException - in case of some other kind of error
public java.lang.String getValue()
throws ConfigurationException
Configuration
getValue in interface ConfigurationConfigurationException - in case that something went wrongConfiguration.getValue()public java.lang.String getValue(java.lang.String tag)
Consider the following example with the configuration currently rooted at cfg:
<cfg>
. . .
<one>the first value</one>
<two>the second value</two>
. . .
</cfg>
Then getValue("two") returns the String "the second value".
getValue in interface Configurationtag - the name of the tag
public int getValueAsInteger(java.lang.String key,
int defaultValue)
throws ConfigurationException
Configuration
getValueAsInteger in interface Configurationkey - the name of the desired valuedefaultValue - the default value
ConfigurationException - in case that something went wrongConfiguration.getValueAsInteger(
java.lang.String, int)
public void getValues(java.util.List<java.lang.String> list,
java.lang.String key)
getValues in interface Configurationlist - the list to append the values tokey - the name of the tags. A value of null is legal.
I this case nothing is appended.Configuration.getValues(java.util.List,
java.lang.String)public java.util.List<java.lang.String> getValues(java.lang.String tag)
getValues in interface Configurationtag - the name of the tags
Configuration.getValues(java.lang.String)public java.util.Iterator<Configuration> iterator()
iterator in interface java.lang.Iterable<Configuration>iterator in interface ConfigurationConfiguration.iterator()
public java.util.Iterator<Configuration> iterator(java.lang.String key)
throws ConfigurationInvalidResourceException,
ConfigurationNotFoundException,
ConfigurationSyntaxException,
ConfigurationIOException
iterator in interface Configurationkey - the name of the sub-configuration
ConfigurationIOException - in case that an IO exception occurs
during the reading of the configuration.
ConfigurationSyntaxException - in case that the configuration
contains a syntax error.
ConfigurationNotFoundException - in case that the specified
configuration can not be found.
ConfigurationInvalidResourceException - in case that the resource
is invalidConfiguration.iterator(java.lang.String)
protected void readConfiguration(java.io.InputStream stream,
java.lang.String theResource,
java.lang.String theBase)
throws ConfigurationNotFoundException,
ConfigurationIOException,
ConfigurationSyntaxException
stream - the stream to read the configuration from.theResource - the name of the resource to be used; i.e. something
like the file nametheBase - the new value for base
ConfigurationNotFoundException - in case that the configuration
could not be found
ConfigurationIOException - in case of an IO error during reading
ConfigurationSyntaxException - in case of a syntax error in the
configuration XMLpublic void setConfigurationLoader(ConfigurationLoader loader)
setConfigurationLoader in interface Configurationloader - the loaderConfiguration.setConfigurationLoader(
org.extex.framework.configuration.ConfigurationLoader)
protected Configuration src(java.lang.String name,
org.w3c.dom.Node node)
throws ConfigurationInvalidResourceException,
ConfigurationNotFoundException,
ConfigurationSyntaxException,
ConfigurationIOException
name - the name of the current tagnode - the current DOM node
ConfigurationInvalidResourceException - in case of an invalid
resource
ConfigurationNotFoundException - in case of a missing configuration
ConfigurationSyntaxException - in case of an syntax error
ConfigurationIOException - in case of an IO errorpublic java.lang.String toString()
toString in class java.lang.ObjectObject.toString()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||