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 
A 
WeakMapChangeListener can be used, if an ObservableMap
 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.
 
 WeakMapChangeListener are created by passing in the original
 MapChangeListener. The WeakMapChangeListener should 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:
 
- 
Nested Class Summary
Nested classes/interfaces declared in interface javafx.collections.MapChangeListener
MapChangeListener.Change<K,V>  - 
Constructor Summary
ConstructorsConstructorDescriptionWeakMapChangeListener(MapChangeListener<K, V> listener) The constructor ofWeakMapChangeListener. - 
Method Summary
Modifier and TypeMethodDescriptionvoidonChanged(MapChangeListener.Change<? extends K, ? extends V> change) Called after a change has been made to an ObservableMap.booleanReturnstrueif the linked listener was garbage-collected. 
- 
Constructor Details
- 
WeakMapChangeListener
The constructor ofWeakMapChangeListener.- Parameters:
 listener- The original listener that should be notified
 
 - 
 - 
Method Details
- 
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
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
 
 -