L - the type of event listener that is supported by this proxy.public class EventListenerSupport<L> extends Object implements Serializable
addListener(Object) and removeListener(Object) methods
for registering listeners, as well as a fire() method for firing
events to the listeners.
To use this class, suppose you want to support ActionEvents. You would do:
public class MyActionEventSource
{
private EventListenerSupport actionListeners =
EventListenerSupport.create(ActionListener.class);
public void someMethodThatFiresAction()
{
ActionEvent e = new ActionEvent(this, ActionEvent.ACTION_PERFORMED, "somethingCool");
actionListeners.fire().actionPerformed(e);
}
}
Serializing an EventListenerSupport instance will result in any
non-Serializable listeners being silently dropped.| Modifier and Type | Class and Description |
|---|---|
protected class |
EventListenerSupport.ProxyInvocationHandler
An invocation handler used to dispatch the event(s) to all the listeners.
|
| Constructor and Description |
|---|
EventListenerSupport(Class<L> listenerInterface)
Creates an EventListenerSupport object which supports the provided
listener interface.
|
EventListenerSupport(Class<L> listenerInterface,
ClassLoader classLoader)
Creates an EventListenerSupport object which supports the provided
listener interface using the specified class loader to create the JDK
dynamic proxy.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addListener(L listener)
Registers an event listener.
|
static <T> EventListenerSupport<T> |
create(Class<T> listenerInterface)
Creates an EventListenerSupport object which supports the specified
listener type.
|
protected InvocationHandler |
createInvocationHandler()
Create the
InvocationHandler responsible for broadcasting calls
to the managed listeners. |
L |
fire()
Returns a proxy object which can be used to call listener methods on all
of the registered event listeners.
|
L[] |
getListeners()
Get an array containing the currently registered listeners.
|
void |
removeListener(L listener)
Unregisters an event listener.
|
public EventListenerSupport(Class<L> listenerInterface)
listenerInterface - the type of listener interface that will receive
events posted using this class.NullPointerException - if listenerInterface is
null.IllegalArgumentException - if listenerInterface is
not an interface.public EventListenerSupport(Class<L> listenerInterface, ClassLoader classLoader)
listenerInterface - the listener interface.classLoader - the class loader.NullPointerException - if listenerInterface or
classLoader is null.IllegalArgumentException - if listenerInterface is
not an interface.public static <T> EventListenerSupport<T> create(Class<T> listenerInterface)
T - the type of the listener interfacelistenerInterface - the type of listener interface that will receive
events posted using this class.NullPointerException - if listenerInterface is
null.IllegalArgumentException - if listenerInterface is
not an interface.public L fire()
public void addListener(L listener)
listener - the event listener (may not be null).NullPointerException - if listener is
null.public void removeListener(L listener)
listener - the event listener (may not be null).NullPointerException - if listener is
null.public L[] getListeners()
EventListenerSupport instance.protected InvocationHandler createInvocationHandler()
InvocationHandler responsible for broadcasting calls
to the managed listeners. Subclasses can override to provide custom behavior.Copyright © 2021 Internet2. All rights reserved.