T - The type of the observed valuepublic final class WeakChangeListener<T> extends Object implements ChangeListener<T>, WeakListener
WeakChangeListener can be used, if an ObservableValue
should only maintain a weak reference to the listener. This helps to avoid
memory leaks, that can occur if observers are not unregistered from observed
objects after use.
WeakChangeListener are created by passing in the original
ChangeListener. The WeakChangeListener should then be
registered to listen for changes of the observed object.
Note: You have to keep a reference to the ChangeListener, that
was passed in as long as it is in use, otherwise it will be garbage collected
to soon.
ChangeListener,
ObservableValue| Constructor and Description |
|---|
WeakChangeListener(ChangeListener<T> listener)
The constructor of
WeakChangeListener. |
| Modifier and Type | Method and Description |
|---|---|
void |
changed(ObservableValue<? extends T> observable,
T oldValue,
T newValue)
This method needs to be provided by an implementation of
ChangeListener. |
boolean |
wasGarbageCollected()
Returns
true if the linked listener was garbage-collected. |
public WeakChangeListener(ChangeListener<T> listener)
WeakChangeListener.listener - The original listener that should be notifiedpublic boolean wasGarbageCollected()
true if the linked listener was garbage-collected.
In this case, the listener can be removed from the observable.wasGarbageCollected in interface WeakListenertrue if the linked listener was garbage-collected.public void changed(ObservableValue<? extends T> observable, T oldValue, T newValue)
ChangeListener. It is called if the value of an
ObservableValue changes.
In general is is considered bad practice to modify the observed value in this method.
changed in interface ChangeListener<T>observable - The ObservableValue which value changedoldValue - The old valuenewValue - The new valueCopyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.