org.apache.avalon.framework.configuration
Class DefaultConfigurationBuilder
java.lang.Objectorg.apache.avalon.framework.configuration.DefaultConfigurationBuilder
public class DefaultConfigurationBuilder
extends java.lang.Object
A DefaultConfigurationBuilder builds
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:
- Attributes starting with
xmlns: are interpreted as
declaring a prefix:namespaceURI mapping, and won't result in the creation of
xmlns-prefixed attributes in the Configuration.
-
Prefixed XML elements, like <doc:title xmlns:doc="http://foo.com">,
will result in a
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.
CVS $Revision: 1.33 $ $Date: 2004/04/03 23:55:54 $
Configuration | build(InputSource input)- Build a configuration object using an XML InputSource object
|
Configuration | build(InputStream inputStream)- Build a configuration object using an InputStream.
|
Configuration | build(InputStream inputStream, String systemId)- Build a configuration object using an InputStream;
supplying a systemId to make messages about all
kinds of errors more meaningfull.
|
Configuration | build(String uri)- Build a configuration object using an URI
|
Configuration | buildFromFile(File file)- Build a configuration object from a file using a File object.
|
Configuration | buildFromFile(String filename)- Build a configuration object from a file using a filename.
|
protected SAXConfigurationHandler | getHandler()- Get a SAXConfigurationHandler for your configuration reading.
|
void | setEntityResolver(EntityResolver resolver)- Sets the
EntityResolver to
be used by parser.
|
DefaultConfigurationBuilder
public DefaultConfigurationBuilder()
Create a Configuration Builder with a default XMLReader that ignores
namespaces. In order to enable namespaces, use either the constructor
that has a boolean or that allows you to pass in your own
namespace-enabled XMLReader.
DefaultConfigurationBuilder
public DefaultConfigurationBuilder(XMLReader parser)
Create a Configuration Builder with your own XMLReader.
DefaultConfigurationBuilder
public DefaultConfigurationBuilder(boolean enableNamespaces)
Create a Configuration Builder, specifying a flag that determines
namespace support.
enableNamespaces - If true, a namespace-aware
SAXParser is used. If false, the default JAXP
SAXParser (without namespace support) is used.
build
public Configuration build(InputSource input)
throws SAXException,
IOException,
ConfigurationException Build a configuration object using an XML InputSource object
input - an InputSource value
build
public Configuration build(InputStream inputStream)
throws SAXException,
IOException,
ConfigurationException Build a configuration object using an InputStream.
inputStream - an InputStream value
build
public Configuration build(InputStream inputStream,
String systemId)
throws SAXException,
IOException,
ConfigurationException Build a configuration object using an InputStream;
supplying a systemId to make messages about all
kinds of errors more meaningfull.
inputStream - an InputStream valuesystemId - the systemId to set on the intermediate sax
inputSource
build
public Configuration build(String uri)
throws SAXException,
IOException,
ConfigurationException Build a configuration object using an URI
buildFromFile
public Configuration buildFromFile(File file)
throws SAXException,
IOException,
ConfigurationException Build a configuration object from a file using a File object.
buildFromFile
public Configuration buildFromFile(String filename)
throws SAXException,
IOException,
ConfigurationException Build a configuration object from a file using a filename.
filename - name of the file
getHandler
protected SAXConfigurationHandler getHandler()
Get a SAXConfigurationHandler for your configuration reading.
- a
SAXConfigurationHandler
setEntityResolver
public void setEntityResolver(EntityResolver resolver)
Sets the EntityResolver to
be used by parser. Useful when dealing with xml
files that reference external entities.
resolver - implementation of EntityResolver