Class DefaultConfigurationBuilder
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(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 ofxmlns
-prefixed attributes in theConfiguration
. -
Prefixed XML elements, like <doc:title xmlns:doc="http://foo.com">,
will result in a
Configuration
with
andgetName()
.equals("title")
.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 $
- Author:
- Avalon Development Team
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCreate 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
Modifier and TypeMethodDescriptionorg.apache.avalon.framework.configuration.Configuration
build
(InputStream inputStream) Build a configuration object using an InputStream.org.apache.avalon.framework.configuration.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.org.apache.avalon.framework.configuration.Configuration
Build a configuration object using an URIorg.apache.avalon.framework.configuration.Configuration
build
(InputSource input) Build a configuration object using an XML InputSource objectorg.apache.avalon.framework.configuration.Configuration
buildFromFile
(File file) Build a configuration object from a file using a File object.org.apache.avalon.framework.configuration.Configuration
buildFromFile
(String filename) Build a configuration object from a file using a filename.protected SAXConfigurationHandler
Get a SAXConfigurationHandler for your configuration reading.void
setEntityResolver
(EntityResolver resolver) Sets theEntityResolver
to be used by parser.private void
Internally sets up the XMLReader
-
Field Details
-
m_handler
-
m_parser
-
-
Constructor Details
-
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(boolean enableNamespaces) Create a Configuration Builder, specifying a flag that determines namespace support.- Parameters:
enableNamespaces
- Iftrue
, a namespace-awareSAXParser
is used. Iffalse
, the default JAXPSAXParser
(without namespace support) is used.- Since:
- 4.1
-
DefaultConfigurationBuilder
Create a Configuration Builder with your own XMLReader.- Parameters:
parser
- anXMLReader
-
-
Method Details
-
setParser
Internally sets up the XMLReader -
getHandler
Get a SAXConfigurationHandler for your configuration reading.- Returns:
- a
SAXConfigurationHandler
-
buildFromFile
public org.apache.avalon.framework.configuration.Configuration buildFromFile(String filename) throws SAXException, IOException, org.apache.avalon.framework.configuration.ConfigurationException Build a configuration object from a file using a filename.- Parameters:
filename
- name of the file- Returns:
- a
Configuration
object - Throws:
SAXException
- if a parsing error occursIOException
- if an I/O error occursorg.apache.avalon.framework.configuration.ConfigurationException
- if an error occurs
-
buildFromFile
public org.apache.avalon.framework.configuration.Configuration buildFromFile(File file) throws SAXException, IOException, org.apache.avalon.framework.configuration.ConfigurationException Build a configuration object from a file using a File object.- Parameters:
file
- aFile
object- Returns:
- a
Configuration
object - Throws:
SAXException
- if a parsing error occursIOException
- if an I/O error occursorg.apache.avalon.framework.configuration.ConfigurationException
- if an error occurs
-
build
public org.apache.avalon.framework.configuration.Configuration build(InputStream inputStream) throws SAXException, IOException, org.apache.avalon.framework.configuration.ConfigurationException Build a configuration object using an InputStream.- Parameters:
inputStream
- anInputStream
value- Returns:
- a
Configuration
object - Throws:
SAXException
- if a parsing error occursIOException
- if an I/O error occursorg.apache.avalon.framework.configuration.ConfigurationException
- if an error occurs
-
build
public org.apache.avalon.framework.configuration.Configuration build(InputStream inputStream, String systemId) throws SAXException, IOException, org.apache.avalon.framework.configuration.ConfigurationException Build a configuration object using an InputStream; supplying a systemId to make messages about all kinds of errors more meaningfull.- Parameters:
inputStream
- anInputStream
valuesystemId
- the systemId to set on the intermediate sax inputSource- Returns:
- a
Configuration
object - Throws:
SAXException
- if a parsing error occursIOException
- if an I/O error occursorg.apache.avalon.framework.configuration.ConfigurationException
- if an error occurs
-
build
public org.apache.avalon.framework.configuration.Configuration build(String uri) throws SAXException, IOException, org.apache.avalon.framework.configuration.ConfigurationException Build a configuration object using an URI- Parameters:
uri
- aString
value- Returns:
- a
Configuration
object - Throws:
SAXException
- if a parsing error occursIOException
- if an I/O error occursorg.apache.avalon.framework.configuration.ConfigurationException
- if an error occurs
-
build
public org.apache.avalon.framework.configuration.Configuration build(InputSource input) throws SAXException, IOException, org.apache.avalon.framework.configuration.ConfigurationException Build a configuration object using an XML InputSource object- Parameters:
input
- anInputSource
value- Returns:
- a
Configuration
object - Throws:
SAXException
- if a parsing error occursIOException
- if an I/O error occursorg.apache.avalon.framework.configuration.ConfigurationException
- if an error occurs
-
setEntityResolver
Sets theEntityResolver
to be used by parser. Useful when dealing with xml files that reference external entities.- Parameters:
resolver
- implementation ofEntityResolver
-