Class DefaultConfigurationBuilder
- java.lang.Object
-
- gov.aps.jca.configuration.DefaultConfigurationBuilder
-
public class DefaultConfigurationBuilder extends Object
A DefaultConfigurationBuilder buildsConfigurations 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-enabledXMLReaderto theDefaultConfigurationBuilder(XMLReader)constructor.The mapping from XML namespaces to
Configurationnamespaces 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
ConfigurationwithandgetName().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:spaceattribute with value ofpreservein that case the whitespace is left intact.- Version:
- 1.0
- Author:
- Federico Barbieri, Peter Donald, Berin Loritsch
- 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(XMLReader parser)Create a Configuration Builder with your own XMLReader.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Configurationbuild(InputStream inputStream)Build a configuration object using an InputStream.Configurationbuild(String uri)Build a configuration object using an URIConfigurationbuild(InputSource input)Build a configuration object using an XML InputSource objectConfigurationbuildFromFile(File file)Build a configuration object from a file using a File object.ConfigurationbuildFromFile(String filename)Build a configuration object from a file using a filename.protected SAXConfigurationHandlergetHandler()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-awareSAXParseris used. Iffalse, the default JAXPSAXParser(without namespace support) is used.
-
DefaultConfigurationBuilder
public DefaultConfigurationBuilder(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(String filename) throws SAXException, IOException, ConfigurationException
Build a configuration object from a file using a filename.- Parameters:
filename- name of the file- Returns:
- a
Configurationobject - Throws:
SAXException- if a parsing error occursIOException- if an I/O error occursConfigurationException- 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- aFileobject- Returns:
- a
Configurationobject - Throws:
SAXException- if a parsing error occursIOException- if an I/O error occursConfigurationException- if an error occurs
-
build
public Configuration build(InputStream inputStream) throws SAXException, IOException, ConfigurationException
Build a configuration object using an InputStream.- Parameters:
inputStream- anInputStreamvalue- Returns:
- a
Configurationobject - Throws:
SAXException- if a parsing error occursIOException- if an I/O error occursConfigurationException- if an error occurs
-
build
public Configuration build(String uri) throws SAXException, IOException, ConfigurationException
Build a configuration object using an URI- Parameters:
uri- aStringvalue- Returns:
- a
Configurationobject - Throws:
SAXException- if a parsing error occursIOException- if an I/O error occursConfigurationException- 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- anInputSourcevalue- Returns:
- a
Configurationobject - Throws:
SAXException- if a parsing error occursIOException- if an I/O error occursConfigurationException- if an error occurs
-
-