## org.apache.commons.configuration.plist
Class XMLPropertyListConfiguration

    java.lang.Object
      org.apache.commons.configuration.event.EventSource
          org.apache.commons.configuration.AbstractConfiguration
              org.apache.commons.configuration.HierarchicalConfiguration
                  org.apache.commons.configuration.AbstractHierarchicalFileConfiguration
                      org.apache.commons.configuration.plist.XMLPropertyListConfiguration

All Implemented Interfaces:
  Serializable, Cloneable, Configuration, ConfigurationErrorListener, ConfigurationListener, FileConfiguration, FileSystemBased, Reloadable

    public class XMLPropertyListConfiguration

extends AbstractHierarchicalFileConfiguration

Property list file (plist) in XML format as used by Mac OS X (http://www.apple.com/DTDs/PropertyList-1.0.dtd). This configuration doesn't support the binary format used in OS X 10.4.

Example:

     <?xml version="1.0"?>
     <!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
     <plist version="1.0">
         <dict>
             <key>string</key>
             <string>value1</string>

             <key>integer</key>
             <integer>12345</integer>

             <key>real</key>
             <real>-123.45E-1</real>

             <key>boolean</key>
             <true/>

             <key>date</key>
             <date>2005-01-01T12:00:00Z</date>

             <key>data</key>
             <data>RHJhY28gRG9ybWllbnMgTnVucXVhbSBUaXRpbGxhbmR1cw==</data>

             <key>array</key>
             <array>
                 <string>value1</string>
                 <string>value2</string>
                 <string>value3</string>
             </array>

             <key>dictionnary</key>
             <dict>
                 <key>key1</key>
                 <string>value1</string>
                 <key>key2</key>
                 <string>value2</string>
                 <key>key3</key>
                 <string>value3</string>
             </dict>

             <key>nested</key>
             <dict>
                 <key>node1</key>
                 <dict>
                     <key>node2</key>
                     <dict>
                         <key>node3</key>
                         <string>value</string>
                     </dict>
                 </dict>
             </dict>

         </dict>
     </plist>

Since:
  1.2
Version:
  $Id: XMLPropertyListConfiguration.java 1210644 2011-12-05 21:20:39Z oheger $
Author:
  Emmanuel Bourg
See Also:
  Serialized Form

Nested Class Summary
`static class` `XMLPropertyListConfiguration.ArrayNode` Container for array elements.
`static class` `XMLPropertyListConfiguration.PListNode` Node extension with addXXX methods to parse the typed data passed by the SAX handler.

Nested classes/interfaces inherited from class org.apache.commons.configuration.AbstractHierarchicalFileConfiguration
`AbstractHierarchicalFileConfiguration.FileConfigurationDelegate`

Nested classes/interfaces inherited from class org.apache.commons.configuration.HierarchicalConfiguration
`HierarchicalConfiguration.BuilderVisitor, HierarchicalConfiguration.Node, HierarchicalConfiguration.NodeVisitor`

Field Summary

Fields inherited from class org.apache.commons.configuration.HierarchicalConfiguration
`EVENT_ADD_NODES, EVENT_CLEAR_TREE, EVENT_SUBNODE_CHANGED`

Fields inherited from class org.apache.commons.configuration.AbstractConfiguration
`END_TOKEN, EVENT_ADD_PROPERTY, EVENT_CLEAR, EVENT_CLEAR_PROPERTY, EVENT_READ_PROPERTY, EVENT_SET_PROPERTY, START_TOKEN`

Constructor Summary
`XMLPropertyListConfiguration()` Creates an empty XMLPropertyListConfiguration object which can be used to synthesize a new plist file by adding values and then saving().
`XMLPropertyListConfiguration(File file)` Creates and loads the property list from the specified file.
`XMLPropertyListConfiguration(HierarchicalConfiguration configuration)` Creates a new instance of `XMLPropertyListConfiguration` and copies the content of the specified configuration into this object.
`XMLPropertyListConfiguration(String fileName)` Creates and loads the property list from the specified file.
`XMLPropertyListConfiguration(URL url)` Creates and loads the property list from the specified URL.

Method Summary
`void` `addProperty(String key, Object value)` Add a property to the configuration.
`void` `load(Reader in)` Load the configuration from the specified reader.
`void` `save(Writer out)` Save the configuration to the specified writer.
`void` `setProperty(String key, Object value)` Sets the value of the specified property.

Methods inherited from class org.apache.commons.configuration.AbstractHierarchicalFileConfiguration

`addNodes, addPropertyDirect, clearProperty, clearTree, configurationChanged, configurationError, containsKey, createDelegate, fetchNodeList, getBasePath, getDelegate, getEncoding, getFile, getFileName, getFileSystem, getKeys, getKeys, getProperty, getReloadingStrategy, getReloadLock, getURL, isAutoSave, isEmpty, load, load, load, load, load, load, refresh, reload, resetFileSystem, save, save, save, save, save, save, setAutoSave, setBasePath, setDelegate, setEncoding, setFile, setFileName, setFileSystem, setReloadingStrategy, setURL, subnodeConfigurationChanged`

Methods inherited from class org.apache.commons.configuration.HierarchicalConfiguration

`clear, clearNode, clearNode, clearReferences, clone, configurationAt, configurationAt, configurationsAt, createAddPath, createNode, createSubnodeConfiguration, createSubnodeConfiguration, fetchAddNode, findLastPathNode, findPropertyNodes, getDefaultExpressionEngine, getExpressionEngine, getMaxIndex, getRoot, getRootNode, interpolatedConfiguration, nodeDefined, nodeDefined, removeNode, removeNode, setDefaultExpressionEngine, setExpressionEngine, setRoot, setRootNode, subset`

Methods inherited from class org.apache.commons.configuration.AbstractConfiguration

`addErrorLogListener, append, clearPropertyDirect, copy, createInterpolator, getBigDecimal, getBigDecimal, getBigInteger, getBigInteger, getBoolean, getBoolean, getBoolean, getByte, getByte, getByte, getDefaultListDelimiter, getDelimiter, getDouble, getDouble, getDouble, getFloat, getFloat, getFloat, getInt, getInt, getInteger, getInterpolator, getList, getList, getListDelimiter, getLogger, getLong, getLong, getLong, getProperties, getProperties, getShort, getShort, getShort, getString, getString, getStringArray, getSubstitutor, interpolate, interpolate, interpolateHelper, isDelimiterParsingDisabled, isScalarValue, isThrowExceptionOnMissing, resolveContainerStore, setDefaultListDelimiter, setDelimiter, setDelimiterParsingDisabled, setListDelimiter, setLogger, setThrowExceptionOnMissing`

Methods inherited from class org.apache.commons.configuration.event.EventSource
`addConfigurationListener, addErrorListener, clearConfigurationListeners, clearErrorListeners, createErrorEvent, createEvent, fireError, fireEvent, getConfigurationListeners, getErrorListeners, isDetailEvents, removeConfigurationListener, removeErrorListener, setDetailEvents`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.apache.commons.configuration.Configuration
`clear, getBigDecimal, getBigDecimal, getBigInteger, getBigInteger, getBoolean, getBoolean, getBoolean, getByte, getByte, getByte, getDouble, getDouble, getDouble, getFloat, getFloat, getFloat, getInt, getInt, getInteger, getList, getList, getLong, getLong, getLong, getProperties, getShort, getShort, getShort, getString, getString, getStringArray, subset`

Constructor Detail

### XMLPropertyListConfiguration

    public XMLPropertyListConfiguration()

  Creates an empty XMLPropertyListConfiguration object which can be used to synthesize a new plist file by adding values and then saving().

### XMLPropertyListConfiguration

    public XMLPropertyListConfiguration(HierarchicalConfiguration configuration)

  Creates a new instance of `XMLPropertyListConfiguration` and copies the content of the specified configuration into this object.

  Parameters:
    `configuration` - the configuration to copy
  Since:
    1.4

### XMLPropertyListConfiguration

    public XMLPropertyListConfiguration(String fileName)
                                 throws ConfigurationException

  Creates and loads the property list from the specified file.

  Parameters:
    `fileName` - The name of the plist file to load.
  Throws:
    `ConfigurationException` - Error while loading the plist file

### XMLPropertyListConfiguration

    public XMLPropertyListConfiguration(File file)
                                 throws ConfigurationException

  Creates and loads the property list from the specified file.

  Parameters:
    `file` - The plist file to load.
  Throws:
    `ConfigurationException` - Error while loading the plist file

### XMLPropertyListConfiguration

    public XMLPropertyListConfiguration(URL url)
                                 throws ConfigurationException

  Creates and loads the property list from the specified URL.

  Parameters:
    `url` - The location of the plist file to load.
  Throws:
    `ConfigurationException` - Error while loading the plist file

Method Detail

### setProperty

    public void setProperty(String key,
                            Object value)

  Description copied from class: `HierarchicalConfiguration`
  Sets the value of the specified property.

  Specified by:
    `setProperty` in interface `Configuration`
  Overrides:
    `setProperty` in class `AbstractHierarchicalFileConfiguration`
  Parameters:
    `key` - the key of the property to set
    `value` - the new value of this property

### addProperty

    public void addProperty(String key,
                            Object value)

  Description copied from interface: `Configuration`
  Add a property to the configuration. If it already exists then the value stated here will be added to the configuration entry. For example, if the property:

      resource.loader = file

  is already present in the configuration and you call

      addProperty("resource.loader", "classpath")

  Then you will end up with a List like the following:

      ["file", "classpath"]

  Specified by:
    `addProperty` in interface `Configuration`
  Overrides:
    `addProperty` in class `AbstractConfiguration`
  Parameters:
    `key` - The key to add the property to.
    `value` - The value to add.

### load

    public void load(Reader in)
              throws ConfigurationException

  Description copied from interface: `FileConfiguration`
  Load the configuration from the specified reader.

  Parameters:
    `in` - the reader
  Throws:
    `ConfigurationException` - if an error occurs during the load operation

### save

    public void save(Writer out)
              throws ConfigurationException

  Description copied from interface: `FileConfiguration`
  Save the configuration to the specified writer.

  Parameters:
    `out` - the writer
  Throws:
    `ConfigurationException` - if an error occurs during the save operation

Copyright © 2001-2012 The Apache Software Foundation. All Rights Reserved.