org.springframework.binding.value.support
Class RefreshableValueHolder

java.lang.Object
  extended by org.springframework.binding.value.support.AbstractPropertyChangePublisher
      extended by org.springframework.binding.value.support.AbstractValueModel
          extended by org.springframework.binding.value.support.ValueHolder
              extended by org.springframework.binding.value.support.RefreshableValueHolder
All Implemented Interfaces:
PropertyChangePublisher, ValueModel

public class RefreshableValueHolder
extends ValueHolder

ValueModel adding a refreshable aspect. A Closure is given that may be executed using the refresh() method or forced to be executed on every getValue(). The given refresh Closure is used to set the value before reading it.

Author:
Keith Donald

Field Summary
 
Fields inherited from class org.springframework.binding.value.support.AbstractValueModel
logger
 
Fields inherited from interface org.springframework.binding.value.ValueModel
VALUE_PROPERTY
 
Constructor Summary
RefreshableValueHolder(Closure refreshFunction)
          Constructor supplying a refresh Closure.
RefreshableValueHolder(Closure refreshFunction, boolean alwaysRefresh)
          Constructor supplying a refresh Closure that allways has to be triggered when reading the value.
RefreshableValueHolder(Closure refreshFunction, boolean alwaysRefresh, boolean lazyInit)
          Constructor supplying a refresh Closure that allways has to be triggered when reading the value.
 
Method Summary
 Object getValue()
          Returns this model's value.
 void refresh()
          Refresh te value by executing the refresh Closure.
 
Methods inherited from class org.springframework.binding.value.support.ValueHolder
setValue, toString
 
Methods inherited from class org.springframework.binding.value.support.AbstractValueModel
addValueChangeListener, fireValueChange, fireValueChange, fireValueChange, fireValueChange, fireValueChange, fireValueChangeEvent, fireValueChangeWhenStillEqual, getValueChangeDetector, hasValueChanged, removeValueChangeListener, setValueChangeDetector, setValueSilently
 
Methods inherited from class org.springframework.binding.value.support.AbstractPropertyChangePublisher
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, firePropertiesChanged, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, getPropertyChangeListeners, getPropertyChangeListeners, getVetoableChangeListeners, getVetoableChangeListeners, hasChanged, hasChanged, hasChanged, hasChanged, hasChanged, hasChanged, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RefreshableValueHolder

public RefreshableValueHolder(Closure refreshFunction)
Constructor supplying a refresh Closure. Refresh has to be triggered manually.


RefreshableValueHolder

public RefreshableValueHolder(Closure refreshFunction,
                              boolean alwaysRefresh)
Constructor supplying a refresh Closure that allways has to be triggered when reading the value.


RefreshableValueHolder

public RefreshableValueHolder(Closure refreshFunction,
                              boolean alwaysRefresh,
                              boolean lazyInit)
Constructor supplying a refresh Closure that allways has to be triggered when reading the value. Additionally a refresh is triggered on construction.

Method Detail

getValue

public Object getValue()
Returns this model's value. In case of a write-only value, implementers may choose to either reject this operation or or return null or any other appropriate value. If allwaysRefresh is set, this method will trigger refresh() each time it is executed.

Specified by:
getValue in interface ValueModel
Overrides:
getValue in class ValueHolder
Returns:
this model's value

refresh

public void refresh()
Refresh te value by executing the refresh Closure.



Copyright © 2004-2008 The Spring Framework. All Rights Reserved.