MetaDone
metadone.publish_subscribe.EventTower< M > Interface Reference
Inheritance diagram for metadone.publish_subscribe.EventTower< M >:
Collaboration diagram for metadone.publish_subscribe.EventTower< M >:

List of all members.

Public Member Functions

public< T extends M > void subscribe (Subscriber<?super T > s, Class< T > cl)
void unsubscribe (Subscriber<?> s, Class<?> cl)
void unsubscribe (Subscriber<?> s, Class<?> cl, MapFct<?,?> predicate)
void unsubscribe (Subscriber<?> s)
Set< Subscriber<?> > findSubscribers (Object event)
Exception triggerSafe (M event)

Package Functions

public< T extends M > void subscribe (Subscriber<?super T > s, Class< T > cl, MapFct<?super T, Boolean > predicate)

Detailed Description

Subscriber can subscribe to a monitor by registering a predicate with a class type of events.

When an event is triggered, then for every predicate satisfied by the event, the subscriber is notified (triggered). For every subscriber having registered the class event type that match this event, the subscriber is also triggered. A subscriber is only triggered once whatever is the way it has defined its subcription.

Author:
Vincent
kmagusia

Member Function Documentation

Set<Subscriber<?> > metadone.publish_subscribe.EventTower< M >.findSubscribers ( Object  event)

Finds the subscribers for an event.

Parameters:
eventThe event
Returns:
The set of subscribers

Implemented in metadone.publish_subscribe.EventTowerBuffer< M >, and metadone.publish_subscribe.EventTowerNormal< M >.

public<T extends M> void metadone.publish_subscribe.EventTower< 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)

Implemented in metadone.publish_subscribe.EventTowerBuffer< M >, and metadone.publish_subscribe.EventTowerNormal< M >.

public<T extends M> void metadone.publish_subscribe.EventTower< 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

Implemented in metadone.publish_subscribe.EventTowerBuffer< M >, and metadone.publish_subscribe.EventTowerNormal< M >.

Exception metadone.publish_subscribe.EventTower< 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)

Implemented in metadone.publish_subscribe.EventTowerBuffer< M >, and metadone.publish_subscribe.EventTowerNormal< M >.

void metadone.publish_subscribe.EventTower< 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

Implemented in metadone.publish_subscribe.EventTowerBuffer< M >, and metadone.publish_subscribe.EventTowerNormal< M >.

void metadone.publish_subscribe.EventTower< 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)

Implemented in metadone.publish_subscribe.EventTowerBuffer< M >, and metadone.publish_subscribe.EventTowerNormal< M >.

void metadone.publish_subscribe.EventTower< M >.unsubscribe ( Subscriber<?>  s)

Removes completely a subscriber from every subscription (type and predicate).

Parameters:
sThe subscriber

Implemented in metadone.publish_subscribe.EventTowerBuffer< M >, and metadone.publish_subscribe.EventTowerNormal< M >.


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