|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.cayenne.event.EventManager
public class EventManager
This class acts as bridge between an Object that wants to inform others about its current state or a change thereof (Publisher) and a list of objects interested in the Subject (Listeners).
| Field Summary | |
|---|---|
static int |
DEFAULT_DISPATCH_THREAD_COUNT
|
protected List<org.apache.cayenne.event.EventManager.Dispatch> |
eventQueue
|
protected boolean |
singleThread
|
protected boolean |
stopped
|
protected Map<EventSubject,org.apache.cayenne.event.DispatchQueue> |
subjects
|
| Constructor Summary | |
|---|---|
EventManager()
Creates a multithreaded EventManager using default thread count. |
|
EventManager(int dispatchThreadCount)
Creates an EventManager starting the specified number of threads for multithreaded dispatching. |
|
| Method Summary | |
|---|---|
void |
addListener(Object listener,
String methodName,
Class<?> eventParameterClass,
EventSubject subject)
Register an EventListener for events sent by any sender. |
void |
addListener(Object listener,
String methodName,
Class<?> eventParameterClass,
EventSubject subject,
Object sender)
Register an EventListener for events sent by a specific sender. |
protected void |
addListener(Object listener,
String methodName,
Class<?> eventParameterClass,
EventSubject subject,
Object sender,
boolean blocking)
|
void |
addNonBlockingListener(Object listener,
String methodName,
Class<?> eventParameterClass,
EventSubject subject)
|
void |
addNonBlockingListener(Object listener,
String methodName,
Class<?> eventParameterClass,
EventSubject subject,
Object sender)
|
static EventManager |
getDefaultManager()
Returns the shared EventManager. |
List<org.apache.cayenne.event.EventManager.Dispatch> |
getEventQueue()
Returns a list of currently queued events. |
boolean |
isSingleThreaded()
Returns true if this EventManager is single-threaded. |
void |
postEvent(EventObject event,
EventSubject subject)
Sends an event to all registered objects about a particular subject. |
void |
postNonBlockingEvent(EventObject event,
EventSubject subject)
Sends an event to all registered objects about a particular subject. |
boolean |
removeAllListeners(EventSubject subject)
Removes all listeners for a given subject. |
boolean |
removeListener(Object listener)
Unregister the specified listener from all event subjects handled by this EventManager instance. |
boolean |
removeListener(Object listener,
EventSubject subject)
Unregister the specified listener for the events about the given subject. |
boolean |
removeListener(Object listener,
EventSubject subject,
Object sender)
Unregister the specified listener for the events about the given subject and the given sender. |
void |
shutdown()
Stops event threads. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int DEFAULT_DISPATCH_THREAD_COUNT
protected Map<EventSubject,org.apache.cayenne.event.DispatchQueue> subjects
protected List<org.apache.cayenne.event.EventManager.Dispatch> eventQueue
protected boolean singleThread
protected boolean stopped
| Constructor Detail |
|---|
public EventManager()
public EventManager(int dispatchThreadCount)
| Method Detail |
|---|
public static EventManager getDefaultManager()
public boolean isSingleThreaded()
public List<org.apache.cayenne.event.EventManager.Dispatch> getEventQueue()
public void shutdown()
public void addListener(Object listener,
String methodName,
Class<?> eventParameterClass,
EventSubject subject)
EventListener for events sent by any sender.
RuntimeException - if methodName is not foundaddListener(Object, String, Class, EventSubject, Object)
public void addNonBlockingListener(Object listener,
String methodName,
Class<?> eventParameterClass,
EventSubject subject)
public void addListener(Object listener,
String methodName,
Class<?> eventParameterClass,
EventSubject subject,
Object sender)
EventListener for events sent by a specific sender.
listener - the object to be notified about eventsmethodName - the name of the listener method to be invokedeventParameterClass - the class of the single event argument passed to
methodNamesubject - the event subject that the listener is interested insender - the object whose events the listener is interested in;
null means 'any sender'.
RuntimeException - if methodName is not found
public void addNonBlockingListener(Object listener,
String methodName,
Class<?> eventParameterClass,
EventSubject subject,
Object sender)
protected void addListener(Object listener,
String methodName,
Class<?> eventParameterClass,
EventSubject subject,
Object sender,
boolean blocking)
public boolean removeListener(Object listener)
EventManager instance.
listener - the object to be unregistered
true if listener could be removed for any
existing subjects, else returns false.public boolean removeAllListeners(EventSubject subject)
public boolean removeListener(Object listener,
EventSubject subject)
listener - the object to be unregisteredsubject - the subject from which the listener is to be unregistered
true if listener could be removed for the
given subject, else returns false.
public boolean removeListener(Object listener,
EventSubject subject,
Object sender)
listener - the object to be unregisteredsubject - the subject from which the listener is to be unregisteredsender - the object whose events the listener was interested in;
null means 'any sender'.
true if listener could be removed for the
given subject, else returns false.
public void postEvent(EventObject event,
EventSubject subject)
event - the event to be posted to the observerssubject - the subject about which observers will be notified
IllegalArgumentException - if event or subject are null
public void postNonBlockingEvent(EventObject event,
EventSubject subject)
event - the event to be posted to the observerssubject - the subject about which observers will be notified
IllegalArgumentException - if event or subject are null
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||