MetaDone
metadone.publish_subscribe.EventTowerNormal< M > Class Reference
Inheritance diagram for metadone.publish_subscribe.EventTowerNormal< M >:
Collaboration diagram for metadone.publish_subscribe.EventTowerNormal< M >:

List of all members.

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>()

Detailed Description

A default implementation of the event tower.

Author:
Vincent Date=30-sept.-08 - 15:59:35 Filename = EventTowerNormal.java
kmagusia

Member Function Documentation

EventTowerNode metadone.publish_subscribe.EventTowerNormal< M >.createNode ( Class<?>  cl) [protected]
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.

Parameters:
eventThe event
Returns:
The set of subscribers

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.

Parameters:
sThe subscriber
clThe types of events
predicateThe 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.

Parameters:
sThe subscriber
clThe types of events
predicateThe predicate
See also:
#subscribe(Subscriber, Class, MapFct)

Implements metadone.publish_subscribe.EventTower< M >.

void metadone.publish_subscribe.EventTowerNormal< M >.trigger ( event)

This method is called by the EventTower when a pertinent event is triggered by a publisher.

The event shouldn't be null.

Parameters:
oThe triggered Event

Implements metadone.publish_subscribe.Subscriber< M >.

final RuntimeException metadone.publish_subscribe.EventTowerNormal< M >.triggerSafe ( 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.

Parameters:
oThe triggered Event
Returns:
The exception thrown when triggering the event or null on success
See also:
#trigger(Object)

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.

Parameters:
sThe subscriber
clThe class
See also:
#unsubscribe(Subscriber, Class, MapFct)

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).

Parameters:
sThe 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.

Parameters:
sThe subscriber
clThe class
predicateThe predicate or null

Implements metadone.publish_subscribe.EventTower< M >.


Member Data Documentation

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.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations