com.notuvy.util
Class ValueHolder<T>

java.lang.Object
  extended by java.util.Observable
      extended by com.notuvy.util.ValueHolder<T>
Direct Known Subclasses:
BooleanFlag

public class ValueHolder<T>
extends Observable

An abstract variable that just has get/set. This is usefule when a final variable is needed, but the contents need to be changed. This also uses the Observable/Observer pattern to allow dependent logic to react to value changes.


Constructor Summary
ValueHolder(T pValue)
           
 
Method Summary
 ValueHolder<T> addHandler(ValueChangeHandler<T> pHandler)
           
 T get()
           
 ValueHolder<T> removeHandler(ValueChangeHandler<T> pHandler)
           
 void set(T pValue)
          Set the new value, if it is different (determined by equals()) than the current value.
 ValueHolder<T> setNullDefault(T pNullDefault)
          Define how to handle 'null' values.
 String toString()
           
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ValueHolder

public ValueHolder(T pValue)
Method Detail

get

public T get()

set

public void set(T pValue)
Set the new value, if it is different (determined by equals()) than the current value.

Parameters:
pValue - The candidate new value. If it is null and a NullDefault is defined, then that value is set.

setNullDefault

public ValueHolder<T> setNullDefault(T pNullDefault)
Define how to handle 'null' values. This value is substituted for 'null'.

Parameters:
pNullDefault - The object value to substitue for 'null'.
Returns:
this for cascading.

addHandler

public ValueHolder<T> addHandler(ValueChangeHandler<T> pHandler)

removeHandler

public ValueHolder<T> removeHandler(ValueChangeHandler<T> pHandler)

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2013. All Rights Reserved.