public class ExpressionValue extends ObservableValueBase<java.lang.Object>
| Modifier and Type | Class and Description |
|---|---|
private class |
ExpressionValue.KeyPathMonitor |
| Modifier and Type | Field and Description |
|---|---|
private java.util.ArrayList<ExpressionValue.KeyPathMonitor> |
argumentMonitors |
private Expression |
expression |
private int |
listenerCount |
private java.lang.Object |
namespace |
private java.lang.Class<?> |
type |
| Constructor and Description |
|---|
ExpressionValue(java.lang.Object namespace,
Expression expression,
java.lang.Class<?> type) |
| Modifier and Type | Method and Description |
|---|---|
void |
addListener(ChangeListener<? super java.lang.Object> listener)
Adds a
ChangeListener which will be notified whenever the value
of the ObservableValue changes. |
void |
addListener(InvalidationListener listener)
Adds an
InvalidationListener which will be notified whenever the
Observable becomes invalid. |
java.lang.Object |
getValue()
Returns the current value of this
ObservableValue |
private void |
monitorArguments() |
void |
removeListener(ChangeListener<? super java.lang.Object> listener)
Removes the given listener from the list of listeners, that are notified
whenever the value of the
ObservableValue changes. |
void |
removeListener(InvalidationListener listener)
Removes the given listener from the list of listeners, that are notified
whenever the value of the
Observable becomes invalid. |
private void |
unmonitorArguments() |
fireValueChangedEventprivate java.lang.Object namespace
private Expression expression
private java.lang.Class<?> type
private java.util.ArrayList<ExpressionValue.KeyPathMonitor> argumentMonitors
private int listenerCount
public ExpressionValue(java.lang.Object namespace,
Expression expression,
java.lang.Class<?> type)
public java.lang.Object getValue()
ObservableValueObservableValuepublic void addListener(InvalidationListener listener)
ObservableValueBaseInvalidationListener which will be notified whenever the
Observable becomes invalid. If the same
listener is added more than once, then it will be notified more than
once. That is, no check is made to ensure uniqueness.
Note that the same actual InvalidationListener instance may be
safely registered for different Observables.
The Observable stores a strong reference to the listener
which will prevent the listener from being garbage collected and may
result in a memory leak. It is recommended to either unregister a
listener by calling removeListener after use or to use an instance of
WeakInvalidationListener avoid this situation.
addListener in interface ObservableaddListener in class ObservableValueBase<java.lang.Object>listener - The listener to registerObservable.removeListener(InvalidationListener)public void removeListener(InvalidationListener listener)
ObservableValueBaseObservable becomes invalid.
If the given listener has not been previously registered (i.e. it was never added) then this method call is a no-op. If it had been previously added then it will be removed. If it had been added more than once, then only the first occurrence will be removed.
removeListener in interface ObservableremoveListener in class ObservableValueBase<java.lang.Object>listener - The listener to removeObservable.addListener(InvalidationListener)public void addListener(ChangeListener<? super java.lang.Object> listener)
ObservableValueBaseChangeListener which will be notified whenever the value
of the ObservableValue changes. If the same listener is added
more than once, then it will be notified more than once. That is, no
check is made to ensure uniqueness.
Note that the same actual ChangeListener instance may be safely
registered for different ObservableValues.
The ObservableValue stores a strong reference to the listener
which will prevent the listener from being garbage collected and may
result in a memory leak. It is recommended to either unregister a
listener by calling removeListener after use or to use an instance of
WeakChangeListener avoid this situation.
addListener in interface ObservableValue<java.lang.Object>addListener in class ObservableValueBase<java.lang.Object>listener - The listener to registerObservableValue.removeListener(ChangeListener)public void removeListener(ChangeListener<? super java.lang.Object> listener)
ObservableValueBaseObservableValue changes.
If the given listener has not been previously registered (i.e. it was never added) then this method call is a no-op. If it had been previously added then it will be removed. If it had been added more than once, then only the first occurrence will be removed.
removeListener in interface ObservableValue<java.lang.Object>removeListener in class ObservableValueBase<java.lang.Object>listener - The listener to removeObservableValue.addListener(ChangeListener)private void monitorArguments()
private void unmonitorArguments()