org.springframework.binding.value.support
Class MethodInvokingDerivedValueModel

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.AbstractDerivedValueModel
              extended by org.springframework.binding.value.support.MethodInvokingDerivedValueModel
All Implemented Interfaces:
DerivedValueModel, PropertyChangePublisher, ValueModel

public final class MethodInvokingDerivedValueModel
extends AbstractDerivedValueModel

A value model that derives it's value from the result of invoking a method. The parameters for the method invocation are generated from a list of "source" value models. Should any of the "source" values change the method will be invoked and if the return value has changed the value held by this class will be updated.

Author:
Oliver Hutchison

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
MethodInvokingDerivedValueModel(Object target, String methodName, ValueModel[] paramSourceValueModels)
           
 
Method Summary
 Object getValue()
          Returns this model's value.
protected  void sourceValuesChanged()
          Derive the value from the source values and fire a valueChangeEvent to notify listeners.
 
Methods inherited from class org.springframework.binding.value.support.AbstractDerivedValueModel
getSourceValueModels, getSourceValues, isReadOnly, setValue
 
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, toString, wait, wait, wait
 
Methods inherited from interface org.springframework.binding.value.ValueModel
addValueChangeListener, removeValueChangeListener, setValueSilently
 

Constructor Detail

MethodInvokingDerivedValueModel

public MethodInvokingDerivedValueModel(Object target,
                                       String methodName,
                                       ValueModel[] paramSourceValueModels)
Method Detail

sourceValuesChanged

protected void sourceValuesChanged()
Description copied from class: AbstractDerivedValueModel
Derive the value from the source values and fire a valueChangeEvent to notify listeners.

Specified by:
sourceValuesChanged in class AbstractDerivedValueModel

getValue

public Object getValue()
Description copied from interface: ValueModel
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.

Returns:
this model's value


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