org.apache.commons.configuration
Class ConfigurationXMLReader

java.lang.Object
  extended by org.apache.commons.configuration.ConfigurationXMLReader
All Implemented Interfaces:
org.xml.sax.XMLReader
Direct Known Subclasses:
BaseConfigurationXMLReader, HierarchicalConfigurationXMLReader

public abstract class ConfigurationXMLReader
extends java.lang.Object
implements org.xml.sax.XMLReader

A base class for "faked" XMLReader classes that transform a configuration object in a set of SAX parsing events.

This class provides dummy implementations for most of the methods defined in the XMLReader interface that are not used for this special purpose. There will be concrete sub classes that process specific configuration classes.

Version:
$Id: ConfigurationXMLReader.java 439648 2006-09-02 20:42:10Z oheger $
Author:
Oliver Heger

Field Summary
protected static java.lang.String NS_URI
          Constant for the namespace URI.
 
Constructor Summary
protected ConfigurationXMLReader()
          Creates a new instance of ConfigurationXMLReader.
 
Method Summary
protected  void fireCharacters(java.lang.String text)
          Fires a SAX characters event.
protected  void fireElementEnd(java.lang.String name)
          Fires a SAX element end event.
protected  void fireElementStart(java.lang.String name, org.xml.sax.Attributes attribs)
          Fires a SAX element start event.
 org.xml.sax.ContentHandler getContentHandler()
          Returns the actually set content handler.
 org.xml.sax.DTDHandler getDTDHandler()
          Returns the DTD handler.
 org.xml.sax.EntityResolver getEntityResolver()
          Returns the entity resolver.
 org.xml.sax.ErrorHandler getErrorHandler()
          Returns the error handler.
 org.xml.sax.SAXException getException()
          Returns a reference to an exception that occurred during parsing.
 boolean getFeature(java.lang.String name)
          Dummy implementation of the interface method.
abstract  Configuration getParsedConfiguration()
          Returns a reference to the configuration that is parsed by this object.
 java.lang.Object getProperty(java.lang.String name)
          Dummy implementation of the interface method.
 java.lang.String getRootName()
          Returns the name to be used for the root element.
 void parse(org.xml.sax.InputSource input)
          Parses the acutal configuration object.
 void parse(java.lang.String systemId)
          Parses the acutal configuration object.
protected  void parseConfiguration()
          Parses the configuration object and generates SAX events.
protected abstract  void processKeys()
          Processes all keys stored in the actual configuration.
 void setContentHandler(org.xml.sax.ContentHandler handler)
          Sets the content handler.
 void setDTDHandler(org.xml.sax.DTDHandler handler)
          Sets the DTD handler.
 void setEntityResolver(org.xml.sax.EntityResolver resolver)
          Sets the entity resolver.
 void setErrorHandler(org.xml.sax.ErrorHandler handler)
          Sets the error handler.
 void setFeature(java.lang.String name, boolean value)
          Dummy implementation of the interface method.
 void setProperty(java.lang.String name, java.lang.Object value)
          Dummy implementation of the interface method.
 void setRootName(java.lang.String string)
          Sets the name for the root element.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NS_URI

protected static final java.lang.String NS_URI
Constant for the namespace URI.

See Also:
Constant Field Values
Constructor Detail

ConfigurationXMLReader

protected ConfigurationXMLReader()
Creates a new instance of ConfigurationXMLReader.

Method Detail

parse

public void parse(java.lang.String systemId)
           throws java.io.IOException,
                  org.xml.sax.SAXException
Parses the acutal configuration object. The passed system ID will be ignored.

Specified by:
parse in interface org.xml.sax.XMLReader
Parameters:
systemId - the system ID (ignored)
Throws:
java.io.IOException - if no configuration was specified
org.xml.sax.SAXException - if an error occurs during parsing

parse

public void parse(org.xml.sax.InputSource input)
           throws java.io.IOException,
                  org.xml.sax.SAXException
Parses the acutal configuration object. The passed input source will be ignored.

Specified by:
parse in interface org.xml.sax.XMLReader
Parameters:
input - the input source (ignored)
Throws:
java.io.IOException - if no configuration was specified
org.xml.sax.SAXException - if an error occurs during parsing

getFeature

public boolean getFeature(java.lang.String name)
Dummy implementation of the interface method.

Specified by:
getFeature in interface org.xml.sax.XMLReader
Parameters:
name - the name of the feature
Returns:
always false (no features are supported)

setFeature

public void setFeature(java.lang.String name,
                       boolean value)
Dummy implementation of the interface method.

Specified by:
setFeature in interface org.xml.sax.XMLReader
Parameters:
name - the name of the feature to be set
value - the value of the feature

getContentHandler

public org.xml.sax.ContentHandler getContentHandler()
Returns the actually set content handler.

Specified by:
getContentHandler in interface org.xml.sax.XMLReader
Returns:
the content handler

setContentHandler

public void setContentHandler(org.xml.sax.ContentHandler handler)
Sets the content handler. The object specified here will receive SAX events during parsing.

Specified by:
setContentHandler in interface org.xml.sax.XMLReader
Parameters:
handler - the content handler

getDTDHandler

public org.xml.sax.DTDHandler getDTDHandler()
Returns the DTD handler. This class does not support DTD handlers, so this method always returns null.

Specified by:
getDTDHandler in interface org.xml.sax.XMLReader
Returns:
the DTD handler

setDTDHandler

public void setDTDHandler(org.xml.sax.DTDHandler handler)
Sets the DTD handler. The passed value is ignored.

Specified by:
setDTDHandler in interface org.xml.sax.XMLReader
Parameters:
handler - the handler to be set

getEntityResolver

public org.xml.sax.EntityResolver getEntityResolver()
Returns the entity resolver. This class does not support an entity resolver, so this method always returns null.

Specified by:
getEntityResolver in interface org.xml.sax.XMLReader
Returns:
the entity resolver

setEntityResolver

public void setEntityResolver(org.xml.sax.EntityResolver resolver)
Sets the entity resolver. The passed value is ignored.

Specified by:
setEntityResolver in interface org.xml.sax.XMLReader
Parameters:
resolver - the entity resolver

getErrorHandler

public org.xml.sax.ErrorHandler getErrorHandler()
Returns the error handler. This class does not support an error handler, so this method always returns null.

Specified by:
getErrorHandler in interface org.xml.sax.XMLReader
Returns:
the error handler

setErrorHandler

public void setErrorHandler(org.xml.sax.ErrorHandler handler)
Sets the error handler. The passed value is ignored.

Specified by:
setErrorHandler in interface org.xml.sax.XMLReader
Parameters:
handler - the error handler

getProperty

public java.lang.Object getProperty(java.lang.String name)
Dummy implementation of the interface method. No properties are supported, so this method always returns null.

Specified by:
getProperty in interface org.xml.sax.XMLReader
Parameters:
name - the name of the requested property
Returns:
the property value

setProperty

public void setProperty(java.lang.String name,
                        java.lang.Object value)
Dummy implementation of the interface method. No properties are supported, so a call of this method just has no effect.

Specified by:
setProperty in interface org.xml.sax.XMLReader
Parameters:
name - the property name
value - the property value

getRootName

public java.lang.String getRootName()
Returns the name to be used for the root element.

Returns:
the name for the root element

setRootName

public void setRootName(java.lang.String string)
Sets the name for the root element.

Parameters:
string - the name for the root element.

fireElementStart

protected void fireElementStart(java.lang.String name,
                                org.xml.sax.Attributes attribs)
Fires a SAX element start event.

Parameters:
name - the name of the actual element
attribs - the attributes of this element (can be null)

fireElementEnd

protected void fireElementEnd(java.lang.String name)
Fires a SAX element end event.

Parameters:
name - the name of the affected element

fireCharacters

protected void fireCharacters(java.lang.String text)
Fires a SAX characters event.

Parameters:
text - the text

getException

public org.xml.sax.SAXException getException()
Returns a reference to an exception that occurred during parsing.

Returns:
a SAXExcpetion or null if none occurred

parseConfiguration

protected void parseConfiguration()
                           throws java.io.IOException,
                                  org.xml.sax.SAXException
Parses the configuration object and generates SAX events. This is the main processing method.

Throws:
java.io.IOException - if no configuration has been specified
org.xml.sax.SAXException - if an error occurs during parsing

getParsedConfiguration

public abstract Configuration getParsedConfiguration()
Returns a reference to the configuration that is parsed by this object.

Returns:
the parsed configuration

processKeys

protected abstract void processKeys()
                             throws java.io.IOException,
                                    org.xml.sax.SAXException
Processes all keys stored in the actual configuration. This method is called by parseConfiguration() to start the main parsing process. parseConfiguration() calls the content handler's startDocument() and endElement() methods and cares for exception handling. The remaining actions are left to this method that must be implemented in a concrete sub class.

Throws:
java.io.IOException - if an IO error occurs
org.xml.sax.SAXException - if a SAX error occurs


Copyright © 2001-2009 Apache Software Foundation. All Rights Reserved.