org.springframework.binding.value.support
Class AbstractValueModelWrapper

java.lang.Object
  extended by org.springframework.binding.value.support.AbstractValueModelWrapper
All Implemented Interfaces:
ValueModelWrapper, ValueModel
Direct Known Subclasses:
DefaultFormModel.ValidatingFormValueModel, FormModelMediatingValueModel, TypeConverter

public class AbstractValueModelWrapper
extends Object
implements ValueModel, ValueModelWrapper

Author:
Keith Donald

Field Summary
 
Fields inherited from interface org.springframework.binding.value.ValueModel
VALUE_PROPERTY
 
Constructor Summary
AbstractValueModelWrapper(ValueModel valueModel)
           
 
Method Summary
 void addValueChangeListener(PropertyChangeListener listener)
          Registers the given PropertyChangeListener with this ValueModel.
 Object getInnerMostValue()
           
 ValueModel getInnerMostWrappedValueModel()
          Returns the inner most ValueModel wrapped by this ValueModelWrapper.
 Object getValue()
          Returns this model's value.
 ValueModel getWrappedValueModel()
          Returns the ValueModel wrapped by this ValueModelWrapper.
 void removeValueChangeListener(PropertyChangeListener listener)
          Deregisters the given PropertyChangeListener from this ValueModel.
 void setValue(Object value)
          Sets a new value and if the value has changed notifies any registered value change listeners.
 void setValueSilently(Object value, PropertyChangeListener listenerToSkip)
          Sets a new value and if the value has changed notifies all registered value change listeners except for the specified listener to skip.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractValueModelWrapper

public AbstractValueModelWrapper(ValueModel valueModel)
Method Detail

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.

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

setValue

public final void setValue(Object value)
Description copied from interface: ValueModel
Sets a new value and if the value has changed notifies any registered value change listeners.

Specified by:
setValue in interface ValueModel
Parameters:
value - the value to be set

setValueSilently

public void setValueSilently(Object value,
                             PropertyChangeListener listenerToSkip)
Description copied from interface: ValueModel
Sets a new value and if the value has changed notifies all registered value change listeners except for the specified listener to skip.

Specified by:
setValueSilently in interface ValueModel
Parameters:
value - the value to be set
listenerToSkip - the PropertyChangeListener that should not be notified of this change (may be null).

getWrappedValueModel

public ValueModel getWrappedValueModel()
Description copied from interface: ValueModelWrapper
Returns the ValueModel wrapped by this ValueModelWrapper.

Specified by:
getWrappedValueModel in interface ValueModelWrapper
Returns:
the wrapped value model.

getInnerMostWrappedValueModel

public ValueModel getInnerMostWrappedValueModel()
Description copied from interface: ValueModelWrapper
Returns the inner most ValueModel wrapped by this ValueModelWrapper.

Specified by:
getInnerMostWrappedValueModel in interface ValueModelWrapper
Returns:
the inner most wrapped value model.

getInnerMostValue

public Object getInnerMostValue()

addValueChangeListener

public void addValueChangeListener(PropertyChangeListener listener)
Description copied from interface: ValueModel
Registers the given PropertyChangeListener with this ValueModel. The listener will be notified if the value has changed. The PropertyChangeEvents delivered to the listener must have the name set to "value". The latter ensures that all ValueModel implementers behave like the AbstractValueModel subclasses.

To comply with the above specification implementers can use the PropertyChangeSupport's #addPropertyChangeListener method that accepts a property name, so that listeners will be invoked only if that specific property has changed.

Specified by:
addValueChangeListener in interface ValueModel
Parameters:
listener - the listener to be added
See Also:
AbstractValueModel.addValueChangeListener(PropertyChangeListener)

removeValueChangeListener

public void removeValueChangeListener(PropertyChangeListener listener)
Description copied from interface: ValueModel
Deregisters the given PropertyChangeListener from this ValueModel.

Specified by:
removeValueChangeListener in interface ValueModel
Parameters:
listener - the listener to be removed


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