Class ObjectBinding<T>
- Type Parameters:
-
T- the type of the wrappedObject
- All Implemented Interfaces:
-
Binding<T>,Observable,ObservableObjectValue<T>,ObservableValue<T>
public abstract class ObjectBinding<T> extends ObjectExpression<T> implements Binding<T>
Binding of an Object. ObjectBinding provides a simple invalidation-scheme. An extending class can register dependencies by calling bind(Observable...). If One of the registered dependencies becomes invalid, this ObjectBinding is marked as invalid. With unbind(Observable...) listening to dependencies can be stopped.
To provide a concrete implementation of this class, the method computeValue() has to be implemented to calculate the value of this binding based on the current state of the dependencies. It is called when get() is called for an invalid binding.
See DoubleBinding for an example how this base class can be extended.
- Since:
- JavaFX 2.0
- See Also:
Constructor Summary
| Constructor | Description |
|---|---|
ObjectBinding() |
Creates a default ObjectBinding. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
void |
addListener |
Adds an InvalidationListener which will be notified whenever the Observable becomes invalid. |
void |
addListener |
Adds a ChangeListener which will be notified whenever the value of the ObservableValue changes. |
protected boolean |
allowValidation() |
Checks if the binding is allowed to become valid. |
protected final void |
bind |
Start observing the dependencies for changes. |
protected abstract T |
computeValue() |
Calculates the current value of this binding. |
void |
dispose() |
A default implementation of dispose() that is empty. |
final T |
get() |
Returns the result of computeValue(). |
ObservableList<?> |
getDependencies() |
A default implementation of getDependencies() that returns an empty ObservableList. |
final void |
invalidate() |
Mark a binding as invalid. |
protected final boolean |
isObserved() |
Checks if the binding has at least one listener registered on it. |
final boolean |
isValid() |
Checks if a binding is valid. |
protected void |
onInvalidating() |
Called when this binding becomes invalid. |
void |
removeListener |
Removes the given listener from the list of listeners, that are notified whenever the value of the Observable becomes invalid. |
void |
removeListener |
Removes the given listener from the list of listeners that are notified whenever the value of the ObservableValue changes. |
String |
toString() |
Returns a string representation of this ObjectBinding object. |
protected final void |
unbind |
Stop observing the dependencies for changes. |
Methods declared in class javafx.beans.binding.ObjectExpression
asString, asString, asString, getValue, isEqualTo, isEqualTo, isNotEqualTo, isNotEqualTo, isNotNull, isNull, objectExpression
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods declared in interface javafx.beans.Observable
subscribe
Constructor Details
ObjectBinding
public ObjectBinding()
ObjectBinding.Method Details
addListener
public void addListener(InvalidationListener listener)
ObservableInvalidationListener 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.
- Specified by:
-
addListenerin interfaceObservable - Parameters:
-
listener- The listener to register - See Also:
removeListener
public void removeListener(InvalidationListener listener)
ObservableObservable 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.
- Specified by:
-
removeListenerin interfaceObservable - Parameters:
-
listener- The listener to remove - See Also:
addListener
public void addListener(ChangeListener<? super T> listener)
ObservableValueChangeListener 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.
- Specified by:
-
addListenerin interfaceObservableValue<T> - Parameters:
-
listener- The listener to register - See Also:
removeListener
public void removeListener(ChangeListener<? super T> listener)
ObservableValueObservableValue 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.
- Specified by:
-
removeListenerin interfaceObservableValue<T> - Parameters:
-
listener- The listener to remove - See Also:
bind
protected final void bind(Observable... dependencies)
- Parameters:
-
dependencies- the dependencies to observe
unbind
protected final void unbind(Observable... dependencies)
- Parameters:
-
dependencies- the dependencies to stop observing
dispose
public void dispose()
dispose() that is empty.- Specified by:
-
disposein interfaceBinding<T>
getDependencies
public ObservableList<?> getDependencies()
getDependencies() that returns an empty ObservableList.- Specified by:
-
getDependenciesin interfaceBinding<T> - Returns:
- an empty
ObservableList
get
public final T get()
computeValue(). The method computeValue() is only called if the binding is invalid. The result is cached and returned if the binding did not become invalid since the last call of get().- Specified by:
-
getin interfaceObservableObjectValue<T> - Returns:
- the current value
onInvalidating
protected void onInvalidating()
invalidate
public final void invalidate()
BindingBinding next time it is request.- Specified by:
-
invalidatein interfaceBinding<T>
isValid
public final boolean isValid()
Binding- Specified by:
-
isValidin interfaceBinding<T> - Returns:
-
trueif theBindingis valid,falseotherwise
isObserved
protected final boolean isObserved()
- Returns:
-
trueif this binding currently has one or more listeners registered on it, otherwisefalse - Since:
- 19
allowValidation
protected boolean allowValidation()
The default implementation always allows bindings to become valid.
- Returns:
-
trueif this binding is allowed to become valid, otherwisefalse - Since:
- 19
computeValue
protected abstract T computeValue()
Classes extending ObjectBinding have to provide an implementation of computeValue.
- Returns:
- the current value
toString
public String toString()
ObjectBinding object.- Overrides:
-
toStringin classObject - Returns:
- a string representation of this
ObjectBindingobject.
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.