- All Implemented Interfaces:
Observable
,ObservableValue<T>
public abstract class ObservableValueBase<T> extends Object implements ObservableValue<T>
ObservableValue
.
It contains all of the infrastructure support for value invalidation- and
change event notification.
This implementation can handle adding and removing listeners while the
observers are being notified, but it is not thread-safe.- Since:
- JavaFX 2.0
-
Constructor Summary
Constructors Constructor Description ObservableValueBase()
Creates a defaultObservableValueBase
. -
Method Summary
Modifier and Type Method Description void
addListener(InvalidationListener listener)
Adds anInvalidationListener
which will be notified whenever theObservable
becomes invalid.void
addListener(ChangeListener<? super T> listener)
Adds aChangeListener
which will be notified whenever the value of theObservableValue
changes.protected void
fireValueChangedEvent()
Notify the currently registered observers of a value change.void
removeListener(InvalidationListener listener)
Removes the given listener from the list of listeners, that are notified whenever the value of theObservable
becomes invalid.void
removeListener(ChangeListener<? super T> listener)
Removes the given listener from the list of listeners that are notified whenever the value of theObservableValue
changes.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface javafx.beans.value.ObservableValue
getValue
-
Constructor Details
-
ObservableValueBase
public ObservableValueBase()Creates a defaultObservableValueBase
.
-
-
Method Details
-
addListener
Adds anInvalidationListener
which will be notified whenever theObservable
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 differentObservables
.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 callingremoveListener
after use or to use an instance ofWeakInvalidationListener
avoid this situation.- Specified by:
addListener
in interfaceObservable
- Parameters:
listener
- The listener to register- See Also:
Observable.removeListener(InvalidationListener)
-
addListener
Adds aChangeListener
which will be notified whenever the value of theObservableValue
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 differentObservableValues
.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 callingremoveListener
after use or to use an instance ofWeakChangeListener
avoid this situation.- Specified by:
addListener
in interfaceObservableValue<T>
- Parameters:
listener
- The listener to register- See Also:
ObservableValue.removeListener(ChangeListener)
-
removeListener
Removes the given listener from the list of listeners, that are notified whenever the value of theObservable
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:
removeListener
in interfaceObservable
- Parameters:
listener
- The listener to remove- See Also:
Observable.addListener(InvalidationListener)
-
removeListener
Removes the given listener from the list of listeners that are notified whenever the value of theObservableValue
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:
removeListener
in interfaceObservableValue<T>
- Parameters:
listener
- The listener to remove- See Also:
ObservableValue.addListener(ChangeListener)
-
fireValueChangedEvent
protected void fireValueChangedEvent()Notify the currently registered observers of a value change. This implementation will ignore all adds and removes of observers that are done while a notification is processed. The changes take effect in the following call to fireValueChangedEvent.
-