MetaDone
|
Classes | |
class | EventTowerNode |
Public Member Functions | |
final< T extends M > void | subscribe (Subscriber<?super T > s, Class< T > cl) |
final void | unsubscribe (Subscriber<?> s, Class<?> cl) |
void | unsubscribe (Subscriber<?> s, Class<?> cl, MapFct<?,?> predicate) |
void | unsubscribe (Subscriber<?> s) |
void | trigger (M event) |
final RuntimeException | triggerSafe (M event) |
HashSet< Subscriber<?> > | findSubscribers (Object event) |
Protected Member Functions | |
EventTowerNode | createNode (Class<?> cl) |
Package Functions | |
public< T extends M > void | subscribe (Subscriber<?super T > s, Class< T > cl, MapFct<?super T, Boolean > predicate) |
Private Member Functions | |
EventTowerNode | getNode (Class<?> cl, boolean create) |
HashSet< Subscriber > | findSubscribers (HashSet< Subscriber > acc, Class<?> cl, Object event) |
Private Attributes | |
final HashMap< Class <?>, EventTowerNode > | handlers = new HashMap<Class<?>, EventTowerNode>() |
A default implementation of the event tower.
EventTowerNode metadone.publish_subscribe.EventTowerNormal< M >.createNode | ( | Class<?> | cl | ) | [protected] |
Reimplemented in metadone.publish_subscribe.EventTowerEq< M >.
HashSet<Subscriber> metadone.publish_subscribe.EventTowerNormal< M >.findSubscribers | ( | HashSet< Subscriber > | acc, |
Class<?> | cl, | ||
Object | event | ||
) | [private] |
HashSet<Subscriber<?> > metadone.publish_subscribe.EventTowerNormal< M >.findSubscribers | ( | Object | event | ) |
Finds the subscribers for an event.
event | The event |
Implements metadone.publish_subscribe.EventTower< M >.
EventTowerNode metadone.publish_subscribe.EventTowerNormal< M >.getNode | ( | Class<?> | cl, |
boolean | create | ||
) | [private] |
public<T extends M> void metadone.publish_subscribe.EventTowerNormal< 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 >.
final<T extends M> void metadone.publish_subscribe.EventTowerNormal< M >.subscribe | ( | Subscriber<?super T > | s, |
Class< T > | cl | ||
) |
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 >.
void metadone.publish_subscribe.EventTowerNormal< 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 >.
final RuntimeException metadone.publish_subscribe.EventTowerNormal< 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 >.
final void metadone.publish_subscribe.EventTowerNormal< 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 >.
void metadone.publish_subscribe.EventTowerNormal< 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.EventTowerNormal< 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 >.
final HashMap<Class<?>, EventTowerNode> metadone.publish_subscribe.EventTowerNormal< M >.handlers = new HashMap<Class<?>, EventTowerNode>() [private] |
Index mapping a class to a node in the tree.