org.eclipse.jetty.xml

## Class XmlConfiguration

- java.lang.Object
- - org.eclipse.jetty.xml.XmlConfiguration

-     public class XmlConfiguration
      extends Object

  Configure Objects from XML. This class reads an XML file conforming to the configure.dtd DTD and uses it to configure and object by calling set, put or other methods on the object.

  The actual XML file format may be changed (eg to spring XML) by implementing the `ConfigurationProcessorFactory` interfaces to be found by the `ServiceLoader` by using the DTD and first tag element in the file. Note that DTD will be null if validation is off.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `XmlConfiguration(InputStream configuration)` Reads and parses the XML configuration stream.
    `XmlConfiguration(String configuration)` Reads and parses the XML configuration string.
    `XmlConfiguration(URL configuration)` Reads and parses the XML configuration file.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `configure()` Applies the XML configuration script.
    `Object` | `configure(Object obj)` Applies the XML configuration script to the given object.
    `Map<String,Object>` | `getIdMap()`
    `Map<String,String>` | `getProperties()`
    `void` | `initializeDefaults(Object object)` Initialize a new Object defaults.
    `static void` | `main(String[] args)` Run the XML configurations as a main application.
    `void` | `setIdMap(Map<String,Object> map)` Deprecated. use `getIdMap()`.put(...)
    `void` | `setProperties(Map<String,String> map)` Deprecated. use `getProperties()`.putAll(...)

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### XmlConfiguration

          public XmlConfiguration(URL configuration)
                           throws SAXException,
                                  IOException

      Reads and parses the XML configuration file.
      Parameters:
        `configuration` - the URL of the XML configuration
      Throws:
        `IOException` - if the configuration could not be read
        `SAXException` - if the configuration could not be parsed

    - #### XmlConfiguration

          public XmlConfiguration(String configuration)
                           throws SAXException,
                                  IOException

      Reads and parses the XML configuration string.
      Parameters:
        `configuration` - String of XML configuration commands excluding the normal XML preamble. The String should start with a "<Configure ....>" element.
      Throws:
        `IOException` - if the configuration could not be read
        `SAXException` - if the configuration could not be parsed

    - #### XmlConfiguration

          public XmlConfiguration(InputStream configuration)
                           throws SAXException,
                                  IOException

      Reads and parses the XML configuration stream.
      Parameters:
        `configuration` - An input stream containing a complete configuration file
      Throws:
        `IOException` - if the configuration could not be read
        `SAXException` - if the configuration could not be parsed

  - ### Method Detail

    - #### getIdMap

          public Map<String,Object> getIdMap()

    - #### setIdMap

          @Deprecated
          public void setIdMap(Map<String,Object> map)

      Deprecated. use `getIdMap()`.put(...)
      Parameters:
        `map` - the ID map

    - #### setProperties

          @Deprecated
          public void setProperties(Map<String,String> map)

      Deprecated. use `getProperties()`.putAll(...)
      Parameters:
        `map` - the properties map

    - #### getProperties

          public Map<String,String> getProperties()

    - #### configure

          public Object configure(Object obj)
                           throws Exception

      Applies the XML configuration script to the given object.
      Parameters:
        `obj` - The object to be configured, which must be of a type or super type of the class attribute of the <Configure> element.
      Returns:
        the configured object
      Throws:
        `Exception` - if the configuration fails

    - #### configure

          public Object configure()
                           throws Exception

      Applies the XML configuration script. If the root element of the configuration has an ID, an object is looked up by ID and its type checked against the root element's type. Otherwise a new object of the type specified by the root element is created.
      Returns:
        The newly created configured object.
      Throws:
        `Exception` - if the configuration fails

    - #### initializeDefaults

          public void initializeDefaults(Object object)

      Initialize a new Object defaults.

      This method must be called by any `ConfigurationProcessor` when it creates a new instance of an object before configuring it, so that a derived XmlConfiguration class may inject default values.

      Parameters:
        `object` -

    - #### main

          public static void main(String[] args)
                           throws Exception

      Run the XML configurations as a main application. The command line is used to obtain properties files (must be named '*.properties') and XmlConfiguration files.

      Any property file on the command line is added to a combined Property instance that is passed to each configuration file via `setProperties(Map)`.

      Each configuration file on the command line is used to create a new XmlConfiguration instance and the `configure()` method is used to create the configured object. If the resulting object is an instance of `LifeCycle`, then it is started.

      Any IDs created in a configuration are passed to the next configuration file on the command line using `getIdMap()` and `setIdMap(Map)` . This allows objects with IDs created in one config file to be referenced in subsequent config files on the command line.

      Parameters:
        `args` - array of property and xml configuration filenames or `Resource`s.
      Throws:
        `Exception` - if the XML configurations cannot be run

Copyright © 1995-2015 Mort Bay Consulting. All Rights Reserved.