java.lang.Object
javafx.collections.WeakListChangeListener<E>
- Type Parameters:
E
- The type of the observed value
- All Implemented Interfaces:
WeakListener
,ListChangeListener<E>
public final class WeakListChangeListener<E> extends Object implements ListChangeListener<E>, WeakListener
A
WeakListChangeListener
can be used, if an ObservableList
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.
WeakListChangeListener
are created by passing in the original
ListChangeListener
. The WeakListChangeListener
should then be
registered to listen for changes of the observed object.
Note: You have to keep a reference to the ListChangeListener
, that
was passed in as long as it is in use, otherwise it will be garbage collected
to soon.
- Since:
- JavaFX 2.1
- See Also:
ListChangeListener
,ObservableList
,WeakListener
-
Nested Class Summary
Nested classes/interfaces inherited from interface javafx.collections.ListChangeListener
ListChangeListener.Change<E>
-
Constructor Summary
Constructors Constructor Description WeakListChangeListener(ListChangeListener<E> listener)
The constructor ofWeakListChangeListener
. -
Method Summary
Modifier and Type Method Description void
onChanged(ListChangeListener.Change<? extends E> change)
Called after a change has been made to an ObservableList.boolean
wasGarbageCollected()
Returnstrue
if the linked listener was garbage-collected.
-
Constructor Details
-
WeakListChangeListener
The constructor ofWeakListChangeListener
.- Parameters:
listener
- The original listener that should be notified
-
-
Method Details
-
wasGarbageCollected
public boolean wasGarbageCollected()Returnstrue
if the linked listener was garbage-collected. In this case, the listener can be removed from the observable.- Specified by:
wasGarbageCollected
in interfaceWeakListener
- Returns:
true
if the linked listener was garbage-collected.
-
onChanged
Called after a change has been made to an ObservableList.- Specified by:
onChanged
in interfaceListChangeListener<E>
- Parameters:
change
- an object representing the change that was done- See Also:
ListChangeListener.Change
-