org.apache.avalon.framework.configuration
public class DefaultConfigurationBuilder extends Object
Configuration
s 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 constructor the flag true
, or pass
a namespace-enabled XMLReader
to the DefaultConfigurationBuilder 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 Configuration#getName getName()
.equals("title")
and Configuration#getNamespace 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.
Version: $Id: DefaultConfigurationBuilder.java 30977 2004-07-30 03:57:54 -0500 (Fri, 30 Jul 2004) niclas $
Field Summary | |
---|---|
SAXConfigurationHandler | m_handler |
XMLReader | m_parser |
Constructor Summary | |
---|---|
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(XMLReader parser)
Create a Configuration Builder with your own XMLReader. |
Method Summary | |
---|---|
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 | build(InputSource input)
Build a configuration object using an XML InputSource object |
Configuration | buildFromFile(String filename)
Build a configuration object from a file using a filename. |
Configuration | buildFromFile(File file)
Build a configuration object from a file using a File object. |
protected SAXConfigurationHandler | getHandler()
Get a SAXConfigurationHandler for your configuration reading. |
void | setEntityResolver(EntityResolver resolver)
Sets the EntityResolver to
be used by parser. |
void | setParser(XMLReader parser)
Internally sets up the XMLReader |
Parameters: enableNamespaces If true
, a namespace-aware
SAXParser
is used. If false
, the default JAXP
SAXParser
(without namespace support) is used.
Since: 4.1
Parameters: parser an XMLReader
Parameters: inputStream an InputStream
value
Returns: a Configuration
object
Throws: SAXException if a parsing error occurs IOException if an I/O error occurs ConfigurationException if an error occurs
Parameters: inputStream an InputStream
value systemId the systemId to set on the intermediate sax
inputSource
Returns: a Configuration
object
Throws: SAXException if a parsing error occurs IOException if an I/O error occurs ConfigurationException if an error occurs
Parameters: uri a String
value
Returns: a Configuration
object
Throws: SAXException if a parsing error occurs IOException if an I/O error occurs ConfigurationException if an error occurs
Parameters: input an InputSource
value
Returns: a Configuration
object
Throws: SAXException if a parsing error occurs IOException if an I/O error occurs ConfigurationException if an error occurs
Parameters: filename name of the file
Returns: a Configuration
object
Throws: SAXException if a parsing error occurs IOException if an I/O error occurs ConfigurationException if an error occurs
Parameters: file a File
object
Returns: a Configuration
object
Throws: SAXException if a parsing error occurs IOException if an I/O error occurs ConfigurationException if an error occurs
Returns: a SAXConfigurationHandler
EntityResolver
to
be used by parser. Useful when dealing with xml
files that reference external entities.
Parameters: resolver implementation of EntityResolver