public final class WeakInvalidationListener extends Object implements InvalidationListener, WeakListenerA
WeakInvalidationListenercan be used if an
Observableshould 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.
WeakInvalidationListeneris created by passing in the original
WeakInvalidationListenershould then be registered to listen for changes of the observed object.
Note: You have to keep a reference to the
InvalidationListenerthat was passed in as long as it is in use, otherwise it can be garbage collected too soon.
public WeakInvalidationListener(InvalidationListener listener)The constructor of
listener- The original listener that should be notified
public boolean wasGarbageCollected()Returns
trueif the linked listener was garbage-collected. In this case, the listener can be removed from the observable.
public void invalidated(Observable observable)This method needs to be provided by an implementation of
InvalidationListener. It is called if an
In general, it is considered bad practice to modify the observed value in this method.