org.apache.commons.configuration.plist
Class XMLPropertyListConfiguration

java.lang.Object
  extended byorg.apache.commons.configuration.event.EventSource
      extended byorg.apache.commons.configuration.AbstractConfiguration
          extended byorg.apache.commons.configuration.HierarchicalConfiguration
              extended byorg.apache.commons.configuration.AbstractHierarchicalFileConfiguration
                  extended byorg.apache.commons.configuration.plist.XMLPropertyListConfiguration
All Implemented Interfaces:
Cloneable, Configuration, ConfigurationListener, FileConfiguration, Serializable

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:
$Revision: 727664 $, $Date: 2008-12-18 08:16:09 +0100 (Do, 18 Dez 2008) $
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 inherited from class org.apache.commons.configuration.AbstractHierarchicalFileConfiguration
AbstractHierarchicalFileConfiguration.FileConfigurationDelegate
 
Nested classes 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)
          Set a property, this will replace any previously set values.
 
Methods inherited from class org.apache.commons.configuration.AbstractHierarchicalFileConfiguration
addNodes, addPropertyDirect, clearProperty, clearTree, configurationChanged, containsKey, createDelegate, fetchNodeList, getBasePath, getDelegate, getEncoding, getFile, getFileName, getKeys, getKeys, getProperty, getReloadingStrategy, getURL, isAutoSave, isEmpty, load, load, load, load, load, load, reload, save, save, save, save, save, save, setAutoSave, setBasePath, setDelegate, setEncoding, setFile, setFileName, setReloadingStrategy, setURL, subnodeConfigurationChanged
 
Methods inherited from class org.apache.commons.configuration.HierarchicalConfiguration
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, clear, 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, 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 interface: Configuration
Set a property, this will replace any previously set values. Set values is implicitly a call to clearProperty(key), addProperty(key, value).

Specified by:
setProperty in interface Configuration
Overrides:
setProperty in class AbstractHierarchicalFileConfiguration

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

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-2008 The Apache Software Foundation. All Rights Reserved.