Class DefaultConfigurationBuilder
- java.lang.Object
-
- org.apache.avalon.framework.configuration.DefaultConfigurationBuilder
-
public class DefaultConfigurationBuilder extends java.lang.Object
A DefaultConfigurationBuilder buildsConfiguration
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 flagtrue
, or pass a namespace-enabledXMLReader
to theDefaultConfigurationBuilder(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 ofpreserve
in that case the whitespace is left intact.- Version:
- CVS $Revision: 1.26 $ $Date: 2003/02/11 16:19:27 $
- Author:
- Avalon Development Team
- Attributes starting with
-
-
Constructor Summary
Constructors 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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Configuration
build(java.io.InputStream inputStream)
Build a configuration object using an InputStream.Configuration
build(java.lang.String uri)
Build a configuration object using an URIConfiguration
build(org.xml.sax.InputSource input)
Build a configuration object using an XML InputSource objectConfiguration
buildFromFile(java.io.File file)
Build a configuration object from a file using a File object.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.
-
-
-
Constructor Detail
-
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
public DefaultConfigurationBuilder(org.xml.sax.XMLReader parser)
Create a Configuration Builder with your own XMLReader.- Parameters:
parser
- anXMLReader
-
-
Method Detail
-
getHandler
protected SAXConfigurationHandler getHandler()
Get a SAXConfigurationHandler for your configuration reading.- Returns:
- a
SAXConfigurationHandler
-
buildFromFile
public Configuration buildFromFile(java.lang.String filename) throws org.xml.sax.SAXException, java.io.IOException, ConfigurationException
Build a configuration object from a file using a filename.- Parameters:
filename
- name of the file- Returns:
- a
Configuration
object - Throws:
org.xml.sax.SAXException
- if a parsing error occursjava.io.IOException
- if an I/O error occursConfigurationException
- if an error occurs
-
buildFromFile
public Configuration buildFromFile(java.io.File file) throws org.xml.sax.SAXException, java.io.IOException, ConfigurationException
Build a configuration object from a file using a File object.- Parameters:
file
- aFile
object- Returns:
- a
Configuration
object - Throws:
org.xml.sax.SAXException
- if a parsing error occursjava.io.IOException
- if an I/O error occursConfigurationException
- if an error occurs
-
build
public Configuration build(java.io.InputStream inputStream) throws org.xml.sax.SAXException, java.io.IOException, ConfigurationException
Build a configuration object using an InputStream.- Parameters:
inputStream
- anInputStream
value- Returns:
- a
Configuration
object - Throws:
org.xml.sax.SAXException
- if a parsing error occursjava.io.IOException
- if an I/O error occursConfigurationException
- if an error occurs
-
build
public Configuration build(java.lang.String uri) throws org.xml.sax.SAXException, java.io.IOException, ConfigurationException
Build a configuration object using an URI- Parameters:
uri
- aString
value- Returns:
- a
Configuration
object - Throws:
org.xml.sax.SAXException
- if a parsing error occursjava.io.IOException
- if an I/O error occursConfigurationException
- if an error occurs
-
build
public Configuration build(org.xml.sax.InputSource input) throws org.xml.sax.SAXException, java.io.IOException, ConfigurationException
Build a configuration object using an XML InputSource object- Parameters:
input
- anInputSource
value- Returns:
- a
Configuration
object - Throws:
org.xml.sax.SAXException
- if a parsing error occursjava.io.IOException
- if an I/O error occursConfigurationException
- if an error occurs
-
-