java.lang.Object
javafx.beans.WeakInvalidationListener
- All Implemented Interfaces:
InvalidationListener
,WeakListener
public final class WeakInvalidationListener
extends Object
implements InvalidationListener, WeakListener
A
WeakInvalidationListener
can be used if an Observable
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.
A WeakInvalidationListener
is created by passing in the original
InvalidationListener
. The WeakInvalidationListener
should
then be registered to listen for changes of the observed object.
Note: You have to keep a reference to the InvalidationListener
that
was passed in as long as it is in use, otherwise it can be garbage collected
too soon.
- Since:
- JavaFX 2.0
- See Also:
-
Constructor Summary
ConstructorDescriptionWeakInvalidationListener
(InvalidationListener listener) The constructor ofWeakInvalidationListener
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
invalidated
(Observable observable) This method needs to be provided by an implementation ofInvalidationListener
.boolean
Returnstrue
if the linked listener was garbage-collected.
-
Constructor Details
-
WeakInvalidationListener
The constructor ofWeakInvalidationListener
.- Parameters:
listener
- The original listener that should be notified
-
-
Method Details
-
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.
-
invalidated
This method needs to be provided by an implementation ofInvalidationListener
. It is called if anObservable
becomes invalid.In general, it is considered bad practice to modify the observed value in this method.
- Specified by:
invalidated
in interfaceInvalidationListener
- Parameters:
observable
- TheObservable
that became invalid
-