- java.lang.Object
-
- javafx.collections.WeakSetChangeListener<E>
-
- Type Parameters:
E
- The type of the observed value
- All Implemented Interfaces:
WeakListener
,SetChangeListener<E>
public final class WeakSetChangeListener<E> extends Object implements SetChangeListener<E>, WeakListener
AWeakSetChangeListener
can be used, if anObservableSet
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.WeakSetChangeListener
are created by passing in the originalSetChangeListener
. TheWeakSetChangeListener
should then be registered to listen for changes of the observed object.Note: You have to keep a reference to the
SetChangeListener
, 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:
SetChangeListener
,ObservableSet
,WeakListener
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface javafx.collections.SetChangeListener
SetChangeListener.Change<E>
-
-
Constructor Summary
Constructors Constructor Description WeakSetChangeListener(SetChangeListener<E> listener)
The constructor ofWeakSetChangeListener
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
onChanged(SetChangeListener.Change<? extends E> change)
Called after a change has been made to an ObservableSet.boolean
wasGarbageCollected()
Returnstrue
if the linked listener was garbage-collected.
-
-
-
Constructor Detail
-
WeakSetChangeListener
public WeakSetChangeListener(SetChangeListener<E> listener)
The constructor ofWeakSetChangeListener
.- Parameters:
listener
- The original listener that should be notified
-
-
Method Detail
-
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
public void onChanged(SetChangeListener.Change<? extends E> change)
Called after a change has been made to an ObservableSet. This method is called on every elementary change (add/remove) once. This means, complex changes like removeAll(Collection) or clear() may result in more than one call of onChanged method.- Specified by:
onChanged
in interfaceSetChangeListener<E>
- Parameters:
change
- the change that was made
-
-