Class XMLPropertiesConfiguration

  • All Implemented Interfaces:
    java.lang.Cloneable, Configuration, EventSource, FileBasedConfiguration, ImmutableConfiguration, FileBased, FileLocatorAware, SynchronizerSupport

    public class XMLPropertiesConfiguration
    extends BaseConfiguration
    implements FileBasedConfiguration, FileLocatorAware
    This configuration implements the XML properties format introduced in Java 5.0, see http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html. An XML properties file looks like this:
     <?xml version="1.0"?>
     <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
     <properties>
       <comment>Description of the property list</comment>
       <entry key="key1">value1</entry>
       <entry key="key2">value2</entry>
       <entry key="key3">value3</entry>
     </properties>
     
    The Java 5.0 runtime is not required to use this class. The default encoding for this configuration format is UTF-8. Note that unlike PropertiesConfiguration, XMLPropertiesConfiguration does not support includes. Note:Configuration objects of this type can be read concurrently by multiple threads. However if one of these threads modifies the object, synchronization has to be performed manually.
    Since:
    1.1
    • Field Detail

      • DEFAULT_ENCODING

        public static final java.lang.String DEFAULT_ENCODING
        The default encoding (UTF-8 as specified by http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html)
        See Also:
        Constant Field Values
    • Constructor Detail

      • XMLPropertiesConfiguration

        public XMLPropertiesConfiguration()
        Creates an empty XMLPropertyConfiguration object which can be used to synthesize a new Properties file by adding values and then saving(). An object constructed by this C'tor can not be tickled into loading included files because it cannot supply a base for relative includes.
      • XMLPropertiesConfiguration

        public XMLPropertiesConfiguration​(org.w3c.dom.Element element)
                                   throws ConfigurationException
        Creates and loads the xml properties from the specified DOM node.
        Parameters:
        element - The DOM element
        Throws:
        ConfigurationException - Error while loading the properties file
        Since:
        2.0
    • Method Detail

      • getHeader

        public java.lang.String getHeader()
        Gets the header comment of this configuration.
        Returns:
        the header comment
      • setHeader

        public void setHeader​(java.lang.String header)
        Sets the header comment of this configuration.
        Parameters:
        header - the header comment
      • read

        public void read​(java.io.Reader in)
                  throws ConfigurationException
        Description copied from interface: FileBased
        Reads the content of this object from the given reader. Client code should not call this method directly, but use a FileHandler for reading data.
        Specified by:
        read in interface FileBased
        Parameters:
        in - the reader
        Throws:
        ConfigurationException - if a non-I/O related problem occurs, e.g. the data read does not have the expected format
      • load

        public void load​(org.w3c.dom.Element element)
                  throws ConfigurationException
        Parses a DOM element containing the properties. The DOM element has to follow the XML properties format introduced in Java 5.0, see http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html
        Parameters:
        element - The DOM element
        Throws:
        ConfigurationException - Error while interpreting the DOM
        Since:
        2.0
      • write

        public void write​(java.io.Writer out)
                   throws ConfigurationException
        Description copied from interface: FileBased
        Writes the content of this object to the given writer. Client code should not call this method directly, but use a FileHandler for writing data.
        Specified by:
        write in interface FileBased
        Parameters:
        out - the writer
        Throws:
        ConfigurationException - if a non-I/O related problem occurs, e.g. the data read does not have the expected format
      • save

        public void save​(org.w3c.dom.Document document,
                         org.w3c.dom.Node parent)
        Writes the configuration as child to the given DOM node
        Parameters:
        document - The DOM document to add the configuration to
        parent - The DOM parent node
        Since:
        2.0
      • initFileLocator

        public void initFileLocator​(FileLocator locator)
        Initializes this object with a FileLocator. The locator is accessed during load and save operations.
        Specified by:
        initFileLocator in interface FileLocatorAware
        Parameters:
        locator - the associated FileLocator