org.apache.commons.lang3.event
Class EventListenerSupport<L>

java.lang.Object
  extended by org.apache.commons.lang3.event.EventListenerSupport<L>
Type Parameters:
L - the type of event listener that is supported by this proxy.

public class EventListenerSupport<L>
extends Object

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 actionListeners = 
       EventListenerSupport.create(ActionListener.class);

   public void someMethodThatFiresAction()
   {
     ActionEvent e = new ActionEvent(this, ActionEvent.ACTION_PERFORMED, "somethingCool");
     actionListeners.fire().actionPerformed(e);
   }
 }
 

Since:
3.0
Version:
$Id: EventListenerSupport.java 978864 2010-07-24 12:49:38Z jcarman $

Constructor Summary
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.
 
Method Summary
 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.
 L fire()
          Returns a proxy object which can be used to call listener methods on all of the registered event listeners.
 void removeListener(L listener)
          Unregisters an event listener.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EventListenerSupport

public EventListenerSupport(Class<L> listenerInterface)
Creates 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 listenerInterface is null.
IllegalArgumentException - if listenerInterface is not an interface.

EventListenerSupport

public 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.

Parameters:
listenerInterface - the listener interface.
classLoader - the class loader.
Throws:
NullPointerException - if listenerInterface or classLoader is null.
IllegalArgumentException - if listenerInterface is not an interface.
Method Detail

create

public static <T> EventListenerSupport<T> create(Class<T> listenerInterface)
Creates an EventListenerSupport object which supports the specified listener type.

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 listenerInterface is null.
IllegalArgumentException - if listenerInterface is not an interface.

fire

public L fire()
Returns 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

addListener

public void addListener(L listener)
Registers an event listener.

Parameters:
listener - the event listener (may not be null).
Throws:
NullPointerException - if listener is null.

removeListener

public void removeListener(L listener)
Unregisters an event listener.

Parameters:
listener - the event listener (may not be null).
Throws:
NullPointerException - if listener is null.


Copyright © 2001-2010 The Apache Software Foundation. All Rights Reserved.