|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||
See:
Description
| Interface Summary | |
|---|---|
| CausedEvent | An event which was caused either by another Event or a
Throwable. |
| Event | An instance of this interface encapsulates some kind of meaningful
sequenced event from a source. |
| EventCausedEvent | An event which was caused by another Event. |
| EventSink<E extends Event> | A sink for Events which can be registered with syndicates through
the EventSyndicate.add(rcf.core.util.reference.Reference, Class) method. |
| EventSource | A source of events, including a EventSource.syndicate() and some form of
sequence numbering. |
| EventSyndicate | A syndicate which distributes events from a single EventSource to many
EventSinks, according to the Class of the event
and the class of events for which the event sink was registered with
EventSyndicate.add(Reference, Class). |
| IdentityChangeEvent<T> | An event which marks a change in the identity of the Event.source()
with respect to the Object.equals(Object),
Object.hashCode() and Object.toString()
methods. |
| ThrowableCausedEvent | An event which was caused by a Throwable. |
| Class Summary | |
|---|---|
| AbstractEventSource | TODO: Javadoc |
| ArrayEventSyndicate | TODO: Javadoc
A very simple implementation of EventSyndicate which will only
report events of a single type. |
| HashEventSyndicate | TODO: Javadoc |
| Exception Summary | |
|---|---|
| InvalidEventType | TODO: Javadoc |
Includes support for a highly abstract, and powerful event model.
At it's most basic, an EventSource calls
with an implementation of EventSource.syndicate().EventSyndicate.event(Event)Event. The
EventSyndicate is then reponsible for
calling the EventSink.event(Event) method
on all of the EventSinks which have been
registered through
EventSyndicate.add(rcf.core.util.reference.Reference, Class)
with a Class that is
Class.isAssignableFrom(Class) from the
Object.getClass() of the event.
For more information about the uses of this event model, please see all of
the descendents of the Event interface.
Notable uses are the ThrowableCausedEvent,
IdentityChangeEvent and the various
possibilites suggested by encapsulting a method invocation as an
Event. In conjunction with a
publish/subscribe model this could be the basis of an Aspect Oriented
Programming framework. Finally the rcf.core.concurrent.transactions
package is a very important user of this package as both
Transaction is both an
Event and a
Task
TODO: Javadoc
TODO: Javadoc review, Seal/Finalize
|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||