- java.lang.Object
-
- javafx.event.WeakEventHandler<T>
-
- Type Parameters:
T
- the event class this handler can handle
- All Implemented Interfaces:
EventListener
,EventHandler<T>
public final class WeakEventHandler<T extends Event> extends Object implements EventHandler<T>
Used in event handler registration in place of its associated event handler. Its sole purpose is to break the otherwise strong reference between an event handler container and its associated event handler. While the container still holds strong reference to the registeredWeakEventHandler
proxy, the proxy itself references the original handler only weakly and so doesn't prevent it from being garbage collected. Until this weak reference is broken, any event notification received by the proxy is forwarded to the original handler.- Since:
- JavaFX 8.0
-
-
Constructor Summary
Constructors Constructor Description WeakEventHandler(EventHandler<T> eventHandler)
Creates a new instance ofWeakEventHandler
.
-
Method Summary
Modifier and Type Method Description void
handle(T event)
Forwards event notification to the associated event handler.boolean
wasGarbageCollected()
Indicates whether the associated event handler has been garbage collected.
-
-
-
Constructor Detail
-
WeakEventHandler
public WeakEventHandler(EventHandler<T> eventHandler)
Creates a new instance ofWeakEventHandler
.- Parameters:
eventHandler
- the original event handler to which to forward event notifications
-
-
Method Detail
-
wasGarbageCollected
public boolean wasGarbageCollected()
Indicates whether the associated event handler has been garbage collected. Used by containers to detect when the storage of corresponding references to thisWeakEventHandler
is no longer necessary.- Returns:
true
if the associated handler has been garbage collected,false
otherwise
-
handle
public void handle(T event)
Forwards event notification to the associated event handler.- Specified by:
handle
in interfaceEventHandler<T extends Event>
- Parameters:
event
- the event which occurred
-
-