org.w3c.util
Class ObservableProperties

java.lang.Object
  extended by java.util.Dictionary<K,V>
      extended by java.util.Hashtable<java.lang.Object,java.lang.Object>
          extended by java.util.Properties
              extended by org.w3c.util.ObservableProperties
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.Object,java.lang.Object>

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

Field Summary
 
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, loadFromXML, propertyNames, save, setProperty, store, storeToXML, storeToXML
 
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.