## org.w3c.util
Class ObservableProperties

    java.lang.Object
      |
      +--java.util.Dictionary
            |
            +--java.util.Hashtable
                  |
                  +--java.util.Properties
                        |
                        +--org.w3c.util.ObservableProperties

public class ObservableProperties
extends java.util.Properties

An enhanced property class that provides support to monitor changes. This class extends the basic properties class of Java, by providing monitoring support. It also provides more type conversion.

See Also:
  `PropertyMonitoring`, Serialized Form

Fields inherited from class java.util.Properties
`defaults`

Constructor Summary
`ObservableProperties(java.util.Properties props)` Build an httpdProperties instance from a Properties instance.

Method Summary
`boolean` `getBoolean(java.lang.String name, boolean def)` Get this property value, as a boolean.
`double` `getDouble(java.lang.String name, double def)` Get this property value, as a double.
`java.io.File` `getFile(java.lang.String name, java.io.File def)` Get this property value, as a File.
`int` `getInteger(java.lang.String name, int def)` Get this property value, as an integer.
`long` `getLong(java.lang.String name, long def)`
`java.lang.String` `getString(java.lang.String name, java.lang.String def)` Get this property value, as a String.
`java.lang.String[]` `getStringArray(java.lang.String name, java.lang.String[] def)` Get this property as a String array.
`boolean` `putValue(java.lang.String name, java.lang.String value)` Update a property value.
`void` `registerObserver(PropertyMonitoring o)` Subscribe for property monitoring.
`boolean` `unregisterObserver(PropertyMonitoring o)` Unsubscribe this object from the observers list.

Methods inherited from class java.util.Properties
`getProperty, getProperty, list, list, load, propertyNames, save, setProperty, store`

Methods inherited from class java.util.Hashtable
`clear, clone, contains, containsKey, containsValue, elements, entrySet, equals, get, hashCode, isEmpty, keys, keySet, put, putAll, rehash, remove, size, toString, values`

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

Constructor Detail

### ObservableProperties

    public ObservableProperties(java.util.Properties props)

  Build an httpdProperties instance from a Properties instance.
  Parameters:
    `props` - The Properties instance.

Method Detail

### registerObserver

    public void registerObserver(PropertyMonitoring o)

  Subscribe for property monitoring.
  Parameters:
    `observer` - The object that handles the PropertyMonitoring interface.

### unregisterObserver

    public boolean unregisterObserver(PropertyMonitoring o)

  Unsubscribe this object from the observers list.
  Parameters:
    `observer` - The observer to unsubscribe.
  Returns:
    A boolean true if object was succesfully unsubscribed, false otherwise.

### putValue

    public boolean putValue(java.lang.String name,
                            java.lang.String value)

  Update a property value. Assign a value to a property. If the property value has really changed notify our observers of the change.
  Parameters:
    `name` - The name of the property to assign.
    `value` - The new value for this property, or null if the property setting is to be cancelled.
  Returns:
    A boolean true if change was accepted by our observers, false otherwise.

### getBoolean

    public boolean getBoolean(java.lang.String name,
                              boolean def)

  Get this property value, as a boolean.
  Parameters:
    `name` - The name of the property to be fetched.
    `def` - The default value, if the property isn't defined.
  Returns:
    A Boolean instance.

### getString

    public java.lang.String getString(java.lang.String name,
                                      java.lang.String def)

  Get this property value, as a String.
  Parameters:
    `name` - The name of the property to be fetched.
    `def` - The default value, if the property isn't defined.
  Returns:
    An instance of String.

### getStringArray

    public java.lang.String[] getStringArray(java.lang.String name,
                                             java.lang.String[] def)

  Get this property as a String array. By convention, properties that are get as string arrays should be encoded as a | separated list of Strings.
  Parameters:
    `name` - The property's name.
    `def` - The default value (if undefined).
  Returns:
    A String array, or null if the property is undefined.

### getInteger

    public int getInteger(java.lang.String name,
                          int def)

  Get this property value, as an integer.
  Parameters:
    `name` - The name of the property to be fetched.
    `def` - The default value, if the property isn't defined.
  Returns:
    An integer value.

### getLong

    public long getLong(java.lang.String name,
                        long def)

### getDouble

    public double getDouble(java.lang.String name,
                            double def)

  Get this property value, as a double.
  Parameters:
    `name` - The name of the property.
    `def` - The default value if undefined.
  Returns:
    A double value.

### getFile

    public java.io.File getFile(java.lang.String name,
                                java.io.File def)

  Get this property value, as a File.
  Parameters:
    `name` - The name of the property to be fetched.
    `def` - The default value, if the property isn't defined.
  Returns:
    An instance of File.