org.apache.velocity.tools.config

## Class XmlFactoryConfiguration

- java.lang.Object
- - org.apache.velocity.tools.config.Configuration
  - - org.apache.velocity.tools.config.CompoundConfiguration<ToolboxConfiguration>
    - - org.apache.velocity.tools.config.FactoryConfiguration
      - - org.apache.velocity.tools.config.FileFactoryConfiguration
        - - org.apache.velocity.tools.config.XmlFactoryConfiguration

All Implemented Interfaces:
  Comparable<Configuration>

    public class XmlFactoryConfiguration
    extends FileFactoryConfiguration

This reads in configuration info formatted as an XML file using Commons-`Digester`. This uses `XmlFactoryConfigurationRuleSet` as the default set of rules for processing the XML. However, you may always change this by passing a new `RuleSet` to the `setRuleSet(org.apache.commons.digester3.RuleSet)` method. See the configuration documentation on the main web site for instructions on the XML format supported by the default rules.

Example usage:

     FactoryConfiguration cfg = new XmlFactoryConfiguration("Dev Tools");
     cfg.read("devtools.xml");
     ToolboxFactory factory = cfg.createFactory();

Version:
  $Id: XmlFactoryConfiguration.java 511959 2007-02-26 19:24:39Z nbubna $
Author:
  Nathan Bubna

### Constructor Summary

Constructors
Constructor and Description
`XmlFactoryConfiguration()` Creates an instance
`XmlFactoryConfiguration(String id)` Creates an instance using the specified string as an identifier to distinguish this instance when debugging

### Method Summary

All Methods Instance Methods Concrete Methods
`org.apache.commons.digester3.RuleSet` `getRuleSet()` Retrieves the rule set Digester should use to parse and load the toolbox for this manager.
`protected void` `readImpl(URL url)` Reads an XML document from an `URL` and uses it to configure this `FactoryConfiguration`.
`void` `setRuleSet(org.apache.commons.digester3.RuleSet rules)` Sets the `RuleSet` this loader will use to digest the xml toolbox.

### Methods inherited from class org.apache.velocity.tools.config.FileFactoryConfiguration

`findURL, read, read, read, read, read, read`

### Methods inherited from class org.apache.velocity.tools.config.FactoryConfiguration

`addConfiguration, addData, addSource, addToolbox, createFactory, equals, getData, getData, getData, getSource, getSources, getToolbox, getToolboxes, hasData, hashCode, removeData, removeToolbox, setData, setSource, setToolboxes, toString, toString, validate`

### Methods inherited from class org.apache.velocity.tools.config.CompoundConfiguration

`addChild, addConfiguration, appendChildren, getChild, getChildren, hasChildren, removeChild, setChildren`

### Methods inherited from class org.apache.velocity.tools.config.Configuration

`addConfiguration, addProperty, appendProperties, compareTo, getProperties, getProperty, getPropertyMap, hasProperties, removeProperty, removeProperty, setProperties, setProperty, setPropertyMap`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### XmlFactoryConfiguration

    public XmlFactoryConfiguration()

Creates an instance

See Also:
  `FactoryConfiguration.setSource(String)`

#### XmlFactoryConfiguration

    public XmlFactoryConfiguration(String id)

Creates an instance using the specified string as an identifier to distinguish this instance when debugging

Parameters:
  `id` - the name of the "source" of this instance
See Also:
  `FactoryConfiguration.setSource(String)`

### Method Detail

#### setRuleSet

    public void setRuleSet(org.apache.commons.digester3.RuleSet rules)

Sets the `RuleSet` this loader will use to digest the xml toolbox.

Parameters:
  `rules` - rules set

#### getRuleSet

    public org.apache.commons.digester3.RuleSet getRuleSet()

Retrieves the rule set Digester should use to parse and load the toolbox for this manager.

Returns:
  rules set

#### readImpl

    protected void readImpl(URL url)
                     throws IOException

Reads an XML document from an `URL` and uses it to configure this `FactoryConfiguration`.

Specified by:
  `readImpl` in class `FileFactoryConfiguration`
Parameters:
  `url` - the URL to read from
Throws:
  `IOException` - if a problem occurs