com.jgoodies.binding.extras
Class NonNullValueModel

java.lang.Object
  extended by AbstractBean
      extended by com.jgoodies.binding.beans.Model
          extended by com.jgoodies.binding.value.AbstractValueModel
              extended by com.jgoodies.binding.extras.NonNullValueModel
All Implemented Interfaces:
Observable, ValueModel

public final class NonNullValueModel
extends AbstractValueModel

A ValueModel implementation that avoids null values. It wraps another ValueModel and returns a (non-null) default value if the wrapped ValueModel returns null.

Note that value change events fired by this model may use null as old and/or new value. This is because PropertyChangeEvents use null to indicate that the old and/or new value is not provided by the event.

Note: This class is not yet part of the binary Binding library; it comes with the Binding distributions as an extra. The API is work in progress and may change without notice; this class may even be completely removed from future distributions. If you want to use this class, you may consider copying it into your code base.

Since:
1.1
Version:
$Revision: 1.10 $
Author:
Karsten Lentzsch

Field Summary
 
Fields inherited from class com.jgoodies.binding.value.AbstractValueModel
PROPERTYNAME_VALUE
 
Constructor Summary
NonNullValueModel(ValueModel subject, java.lang.Object defaultValue)
          Constructs an NonNullValueModel for the given ValueModel.
 
Method Summary
 java.lang.Object getValue()
          Returns this model's current subject value.
 void setValue(java.lang.Object newValue)
          Sets the given value to the wrapped ValueModel.
 
Methods inherited from class com.jgoodies.binding.value.AbstractValueModel
addValueChangeListener, booleanValue, doubleValue, fireValueChange, fireValueChange, fireValueChange, fireValueChange, fireValueChange, fireValueChange, fireValueChange, floatValue, getString, intValue, longValue, paramString, removeValueChangeListener, setValue, setValue, setValue, setValue, setValue, toString, valueString
 
Methods inherited from class com.jgoodies.binding.beans.Model
createPropertyChangeSupport, firePropertyChange
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.jgoodies.binding.beans.Observable
addPropertyChangeListener, removePropertyChangeListener
 

Constructor Detail

NonNullValueModel

public NonNullValueModel(ValueModel subject,
                         java.lang.Object defaultValue)
Constructs an NonNullValueModel for the given ValueModel.

Parameters:
subject - the underlying (or wrapped) ValueModel
defaultValue - the value used whenever the wrapped model returns null
Throws:
java.lang.NullPointerException - if the subject or defaultValue is null
Method Detail

getValue

public java.lang.Object getValue()
Returns this model's current subject value.

Returns:
this model's current subject value.

setValue

public void setValue(java.lang.Object newValue)
Sets the given value to the wrapped ValueModel. The value set can be null.

Parameters:
newValue - the value to set


Copyright © 2002-2010 JGoodies Karsten Lentzsch. All Rights Reserved.