- java.lang.Object
-
- javafx.collections.WeakMapChangeListener<K,V>
-
- Type Parameters:
K- the key element typeV- the value element type
- All Implemented Interfaces:
WeakListener,MapChangeListener<K,V>
public final class WeakMapChangeListener<K,V> extends Object implements MapChangeListener<K,V>, WeakListener
AWeakMapChangeListenercan be used, if anObservableMapshould 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.WeakMapChangeListenerare created by passing in the originalMapChangeListener. TheWeakMapChangeListenershould then be registered to listen for changes of the observed object.Note: You have to keep a reference to the
MapChangeListener, 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:
MapChangeListener,ObservableMap,WeakListener
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface javafx.collections.MapChangeListener
MapChangeListener.Change<K,V>
-
-
Constructor Summary
Constructors Constructor Description WeakMapChangeListener(MapChangeListener<K,V> listener)The constructor ofWeakMapChangeListener.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidonChanged(MapChangeListener.Change<? extends K,? extends V> change)Called after a change has been made to an ObservableMap.booleanwasGarbageCollected()Returnstrueif the linked listener was garbage-collected.
-
-
-
Constructor Detail
-
WeakMapChangeListener
public WeakMapChangeListener(MapChangeListener<K,V> listener)
The constructor ofWeakMapChangeListener.- Parameters:
listener- The original listener that should be notified
-
-
Method Detail
-
wasGarbageCollected
public boolean wasGarbageCollected()
Returnstrueif the linked listener was garbage-collected. In this case, the listener can be removed from the observable.- Specified by:
wasGarbageCollectedin interfaceWeakListener- Returns:
trueif the linked listener was garbage-collected.
-
onChanged
public void onChanged(MapChangeListener.Change<? extends K,? extends V> change)
Called after a change has been made to an ObservableMap. This method is called on every elementary change (put/remove) once. This means, complex changes like keySet().removeAll(Collection) or clear() may result in more than one call of onChanged method.- Specified by:
onChangedin interfaceMapChangeListener<K,V>- Parameters:
change- the change that was made
-
-