|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectedu.uci.isr.yancees.dispatcher.EventDispatcher
This class works as a wrapper around an event dispatcher implementation, It allows the registratoin of different adapters for to handle the content-based subscriptions of the system.
| Constructor Summary | |
protected |
EventDispatcher()
This constructor, as protected, prevents the direct instantiation of this object, and guarantees the singleton characteristic of this class. |
| Method Summary | |
void |
addAdapter(EventDispatcherAdapterInterface adp)
Configures the event dispatcher with the proper adapter. |
void |
connect()
Starts the connection with the notification servers that the adapter wrapps. |
void |
connect(java.lang.String address)
Connects and initializes the registered dispatchers This method is used by the server-specific adapters |
java.util.Vector |
getAdapterList()
|
static EventDispatcher |
getInstance()
The only way to access the unique instance of EventDispatcher is by using this access method |
void |
publish(EventInterface evnt)
|
void |
removeAdapter(EventDispatcherAdapterInterface adp)
|
void |
resumeDispatcher(EventDispatcherListenerInterface li)
resumes the delivery of notifications to the given subscriber n. |
void |
shutdownDispatcher()
closes this Dispatcher service access point. |
void |
subscribe(java.lang.String adapterName,
SubscriptionInterface sub,
EventDispatcherListenerInterface li)
This is a specific subscriber, that sends a message to the specfific adapter installed in the system |
void |
subscribe(SubscriptionInterface sub,
EventDispatcherListenerInterface li)
subscribes for sequences of events matching pattern p. |
void |
suspendDispatcher(EventDispatcherListenerInterface li)
suspends the delivery of notifications to the given subscriber li. |
void |
unsubscribe(EventDispatcherListenerInterface li)
cancels all the subscriptions posted by n. |
void |
unsubscribe(java.lang.String adapterName,
EventDispatcherListenerInterface li)
|
void |
unsubscribe(java.lang.String adapterName,
SubscriptionInterface sub,
EventDispatcherListenerInterface li)
|
void |
unsubscribe(SubscriptionInterface sub,
EventDispatcherListenerInterface li)
cancels the subscriptions, posted by li, whose subscripton sub' is covered by subscripiton p. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
protected EventDispatcher()
| Method Detail |
public static EventDispatcher getInstance()
public void addAdapter(EventDispatcherAdapterInterface adp)
public void removeAdapter(EventDispatcherAdapterInterface adp)
public void connect()
public void connect(java.lang.String address)
EventDispatcherInterface
connect in interface EventDispatcherInterfaceaddress - is the address of the server.public java.util.Vector getAdapterList()
public void publish(EventInterface evnt)
throws DispatcherException
publish in interface EventDispatcherInterfaceDispatcherExceptionEvent
public void subscribe(SubscriptionInterface sub,
EventDispatcherListenerInterface li)
throws DispatcherException
EventDispatcherInterfaceNotice that given the distributed nature of some implementations of Dispatcher interface, there exist race conditions that might affect the semantics of subscriptions. A subscriber might miss some notifications published before or while the subscription is processed by Dispatcher.
Also, keep in mind that the current implementation of Dispatcher does not enforce any temporal order for the delivery of notifications. This limitation might affect the recognition of patterns. For example, two notifications x and y, generated at time tx and ty respectively, with tx < ty, in that order matching a pattern P=(fx fy), might in fact reach the subscriber at times Tx and Ty, with Tx > Ty, in which case pattern P would not be matched.
subscribe in interface EventDispatcherInterfaceli - is the subscribersub - is the subscription pattern
DispatcherExceptionEventDispatcherInterface.unsubscribe(edu.uci.isr.yancees.SubscriptionInterface, edu.uci.isr.yancees.dispatcher.EventDispatcherListenerInterface)
public void unsubscribe(SubscriptionInterface sub,
EventDispatcherListenerInterface li)
throws DispatcherException
EventDispatcherInterfaceUnsubscriptions might incurr in the same kind of race conditions as subscriptions. Dispatcher will stop sending notifications to the subscriber only after it has completed the processing of the unsubscription. Due to the distributed nature of some implementations of Dispatcher, this might result in some additional ``unsolicited'' notifications.
unsubscribe in interface EventDispatcherInterfaceli - is the subscriber interface
DispatcherExceptionEventDispatcherInterface.subscribe(edu.uci.isr.yancees.SubscriptionInterface, edu.uci.isr.yancees.dispatcher.EventDispatcherListenerInterface)
public void unsubscribe(EventDispatcherListenerInterface li)
throws DispatcherException
EventDispatcherInterface
unsubscribe in interface EventDispatcherInterfaceli - is the subscriber
DispatcherExceptionEventDispatcherInterface.subscribe(edu.uci.isr.yancees.SubscriptionInterface, edu.uci.isr.yancees.dispatcher.EventDispatcherListenerInterface)
public void suspendDispatcher(EventDispatcherListenerInterface li)
throws DispatcherException
EventDispatcherInterfaceli.
suspendDispatcher in interface EventDispatcherInterfaceli - subscriber to be suspended
DispatcherException
public void resumeDispatcher(EventDispatcherListenerInterface li)
throws DispatcherException
EventDispatcherInterfacen.
resumeDispatcher in interface EventDispatcherInterfaceDispatcherException
public void shutdownDispatcher()
throws DispatcherException
EventDispatcherInterface
shutdownDispatcher in interface EventDispatcherInterfaceDispatcherException
public void subscribe(java.lang.String adapterName,
SubscriptionInterface sub,
EventDispatcherListenerInterface li)
throws DispatcherException
EventDispatcherInterface
subscribe in interface EventDispatcherInterfaceadapterName - is the name of the adapter to specifically subscribe tosub - is the subscriptionli - is the listener interface
DispatcherException
public void unsubscribe(java.lang.String adapterName,
SubscriptionInterface sub,
EventDispatcherListenerInterface li)
throws DispatcherException
unsubscribe in interface EventDispatcherInterfaceadapterName - sub - li -
DispatcherException
public void unsubscribe(java.lang.String adapterName,
EventDispatcherListenerInterface li)
throws DispatcherException
unsubscribe in interface EventDispatcherInterfaceli -
DispatcherException
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||