org.eigenbase.util.property
Class TriggerableProperties

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.eigenbase.util.property.TriggerableProperties
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.Object,java.lang.Object>

public class TriggerableProperties
extends java.util.Properties

Base class for properties which can respond to triggers.

If you wish to be notified of changes to properties, use the Property.addTrigger(Trigger) method to register a callback.

Since:
5 July 2005
Version:
$Id: //open/dt/dev/farrago/src/org/eigenbase/util/property/TriggerableProperties.java#1 $
Author:
Julian Hyde
See Also:
Serialized Form

Field Summary
protected  java.util.Map properties
           
protected  java.util.Map triggers
           
 
Fields inherited from class java.util.Properties
defaults
 
Constructor Summary
protected TriggerableProperties()
           
 
Method Summary
 Property[] getProperties()
          Returns an array of registered properties.
 void register(Property property)
          Registers a property with this properties object to make it available for callbacks.
 java.lang.Object setProperty(java.lang.String key, java.lang.String value)
          Sets the value of a property.
 boolean triggersAreEnabled()
          Whether triggers are enabled.
 
Methods inherited from class java.util.Properties
getProperty, getProperty, list, list, load, load, loadFromXML, propertyNames, save, store, store, storeToXML, storeToXML, stringPropertyNames
 
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
 

Field Detail

triggers

protected final java.util.Map triggers

properties

protected final java.util.Map properties
Constructor Detail

TriggerableProperties

protected TriggerableProperties()
Method Detail

setProperty

public java.lang.Object setProperty(java.lang.String key,
                                    java.lang.String value)
Sets the value of a property.

If the previous value does not equal the new value, executes any Triggers associated with the property, in order of their phase.

Overrides:
setProperty in class java.util.Properties
Parameters:
key -
value -
Returns:
the old value

triggersAreEnabled

public boolean triggersAreEnabled()
Whether triggers are enabled. Derived class can override.


register

public void register(Property property)
Registers a property with this properties object to make it available for callbacks.


getProperties

public Property[] getProperties()
Returns an array of registered properties.