Package org.apache.commons.configuration2

## Class ConfigurationXMLReader

- java.lang.Object
- - org.apache.commons.configuration2.ConfigurationXMLReader

- All Implemented Interfaces:
    `XMLReader`
  Direct Known Subclasses:
    `BaseConfigurationXMLReader`, `HierarchicalConfigurationXMLReader`

      public abstract class ConfigurationXMLReader
      extends Object
      implements 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.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected static String` | `NS_URI` | Constant for the namespace URI.

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `ConfigurationXMLReader()` | Creates a new instance of `ConfigurationXMLReader`.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `fireCharacters​(String text)` | Fires a SAX characters event.
    `protected void` | `fireElementEnd​(String name)` | Fires a SAX element end event.
    `protected void` | `fireElementStart​(String name, Attributes attribs)` | Fires a SAX element start event.
    `ContentHandler` | `getContentHandler()` | Gets the actually set content handler.
    `DTDHandler` | `getDTDHandler()` | Gets the DTD handler.
    `EntityResolver` | `getEntityResolver()` | Gets the entity resolver.
    `ErrorHandler` | `getErrorHandler()` | Gets the error handler.
    `SAXException` | `getException()` | Gets a reference to an exception that occurred during parsing.
    `boolean` | `getFeature​(String name)` | Dummy implementation of the interface method.
    `abstract Configuration` | `getParsedConfiguration()` | Gets a reference to the configuration that is parsed by this object.
    `Object` | `getProperty​(String name)` | Dummy implementation of the interface method.
    `String` | `getRootName()` | Gets the name to be used for the root element.
    `void` | `parse​(String systemId)` | Parses the current configuration object.
    `void` | `parse​(InputSource input)` | Parses the actual 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​(ContentHandler handler)` | Sets the content handler.
    `void` | `setDTDHandler​(DTDHandler handler)` | Sets the DTD handler.
    `void` | `setEntityResolver​(EntityResolver resolver)` | Sets the entity resolver.
    `void` | `setErrorHandler​(ErrorHandler handler)` | Sets the error handler.
    `void` | `setFeature​(String name, boolean value)` | Dummy implementation of the interface method.
    `void` | `setProperty​(String name, Object value)` | Dummy implementation of the interface method.
    `void` | `setRootName​(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 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​(String systemId)
                     throws IOException,
                            SAXException

      Parses the current configuration object. The passed system ID will be ignored.
      Specified by:
        `parse` in interface `XMLReader`
      Parameters:
        `systemId` - the system ID (ignored)
      Throws:
        `IOException` - if no configuration was specified
        `SAXException` - if an error occurs during parsing

    - #### parse

          public void parse​(InputSource input)
                     throws IOException,
                            SAXException

      Parses the actual configuration object. The passed input source will be ignored.
      Specified by:
        `parse` in interface `XMLReader`
      Parameters:
        `input` - the input source (ignored)
      Throws:
        `IOException` - if no configuration was specified
        `SAXException` - if an error occurs during parsing

    - #### getFeature

          public boolean getFeature​(String name)

      Dummy implementation of the interface method.
      Specified by:
        `getFeature` in interface `XMLReader`
      Parameters:
        `name` - the name of the feature
      Returns:
        always false (no features are supported)

    - #### setFeature

          public void setFeature​(String name,
                                 boolean value)

      Dummy implementation of the interface method.
      Specified by:
        `setFeature` in interface `XMLReader`
      Parameters:
        `name` - the name of the feature to be set
        `value` - the value of the feature

    - #### getContentHandler

          public ContentHandler getContentHandler()

      Gets the actually set content handler.
      Specified by:
        `getContentHandler` in interface `XMLReader`
      Returns:
        the content handler

    - #### setContentHandler

          public void setContentHandler​(ContentHandler handler)

      Sets the content handler. The object specified here will receive SAX events during parsing.
      Specified by:
        `setContentHandler` in interface `XMLReader`
      Parameters:
        `handler` - the content handler

    - #### getDTDHandler

          public DTDHandler getDTDHandler()

      Gets the DTD handler. This class does not support DTD handlers, so this method always returns null.
      Specified by:
        `getDTDHandler` in interface `XMLReader`
      Returns:
        the DTD handler

    - #### setDTDHandler

          public void setDTDHandler​(DTDHandler handler)

      Sets the DTD handler. The passed value is ignored.
      Specified by:
        `setDTDHandler` in interface `XMLReader`
      Parameters:
        `handler` - the handler to be set

    - #### getEntityResolver

          public EntityResolver getEntityResolver()

      Gets the entity resolver. This class does not support an entity resolver, so this method always returns null.
      Specified by:
        `getEntityResolver` in interface `XMLReader`
      Returns:
        the entity resolver

    - #### setEntityResolver

          public void setEntityResolver​(EntityResolver resolver)

      Sets the entity resolver. The passed value is ignored.
      Specified by:
        `setEntityResolver` in interface `XMLReader`
      Parameters:
        `resolver` - the entity resolver

    - #### getErrorHandler

          public ErrorHandler getErrorHandler()

      Gets the error handler. This class does not support an error handler, so this method always returns null.
      Specified by:
        `getErrorHandler` in interface `XMLReader`
      Returns:
        the error handler

    - #### setErrorHandler

          public void setErrorHandler​(ErrorHandler handler)

      Sets the error handler. The passed value is ignored.
      Specified by:
        `setErrorHandler` in interface `XMLReader`
      Parameters:
        `handler` - the error handler

    - #### getProperty

          public Object getProperty​(String name)

      Dummy implementation of the interface method. No properties are supported, so this method always returns null.
      Specified by:
        `getProperty` in interface `XMLReader`
      Parameters:
        `name` - the name of the requested property
      Returns:
        the property value

    - #### setProperty

          public void setProperty​(String name,
                                  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 `XMLReader`
      Parameters:
        `name` - the property name
        `value` - the property value

    - #### getRootName

          public String getRootName()

      Gets the name to be used for the root element.
      Returns:
        the name for the root element

    - #### setRootName

          public void setRootName​(String string)

      Sets the name for the root element.
      Parameters:
        `string` - the name for the root element.

    - #### fireElementStart

          protected void fireElementStart​(String name,
                                          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​(String name)

      Fires a SAX element end event.
      Parameters:
        `name` - the name of the affected element

    - #### fireCharacters

          protected void fireCharacters​(String text)

      Fires a SAX characters event.
      Parameters:
        `text` - the text

    - #### getException

          public SAXException getException()

      Gets a reference to an exception that occurred during parsing.
      Returns:
        a SAXExcpetion or null if none occurred

    - #### parseConfiguration

          protected void parseConfiguration()
                                     throws IOException,
                                            SAXException

      Parses the configuration object and generates SAX events. This is the main processing method.
      Throws:
        `IOException` - if no configuration has been specified
        `SAXException` - if an error occurs during parsing

    - #### getParsedConfiguration

          public abstract Configuration getParsedConfiguration()

      Gets a reference to the configuration that is parsed by this object.
      Returns:
        the parsed configuration

    - #### processKeys

          protected abstract void processKeys()
                                       throws IOException,
                                              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:
        `IOException` - if an IO error occurs
        `SAXException` - if a SAX error occurs