| 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface ISubscriptionManager
Manages subscriptions for the IEvent events generated by
 IEventSource instances. The subscriptions are encapsulated in
 ISubscription instances. Subscription requests are issued to the
 manager using an ISubscriptionParameters object that defines what
 event sources to subscribe for. This is also the key used to store the
 ISubscription instance.
 
 Once a subscription instance is created, any number of listeners (
 IEventListener instances) can be associated with it via the
 addListener(ISubscriptionParameters, IEventListener) method. When a
 listener is added to the subscription, the subscription will register the
 listener with any currently subscribed event sources.
 
 Subscription match processing occurs when the subscription is issued and
 continues until the subscription is cancelled. This allows subscriptions for
 event sources not yet created to be issued. When the event source is created,
 the utility method eventSourceCreated(IAddressable) should be called
 and the subscriptions registered with the manager are checked for a match
 against the created source.
| Method Summary | |
|---|---|
 boolean | 
addListener(ISubscriptionParameters parameters,
            IEventListener listener)
Add the listener to the IEventListener instances associated with
 the ISubscription represented by the parameters. | 
 void | 
eventSourceCreated(IAddressable identity)
Method to invoke when a new IEventSource is created. | 
 void | 
eventSourceDestroyed(IAddressable identity)
Method to invoke when an IEventSource is destroyed. | 
 List<IEventListener> | 
getListeners(ISubscriptionParameters parameters)
Get a copy of the IEventListener instances that have been
 added to the subscription identified by the parameters. | 
 Collection<IEventSource> | 
getSubscribedSources()
Get a copy of the Collection of all the event sources that
 are currently subscribed for. | 
 Collection<IEventSource> | 
getSubscribedSources(ISubscriptionParameters parameters)
Get a copy of the Collection of the currently subscribed
 event sources that are matched by the subscription parameters. | 
 boolean | 
includes(IAddressable parameters)
Determine if there is at least one ISubscription instance whose
 subscription parameters include the parameters passed in. | 
 boolean | 
isSubscribed(IEventSource source)
Determine if there is at least one ISubscription that has a match
 reference for the event source. | 
 boolean | 
removeListener(ISubscriptionParameters parameters,
               IEventListener listener)
Remove the listener from the IEventListener instances associated
 with the ISubscription represented by the parameters. | 
 boolean | 
subscribe(ISubscriptionParameters parameters)
Create an ISubscription for the event source(s) represented in
 the subscription parameters. | 
 boolean | 
unsubscribe(ISubscriptionParameters parameters)
Remove the subscription represented by the parameters.  | 
| Methods inherited from interface fulmine.ILifeCycle | 
|---|
isActive, start | 
| Methods inherited from interface fulmine.IDestroyable | 
|---|
destroy | 
| Method Detail | 
|---|
boolean subscribe(ISubscriptionParameters parameters)
ISubscription for the event source(s) represented in
 the subscription parameters. The created subscription is keyed against
 the parameters argument.
 This is an idempotent operation.
parameters - the subscription parameters identifying the subscription
true if the subscription was created,
         false if it already existedgetSubscribedSources(ISubscriptionParameters), 
unsubscribe(ISubscriptionParameters)boolean unsubscribe(ISubscriptionParameters parameters)
 This unregisters the listener(s) associated with the subscription from
 the event source(s) that the subscription matched and destroys the
 associated ISubscription instance.
 
This is an idempotent operation.
parameters - the subscription parameters identifying the subscription
true if a subscription was found, false
         otherwisegetSubscribedSources(ISubscriptionParameters), 
subscribe(ISubscriptionParameters)
boolean addListener(ISubscriptionParameters parameters,
                    IEventListener listener)
IEventListener instances associated with
 the ISubscription represented by the parameters. The subscription
 is found using the same lookup semantics as
 #getSubscription(ISubscriptionParameters).
 
 On adding, the subscription will register the listener with any currently
 matched IEventSource instances.
 
This is an idempotent operation.
parameters - the subscription parameters identifying the subscriptionlistener - the listener to add to the subscription's list of listeners
true if the listener was added, false
         if it already existed
boolean removeListener(ISubscriptionParameters parameters,
                       IEventListener listener)
IEventListener instances associated
 with the ISubscription represented by the parameters. The
 subscription is found using the same lookup semantics as
 #getSubscription(ISubscriptionParameters).
 
 On removal, the subscription will unregister the listener from any
 currently matched IEventSource instances.
 
This is an idempotent operation.
parameters - the subscription parameters identifying the subscriptionlistener - the listener to remove from the subscription's list of
            listeners
true if the listener was removed, false
         if it was not foundCollection<IEventSource> getSubscribedSources()
Collection of all the event sources that
 are currently subscribed for.
Collection of all the event source
         instances that are currently subscribed forCollection<IEventSource> getSubscribedSources(ISubscriptionParameters parameters)
Collection of the currently subscribed
 event sources that are matched by the subscription parameters.
 
 This does a matching operation to find any other ISubscriptions
 that would include
 these parameters and then adds the IEventSources to the
 collection to return.
 
This is not a key lookup operation.
parameters - the subscription parameters to match against event sources
            currently subscribed for
Collection of the event sources currently
         subscribed for and that are matched by the subscription
         parameters argumentboolean isSubscribed(IEventSource source)
ISubscription that has a match
 reference for the event source.
 
 This checks if the event source is already subscribed. To find out if
 this source would be subscribed, use
 #includes(ISubscriptionParameters).
source - the event source to check for at least one subscription within
            this manager
true if the source is found in at least one
         subscription within this managerboolean includes(IAddressable parameters)
ISubscription instance whose
 subscription parameters include the parameters passed in.
 This operation is not a key lookup and will search through all subscriptions until one is found that would include the parameters.
parameters - the parameters to check
true if there is at least one subscription instance
         that includes the parametersISubscriptionParameters.includes(IAddressable)void eventSourceCreated(IAddressable identity)
IEventSource is created. This
 provides the manager with the mechanism to be notified when event sources
 are created and go through existing subscriptions to identify if the new
 event source should be subscribed for.
identity - identifies the attributes of the created event sourcevoid eventSourceDestroyed(IAddressable identity)
IEventSource is destroyed. Complimentary
 to eventSourceCreated(IAddressable).
identity - identifies the attributes of the destroyed event sourceList<IEventListener> getListeners(ISubscriptionParameters parameters)
IEventListener instances that have been
 added to the subscription identified by the parameters. The subscription
 is found using a key lookup operation; the subscription is found by
 association with the parameters.
 This operation performs no semantic matching with wildcards, it is a key lookup operation.
parameters - the subscription parameters identifying the subscription
IEventListener instances for the identified
         subscription or Collections.emptyList()
  | 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||