Overview | Package | Class | Tree | Deprecated | Index | Help
| Openfire 3.7.1 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jivesoftware.util
Class XMLProperties

    java.lang.Object
      org.jivesoftware.util.XMLProperties

    public class XMLProperties

extends Object

Provides the the ability to use simple XML property files. Each property is in the form X.Y.Z, which would map to an XML snippet of:

     <X>
         <Y>
             <Z>someValue</Z>
         </Y>
     </X>

The XML file is passed in to the constructor and must be readable and writtable. Setting property values will automatically persist those value to disk. The file encoding used is UTF-8.

Author:
  Derek DeMoro, Iain Shigeoka

Constructor Summary
`XMLProperties(File file)` Creates a new XMLPropertiesTest object.
`XMLProperties(InputStream in)` Loads XML properties from a stream.
`XMLProperties(String fileName)` Creates a new XMLPropertiesTest object.

Method Summary
`void` | `deleteProperty(String name)` Deletes the specified property.
`String` | `getAttribute(String name, String attribute)` Returns the value of the attribute of the given property name or `null` if it doesn't exist.
`Iterator` | `getChildProperties(String name)` Return all values who's path matches the given property name as a String array, or an empty array if the if there are no children.
`String[]` | `getChildrenProperties(String parent)` Return all children property names of a parent property as a String array, or an empty array if the if there are no children.
`String[]` | `getProperties(String name)` Return all values who's path matches the given property name as a String array, or an empty array if the if there are no children.
`String` | `getProperty(String name)` Returns the value of the specified property.
`void` | `setProperties(Map<String,String> propertyMap)`
`void` | `setProperties(String name, List<String> values)` Sets a property to an array of values.
`void` | `setProperty(String name, String value)` Sets the value of the specified property.

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

Constructor Detail

### XMLProperties

    public XMLProperties(String fileName)
                  throws IOException

  Creates a new XMLPropertiesTest object.

  Parameters:
    `fileName` - the full path the file that properties should be read from and written to.
  Throws:
    `IOException` - if an error occurs loading the properties.

### XMLProperties

    public XMLProperties(InputStream in)
                  throws IOException

  Loads XML properties from a stream.

  Parameters:
    `in` - the input stream of XML.
  Throws:
    `IOException` - if an exception occurs when reading the stream.

### XMLProperties

    public XMLProperties(File file)
                  throws IOException

  Creates a new XMLPropertiesTest object.

  Parameters:
    `file` - the file that properties should be read from and written to.
  Throws:
    `IOException` - if an error occurs loading the properties.

Method Detail

### getProperty

    public String getProperty(String name)

  Returns the value of the specified property.

  Parameters:
    `name` - the name of the property to get.
  Returns:
    the value of the specified property.

### getProperties

    public String[] getProperties(String name)

  Return all values who's path matches the given property name as a String array, or an empty array if the if there are no children. This allows you to retrieve several values with the same property name. For example, consider the XML file entry:

       <foo>
           <bar>
               <prop>some value</prop>
               <prop>other value</prop>
               <prop>last value</prop>
           </bar>
       </foo>

  If you call getProperties("foo.bar.prop") will return a string array containing {"some value", "other value", "last value"}.

  Parameters:
    `name` - the name of the property to retrieve
  Returns:
    all child property values for the given node name.

### getChildProperties

    public Iterator getChildProperties(String name)

  Return all values who's path matches the given property name as a String array, or an empty array if the if there are no children. This allows you to retrieve several values with the same property name. For example, consider the XML file entry:

       <foo>
           <bar>
               <prop>some value</prop>
               <prop>other value</prop>
               <prop>last value</prop>
           </bar>
       </foo>

  If you call getProperties("foo.bar.prop") will return a string array containing {"some value", "other value", "last value"}.

  Parameters:
    `name` - the name of the property to retrieve
  Returns:
    all child property values for the given node name.

### getAttribute

    public String getAttribute(String name,
                               String attribute)

  Returns the value of the attribute of the given property name or `null` if it doesn't exist. Note, this

  Parameters:
    `name` - the property name to lookup - ie, "foo.bar"
    `attribute` - the name of the attribute, ie "id"
  Returns:
    the value of the attribute of the given property or `null` if it doesn't exist.

### setProperties

    public void setProperties(String name,
                              List<String> values)

  Sets a property to an array of values. Multiple values matching the same property is mapped to an XML file as multiple elements containing each value. For example, using the name "foo.bar.prop", and the value string array containing {"some value", "other value", "last value"} would produce the following XML:

       <foo>
           <bar>
               <prop>some value</prop>
               <prop>other value</prop>
               <prop>last value</prop>
           </bar>
       </foo>

  Parameters:
    `name` - the name of the property.
    `values` - the values for the property (can be empty but not null).

### getChildrenProperties

    public String[] getChildrenProperties(String parent)

  Return all children property names of a parent property as a String array, or an empty array if the if there are no children. For example, given the properties `X.Y.A`, `X.Y.B`, and `X.Y.C`, then the child properties of `X.Y` are `A`, `B`, and `C`.

  Parameters:
    `parent` - the name of the parent property.
  Returns:
    all child property values for the given parent.

### setProperty

    public void setProperty(String name,
                            String value)

  Sets the value of the specified property. If the property doesn't currently exist, it will be automatically created.

  Parameters:
    `name` - the name of the property to set.
    `value` - the new value for the property.

### deleteProperty

    public void deleteProperty(String name)

  Deletes the specified property.

  Parameters:
    `name` - the property to delete.

### setProperties

    public void setProperties(Map<String,String> propertyMap)

Overview | Package | Class | Tree | Deprecated | Index | Help
| Openfire 3.7.1 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2008 Jive Software.