Class XMLPropertyListConfiguration

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.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 1368665 2012-08-02 19:48:26Z oheger $
    Author:
    Emmanuel Bourg
    See Also:
    Serialized Form
    • 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​(java.lang.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​(java.io.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​(java.net.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

      • addProperty

        public void addProperty​(java.lang.String key,
                                java.lang.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.