Package org.apache.commons.lang3.event
Class EventListenerSupport<L>
java.lang.Object
org.apache.commons.lang3.event.EventListenerSupport<L>
- Type Parameters:
- L- the type of event listener that is supported by this proxy.
- All Implemented Interfaces:
- Serializable
An EventListenerSupport object can be used to manage a list of event
 listeners of a particular type. The class provides
 
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<ActionListener> 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.
 
- Since:
- 3.0
- See Also:
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionprotected classAn invocation handler used to dispatch the event(s) to all the listeners.
- 
Constructor SummaryConstructorsConstructorDescriptionEventListenerSupport(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.
- 
Method SummaryModifier and TypeMethodDescriptionvoidaddListener(L listener) Registers an event listener.voidaddListener(L listener, boolean allowDuplicate) Registers an event listener.static <T> EventListenerSupport<T>Creates an EventListenerSupport object which supports the specified listener type.protected InvocationHandlerCreates theInvocationHandlerresponsible for broadcasting calls to the managed listeners.fire()Returns a proxy object which can be used to call listener methods on all of the registered event listeners.L[]Gets an array containing the currently registered listeners.voidremoveListener(L listener) Unregisters an event listener.
- 
Constructor Details- 
EventListenerSupportCreates an EventListenerSupport object which supports the provided listener interface.- Parameters:
- listenerInterface- the type of listener interface that will receive events posted using this class.
- Throws:
- NullPointerException- if- listenerInterfaceis- null.
- IllegalArgumentException- if- listenerInterfaceis not an interface.
 
- 
EventListenerSupportCreates an EventListenerSupport object which supports the provided listener interface using the specified class loader to create the JDK dynamic proxy.- Parameters:
- listenerInterface- the listener interface.
- classLoader- the class loader.
- Throws:
- NullPointerException- if- listenerInterfaceor- classLoaderis- null.
- IllegalArgumentException- if- listenerInterfaceis not an interface.
 
 
- 
- 
Method Details- 
createCreates an EventListenerSupport object which supports the specified listener type.- Type Parameters:
- T- the type of the listener interface
- Parameters:
- listenerInterface- the type of listener interface that will receive events posted using this class.
- Returns:
- an EventListenerSupport object which supports the specified listener type.
- Throws:
- NullPointerException- if- listenerInterfaceis- null.
- IllegalArgumentException- if- listenerInterfaceis not an interface.
 
- 
addListenerRegisters an event listener.- Parameters:
- listener- the event listener (may not be- null).
- Throws:
- NullPointerException- if- listeneris- null.
 
- 
addListenerRegisters an event listener. Will not add a pre-existing listener object to the list ifallowDuplicateis false.- Parameters:
- listener- the event listener (may not be- null).
- allowDuplicate- the flag for determining if duplicate listener objects are allowed to be registered.
- Throws:
- NullPointerException- if- listeneris- null.
- Since:
- 3.5
 
- 
createInvocationHandlerCreates theInvocationHandlerresponsible for broadcasting calls to the managed listeners. Subclasses can override to provide custom behavior.- Returns:
- ProxyInvocationHandler
 
- 
fireReturns a proxy object which can be used to call listener methods on all of the registered event listeners. All calls made to this proxy will be forwarded to all registered listeners.- Returns:
- a proxy object which can be used to call listener methods on all of the registered event listeners
 
- 
getListenersGets an array containing the currently registered listeners. Modification to this array's elements will have no effect on theEventListenerSupportinstance.- Returns:
- L[]
 
- 
removeListenerUnregisters an event listener.- Parameters:
- listener- the event listener (may not be- null).
- Throws:
- NullPointerException- if- listeneris- null.
 
 
-