Class WeakMapChangeListener<K,V>
java.lang.Object
javafx.collections.WeakMapChangeListener<K,V>
- Type Parameters:
-
K- the key element type -
V- 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
| Constructor | Description |
|---|---|
WeakMapChangeListener |
The constructor of WeakMapChangeListener. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
void |
onChanged |
Called after a change has been made to an ObservableMap. |
boolean |
wasGarbageCollected() |
Returns true if the linked listener was garbage-collected. |
Constructor Details
WeakMapChangeListener
public WeakMapChangeListener(MapChangeListener<K,V> listener)
The constructor of
WeakMapChangeListener.- Parameters:
-
listener- The original listener that should be notified
Method Details
wasGarbageCollected
public boolean wasGarbageCollected()
Returns
true if 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
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.