## org.mortbay.xml
Class XmlConfiguration

    java.lang.Object
      org.mortbay.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.

Author:
  Greg Wilkins (gregw)

Constructor Summary
`XmlConfiguration(InputStream configuration)` Constructor.
`XmlConfiguration(String configuration)` Constructor.
`XmlConfiguration(URL configuration)` Constructor.

Method Summary
`Object` `configure()` Configure an object.
`void` `configure(Object obj)` Configure an object.
`Map` `getIdMap()`
`Map` `getProperties()`
`static void` `main(String[] args)` Run the XML configurations as a main application.
`void` `setIdMap(Map map)`
`void` `setProperties(Map map)`

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

  Constructor. Reads the XML configuration file.

  Parameters:
    `configuration` -
  Throws:
    `SAXException`
    `IOException`

### XmlConfiguration

    public XmlConfiguration(String configuration)
                     throws SAXException,
                            IOException

  Constructor.

  Parameters:
    `configuration` - String of XML configuration commands excluding the normal XML preamble. The String should start with a " <Configure ...." element. <DT>Throws:
    `SAXException`
    `IOException`

### XmlConfiguration

    public XmlConfiguration(InputStream configuration)
                     throws SAXException,
                            IOException

  Constructor.

  Parameters:
    `configuration` - An input stream containing a complete e.g. configuration file
  Throws:
    `SAXException`
    `IOException`

Method Detail

### getIdMap

    public Map getIdMap()

### setIdMap

    public void setIdMap(Map map)

### setProperties

    public void setProperties(Map map)

### getProperties

    public Map getProperties()

### configure

    public void configure(Object obj)
                   throws Exception

  Configure an object. If the object is of the approprate class, the XML configuration script is applied to the object.

  Parameters:
    `obj` - The object to be configured.
  Throws:
    `Exception`

### configure

    public Object configure()
                     throws Exception

  Configure an object. If the configuration has an ID, an object is looked up by ID and it's type check. Otherwise a new object is created.

  Returns:
    The newly created configured object.
  Throws:
    `Exception`

### main

    public static void main(String[] args)

  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.

Copyright © 2008 Mort Bay Consulting. All Rights Reserved.