E
- The type of the observed valuepublic final class WeakListChangeListener<E> extends Object implements ListChangeListener<E>, WeakListener
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.
ListChangeListener
,
ObservableList
,
WeakListener
ListChangeListener.Change<E>
Constructor and Description |
---|
WeakListChangeListener(ListChangeListener<E> listener)
The constructor of
WeakListChangeListener . |
Modifier and Type | Method and Description |
---|---|
void |
onChanged(ListChangeListener.Change<? extends E> change)
Called after a change has been made to an ObservableList.
|
boolean |
wasGarbageCollected()
Returns
true if the linked listener was garbage-collected. |
public WeakListChangeListener(ListChangeListener<E> listener)
WeakListChangeListener
.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 WeakListener
true
if the linked listener was garbage-collected.public void onChanged(ListChangeListener.Change<? extends E> change)
onChanged
in interface ListChangeListener<E>
change
- an object representing the change that was doneListChangeListener.Change
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 2008, 2017, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.