MetaDone
|
Public Member Functions | |
final EventTower< M > | getParent () |
Set< Subscriber<?> > | findSubscribers (Object event) |
void | unsubscribe (Subscriber<?> s, Class<?> cl) |
void | unsubscribe (Subscriber<?> s, Class<?> cl, MapFct<?,?> predicate) |
void | unsubscribe (Subscriber<?> s) |
synchronized void | trigger (M event) |
synchronized Exception | triggerSafe (M event) |
void | flush () |
Static Public Member Functions | |
static< T > EventTowerBuffer< T > | create (EventTower< T > parent) |
Protected Member Functions | |
EventTowerBuffer (EventTower< M > parent) | |
Package Functions | |
public< T extends M > void | subscribe (Subscriber<?super T > s, Class< T > cl, MapFct<?super T, Boolean > predicate) |
public< T extends M > void | subscribe (Subscriber<?super T > s, Class< T > cl) |
Private Attributes | |
final EventTower< M > | parent |
final LinkedList< M > | buffer = new LinkedList<M>() |
A buffered event tower stores the triggered events in a buffer and is able to flush them into a parent event tower on demand.
If the parent is thread-safe, this class is also thread-safe.
<M> | The type of the messages |
metadone.publish_subscribe.EventTowerBuffer< M >.EventTowerBuffer | ( | EventTower< M > | parent | ) | [protected] |
static <T> EventTowerBuffer<T> metadone.publish_subscribe.EventTowerBuffer< M >.create | ( | EventTower< T > | parent | ) | [static] |
Creates a new buffer.
<T> | The type of the messages |
parent | The parent |
Set<Subscriber<?> > metadone.publish_subscribe.EventTowerBuffer< M >.findSubscribers | ( | Object | event | ) |
Finds the subscribers for an event.
event | The event |
Implements metadone.publish_subscribe.EventTower< M >.
void metadone.publish_subscribe.EventTowerBuffer< M >.flush | ( | ) |
Flushes the buffered events.
Triggers the events on the parent tower.
final EventTower<M> metadone.publish_subscribe.EventTowerBuffer< M >.getParent | ( | ) |
Gets the parent tower.
public<T extends M> void metadone.publish_subscribe.EventTowerBuffer< M >.subscribe | ( | Subscriber<?super T > | s, |
Class< T > | cl, | ||
MapFct<?super T, Boolean > | predicate | ||
) | [package] |
Adds a subscriber of the events that match the predicate.
s | The subscriber |
cl | The types of events |
predicate | The predicate or null |
Implements metadone.publish_subscribe.EventTower< M >.
public<T extends M> void metadone.publish_subscribe.EventTowerBuffer< M >.subscribe | ( | Subscriber<?super T > | s, |
Class< T > | cl | ||
) | [package] |
Adds a subscriber of the events that are instance of the given class.
s | The subscriber |
cl | The types of events |
predicate | The predicate |
Implements metadone.publish_subscribe.EventTower< M >.
synchronized void metadone.publish_subscribe.EventTowerBuffer< M >.trigger | ( | M | event | ) |
This method is called by the EventTower when a pertinent event is triggered by a publisher.
The event shouldn't be null
.
o | The triggered Event |
Implements metadone.publish_subscribe.Subscriber< M >.
synchronized Exception metadone.publish_subscribe.EventTowerBuffer< M >.triggerSafe | ( | M | event | ) |
This method is called by the EventTower when a pertinent event is triggered by a publisher.
The event shouldn't be null
.
This method does never throw an exception, instead one is returned as the result.
o | The triggered Event |
null
on success Implements metadone.publish_subscribe.EventTower< M >.
void metadone.publish_subscribe.EventTowerBuffer< M >.unsubscribe | ( | Subscriber<?> | s | ) |
Removes completely a subscriber from every subscription (type and predicate).
s | The subscriber |
Implements metadone.publish_subscribe.EventTower< M >.
void metadone.publish_subscribe.EventTowerBuffer< M >.unsubscribe | ( | Subscriber<?> | s, |
Class<?> | cl, | ||
MapFct<?,?> | predicate | ||
) |
Removes a subscriber of the events that match the predicate.
s | The subscriber |
cl | The class |
predicate | The predicate or null |
Implements metadone.publish_subscribe.EventTower< M >.
void metadone.publish_subscribe.EventTowerBuffer< M >.unsubscribe | ( | Subscriber<?> | s, |
Class<?> | cl | ||
) |
Removes a subscriber of the events that match the class.
s | The subscriber |
cl | The class |
Implements metadone.publish_subscribe.EventTower< M >.
final LinkedList<M> metadone.publish_subscribe.EventTowerBuffer< M >.buffer = new LinkedList<M>() [private] |
final EventTower<M> metadone.publish_subscribe.EventTowerBuffer< M >.parent [private] |