Package javafx.beans
Class WeakInvalidationListener
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.
WeakInvalidationListener
are 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 will be garbage collected
to 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 is is considered bad practice to modify the observed value in this method.
- Specified by:
invalidated
in interfaceInvalidationListener
- Parameters:
observable
- TheObservable
that became invalid
-