- java.lang.Object
-
- javafx.beans.WeakInvalidationListener
-
- All Implemented Interfaces:
InvalidationListener
,WeakListener
public final class WeakInvalidationListener extends Object implements InvalidationListener, WeakListener
AWeakInvalidationListener
can be used if anObservable
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 originalInvalidationListener
. TheWeakInvalidationListener
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:
InvalidationListener
,Observable
-
-
Constructor Summary
Constructors Constructor Description WeakInvalidationListener(InvalidationListener listener)
The constructor ofWeakInvalidationListener
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
invalidated(Observable observable)
This method needs to be provided by an implementation ofInvalidationListener
.boolean
wasGarbageCollected()
Returnstrue
if the linked listener was garbage-collected.
-
-
-
Constructor Detail
-
WeakInvalidationListener
public WeakInvalidationListener(InvalidationListener listener)
The constructor ofWeakInvalidationListener
.- Parameters:
listener
- The original listener that should be notified
-
-
Method Detail
-
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
public void invalidated(Observable observable)
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
-
-