S - the type of source object that this Property operates onV - the type of value that this Property representsObjectProperty, PropertyHelperpublic abstract class Property<S,V>
extends java.lang.Object
Property defines a uniform way to access the value of a property.
A typical Property implemention allows you to create an immutable
representation of a way to derive some property from a source object.
As such, all methods of this class take a source object as an argument.
A Property implementation may, however, be designed such that the
Property itself is a mutable thing that stores a property value.
In such a case, the Property implementation may ignore the source
object. Property implementations should clearly document their
behavior in this regard.
You can listen for changes in the state of a Property by
registering PropertyStateListeners on the Property.
| Constructor | Description |
|---|---|
Property() |
| Modifier and Type | Method | Description |
|---|---|---|
abstract void |
addPropertyStateListener(S source,
PropertyStateListener listener) |
Adds a
PropertyStateListener to be notified when the state of the
Property changes with respect to the given source. |
abstract PropertyStateListener[] |
getPropertyStateListeners(S source) |
Returns an arry containing the listeners registered for the given source.
|
abstract V |
getValue(S source) |
Returns the value of this
Property for the given source. |
abstract java.lang.Class<? extends V> |
getWriteType(S source) |
Returns the type of object that is suitable for setting as the value
of this
Property by calls to setValue. |
abstract boolean |
isReadable(S source) |
Returns whether or not the
Property is readable for the given source. |
abstract boolean |
isWriteable(S source) |
Returns whether or not the
Property is writeable for the given source. |
abstract void |
removePropertyStateListener(S source,
PropertyStateListener listener) |
Removes a
PropertyStateListener for the given source. |
abstract void |
setValue(S source,
V value) |
Sets the value of this
Property for the given source. |
public abstract java.lang.Class<? extends V> getWriteType(S source)
Property by calls to setValue.source - the source object on which to operatejava.lang.UnsupportedOperationException - if the Property is not
writeable for the given sourcesetValue(S, V),
isWriteable(S)public abstract V getValue(S source)
Property for the given source.source - the source object on which to operateProperty for the given sourcejava.lang.UnsupportedOperationException - if the Property is not
readable for the given sourceisReadable(S)public abstract void setValue(S source, V value)
Property for the given source.source - the source object on which to operatevalue - the new value for the Propertyjava.lang.UnsupportedOperationException - if the Property is not
writeable for the given sourceisWriteable(S),
getWriteType(S)public abstract boolean isReadable(S source)
Property is readable for the given source.source - the source object on which to operateProperty is readable for the given source.isWriteable(S)public abstract boolean isWriteable(S source)
Property is writeable for the given source.source - the source object on which to operateProperty is writeable for the given source.isReadable(S)public abstract void addPropertyStateListener(S source, PropertyStateListener listener)
PropertyStateListener to be notified when the state of the
Property changes with respect to the given source. Does nothing if
the listener is null. If a listener is added more than once,
notifications are sent to that listener once for every time that it has
been added. The ordering of listener notification is unspecified.source - the source object on which to operatelistener - the listener to be notifiedpublic abstract void removePropertyStateListener(S source, PropertyStateListener listener)
PropertyStateListener for the given source. Does
nothing if the listener is null or is not one of those registered
for this source object. If the listener being removed was registered more
than once, only one occurrence of the listener is removed from the list of
listeners. The ordering of listener notification is unspecified.source - the source object on which to operatelistener - the listener to be removedaddPropertyStateListener(S, org.jdesktop.beansbinding.PropertyStateListener)public abstract PropertyStateListener[] getPropertyStateListeners(S source)
source - the source object on which to operateaddPropertyStateListener(S, org.jdesktop.beansbinding.PropertyStateListener)