public class DefaultConfigurationBuilder
extends java.lang.Object
Configurations from XML,
via a SAX2 compliant parser.
XML namespace support is optional, and disabled by default to preserve
backwards-compatibility. To enable it, pass the DefaultConfigurationBuilder(boolean) constructor the flag true, or pass
a namespace-enabled XMLReader to the DefaultConfigurationBuilder(XMLReader) constructor.
The mapping from XML namespaces to Configuration namespaces is pretty
straightforward, with one caveat: attribute namespaces are (deliberately) not
supported. Enabling namespace processing has the following effects:
xmlns: are interpreted as
declaring a prefix:namespaceURI mapping, and won't result in the creation of
xmlns-prefixed attributes in the Configuration.
Configuration with getName().equals("title") and getNamespace().equals("http://foo.com").
Whitespace handling. Since mixed content is not allowed in the
configurations, whitespace is completely discarded in non-leaf nodes.
For the leaf nodes the default behavior is to trim the space
surrounding the value. This can be changed by specifying
xml:space attribute with value of preserve
in that case the whitespace is left intact.
| Modifier and Type | Field | Description |
|---|---|---|
private SAXConfigurationHandler |
m_handler |
|
private org.xml.sax.XMLReader |
m_parser |
| Constructor | Description |
|---|---|
DefaultConfigurationBuilder() |
Create a Configuration Builder with a default XMLReader that ignores
namespaces.
|
DefaultConfigurationBuilder(boolean enableNamespaces) |
Create a Configuration Builder, specifying a flag that determines
namespace support.
|
DefaultConfigurationBuilder(org.xml.sax.XMLReader parser) |
Create a Configuration Builder with your own XMLReader.
|
| Modifier and Type | Method | Description |
|---|---|---|
org.apache.avalon.framework.configuration.Configuration |
build(java.io.InputStream inputStream) |
Build a configuration object using an InputStream.
|
org.apache.avalon.framework.configuration.Configuration |
build(java.io.InputStream inputStream,
java.lang.String systemId) |
Build a configuration object using an InputStream;
supplying a systemId to make messages about all
kinds of errors more meaningfull.
|
org.apache.avalon.framework.configuration.Configuration |
build(java.lang.String uri) |
Build a configuration object using an URI
|
org.apache.avalon.framework.configuration.Configuration |
build(org.xml.sax.InputSource input) |
Build a configuration object using an XML InputSource object
|
org.apache.avalon.framework.configuration.Configuration |
buildFromFile(java.io.File file) |
Build a configuration object from a file using a File object.
|
org.apache.avalon.framework.configuration.Configuration |
buildFromFile(java.lang.String filename) |
Build a configuration object from a file using a filename.
|
protected SAXConfigurationHandler |
getHandler() |
Get a SAXConfigurationHandler for your configuration reading.
|
void |
setEntityResolver(org.xml.sax.EntityResolver resolver) |
Sets the
EntityResolver to
be used by parser. |
private void |
setParser(org.xml.sax.XMLReader parser) |
Internally sets up the XMLReader
|
private SAXConfigurationHandler m_handler
private org.xml.sax.XMLReader m_parser
public DefaultConfigurationBuilder()
public DefaultConfigurationBuilder(boolean enableNamespaces)
enableNamespaces - If true, a namespace-aware
SAXParser is used. If false, the default JAXP
SAXParser (without namespace support) is used.public DefaultConfigurationBuilder(org.xml.sax.XMLReader parser)
parser - an XMLReaderprivate void setParser(org.xml.sax.XMLReader parser)
protected SAXConfigurationHandler getHandler()
SAXConfigurationHandlerpublic org.apache.avalon.framework.configuration.Configuration buildFromFile(java.lang.String filename)
throws org.xml.sax.SAXException,
java.io.IOException,
org.apache.avalon.framework.configuration.ConfigurationException
filename - name of the fileConfiguration objectorg.xml.sax.SAXException - if a parsing error occursjava.io.IOException - if an I/O error occursorg.apache.avalon.framework.configuration.ConfigurationException - if an error occurspublic org.apache.avalon.framework.configuration.Configuration buildFromFile(java.io.File file)
throws org.xml.sax.SAXException,
java.io.IOException,
org.apache.avalon.framework.configuration.ConfigurationException
file - a File objectConfiguration objectorg.xml.sax.SAXException - if a parsing error occursjava.io.IOException - if an I/O error occursorg.apache.avalon.framework.configuration.ConfigurationException - if an error occurspublic org.apache.avalon.framework.configuration.Configuration build(java.io.InputStream inputStream)
throws org.xml.sax.SAXException,
java.io.IOException,
org.apache.avalon.framework.configuration.ConfigurationException
inputStream - an InputStream valueConfiguration objectorg.xml.sax.SAXException - if a parsing error occursjava.io.IOException - if an I/O error occursorg.apache.avalon.framework.configuration.ConfigurationException - if an error occurspublic org.apache.avalon.framework.configuration.Configuration build(java.io.InputStream inputStream,
java.lang.String systemId)
throws org.xml.sax.SAXException,
java.io.IOException,
org.apache.avalon.framework.configuration.ConfigurationException
inputStream - an InputStream valuesystemId - the systemId to set on the intermediate sax
inputSourceConfiguration objectorg.xml.sax.SAXException - if a parsing error occursjava.io.IOException - if an I/O error occursorg.apache.avalon.framework.configuration.ConfigurationException - if an error occurspublic org.apache.avalon.framework.configuration.Configuration build(java.lang.String uri)
throws org.xml.sax.SAXException,
java.io.IOException,
org.apache.avalon.framework.configuration.ConfigurationException
uri - a String valueConfiguration objectorg.xml.sax.SAXException - if a parsing error occursjava.io.IOException - if an I/O error occursorg.apache.avalon.framework.configuration.ConfigurationException - if an error occurspublic org.apache.avalon.framework.configuration.Configuration build(org.xml.sax.InputSource input)
throws org.xml.sax.SAXException,
java.io.IOException,
org.apache.avalon.framework.configuration.ConfigurationException
input - an InputSource valueConfiguration objectorg.xml.sax.SAXException - if a parsing error occursjava.io.IOException - if an I/O error occursorg.apache.avalon.framework.configuration.ConfigurationException - if an error occurspublic void setEntityResolver(org.xml.sax.EntityResolver resolver)
EntityResolver to
be used by parser. Useful when dealing with xml
files that reference external entities.resolver - implementation of EntityResolver