org.apache.openjpa.lib.util
Class AbstractEventManager

java.lang.Object
  extended by org.apache.openjpa.lib.util.AbstractEventManager
All Implemented Interfaces:
EventManager

public abstract class AbstractEventManager
extends Object
implements EventManager

Base event manager that handles adding/removing listeners and firing events. This class is reentrant-safe; listeners can be added and removed by other listeners when they receive events. The changes will not be visible until the event fire that initiated the recursive sequence of calls completes, however.

Author:
Abe White

Constructor Summary
AbstractEventManager()
           
 
Method Summary
 void addListener(Object listener)
          Register an event listener.
 Exception[] fireEvent(Object event)
          Fire the given event to all listeners.
protected abstract  void fireEvent(Object event, Object listener)
          Implement this method to fire the given event to the given listener.
 Collection getListeners()
          Return a read-only list of listeners.
 boolean hasListener(Object listener)
          Return whether the given instance is in the list of listeners.
 boolean hasListeners()
          Return true if there are any registered listeners.
protected  Collection newListenerCollection()
          Return a new container for listeners.
 boolean removeListener(Object listener)
          Remove an event listener.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractEventManager

public AbstractEventManager()
Method Detail

addListener

public void addListener(Object listener)
Register an event listener.

Specified by:
addListener in interface EventManager

removeListener

public boolean removeListener(Object listener)
Remove an event listener.

Specified by:
removeListener in interface EventManager

hasListener

public boolean hasListener(Object listener)
Return whether the given instance is in the list of listeners.

Specified by:
hasListener in interface EventManager

hasListeners

public boolean hasListeners()
Return true if there are any registered listeners.

Specified by:
hasListeners in interface EventManager

getListeners

public Collection getListeners()
Return a read-only list of listeners.

Specified by:
getListeners in interface EventManager

fireEvent

public Exception[] fireEvent(Object event)
Fire the given event to all listeners.

Specified by:
fireEvent in interface EventManager

fireEvent

protected abstract void fireEvent(Object event,
                                  Object listener)
                           throws Exception
Implement this method to fire the given event to the given listener.

Throws:
Exception

newListenerCollection

protected Collection newListenerCollection()
Return a new container for listeners. Uses a linked list by default.



Copyright © 2006 Apache Software Foundation. All Rights Reserved.