org.apache.avalon.framework.configuration
Class DefaultConfigurationBuilder

java.lang.Object
  |
  +--org.apache.avalon.framework.configuration.DefaultConfigurationBuilder

public class DefaultConfigurationBuilder
extends 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:

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:
CVS $Revision: 1.26 $ $Date: 2003/02/11 16:19:27 $
Author:
Avalon Development Team

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(InputSource input)
          Build a configuration object using an XML InputSource object
 Configuration build(InputStream inputStream)
          Build a configuration object using an InputStream.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 - If true, a namespace-aware SAXParser is used. If false, the default JAXP SAXParser (without namespace support) is used.
Since:
4.1

DefaultConfigurationBuilder

public DefaultConfigurationBuilder(XMLReader parser)
Create a Configuration Builder with your own XMLReader.

Parameters:
parser - an XMLReader
Method Detail

getHandler

protected SAXConfigurationHandler getHandler()
Get a SAXConfigurationHandler for your configuration reading.

Returns:
a SAXConfigurationHandler

buildFromFile

public Configuration buildFromFile(String filename)
                            throws SAXException,
                                   IOException,
                                   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 occurs
IOException - if an I/O error occurs
ConfigurationException - if an error occurs

buildFromFile

public Configuration buildFromFile(File file)
                            throws SAXException,
                                   IOException,
                                   ConfigurationException
Build a configuration object from a file using a File object.

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

build

public Configuration build(InputStream inputStream)
                    throws SAXException,
                           IOException,
                           ConfigurationException
Build a configuration object using an InputStream.

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

build

public Configuration build(String uri)
                    throws SAXException,
                           IOException,
                           ConfigurationException
Build a configuration object using an URI

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

build

public Configuration build(InputSource input)
                    throws SAXException,
                           IOException,
                           ConfigurationException
Build a configuration object using an XML InputSource object

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


Copyright © 2001 Apache Jakarta Project. All Rights Reserved.