| 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectfulmine.event.subscription.Subscription
public class Subscription
The base implementation of a subscription.
Thread safe.
| Field Summary | 
|---|
| Fields inherited from interface fulmine.event.subscription.ISubscription | 
|---|
WILDCARD_DOMAIN, WILDCARD_ID_REGEX, WILDCARD_TYPE | 
| Constructor Summary | |
|---|---|
protected  | 
Subscription(ISubscriptionParameters parameters)
Construct the subscription to match the subscription passed in.  | 
| Method Summary | |
|---|---|
 boolean | 
addListener(IEventListener listener)
Add the listener to the IEventListener instances associated with
 this ISubscription. | 
 boolean | 
addMatch(IEventSource source)
Add the event source as a matched reference.  | 
 void | 
destroy()
This is called when the object is being removed from application use.  | 
protected  boolean | 
doAddOperation(IEventSource source)
Template method for the operation to perform when a source match is added.  | 
protected  boolean | 
doRemoveOperation(IEventSource source)
Template method for the operation to perform when a source match is removed.  | 
 boolean | 
equals(Object obj)
 | 
 String | 
getAddress()
Get the unique address for this.  | 
 IDomain | 
getDomain()
Get the domain attribute of this object.  | 
 String | 
getIdentity()
Get the identification string for this entity.  | 
 List<IEventListener> | 
getListeners()
Get a copy of the internal List of all the
 IEventListener instances used by the subscription to register
 against the subscribed IEventSource instances. | 
protected  org.apache.commons.logging.Log | 
getLog()
 | 
 Collection<IEventSource> | 
getMatches()
Get a copy of the internal Collection of all the
 IEventSource instances referenced by this subscription. | 
 IType | 
getType()
Get the type attribute of this object.  | 
 int | 
hashCode()
 | 
 boolean | 
includes(IAddressable parameters)
Determine if the IAddressable attributes of this parameters
 instance would include those of another. | 
 boolean | 
removeListener(IEventListener listener)
Remove the listener from the IEventListener instances associated
 with this ISubscription. | 
 boolean | 
removeMatch(ISubscriptionParameters parameters)
Remove the event source(s) identified by the parameters from this subscription's matched references.  | 
 String | 
toString()
 | 
| Methods inherited from class java.lang.Object | 
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | 
| Constructor Detail | 
|---|
protected Subscription(ISubscriptionParameters parameters)
subscription - the subscription subscription for this| Method Detail | 
|---|
public final boolean addMatch(IEventSource source)
ISubscriptionThe source is only added if the subscription does not already contain the source as a match.
This is an idempotent operation.
addMatch in interface ISubscriptionsource - the event source
true if the event source was added,
         false if the subscription already has the source as
         a matched referencepublic final boolean removeMatch(ISubscriptionParameters parameters)
ISubscriptionNote: if the parameters include wildcards, multiple event sources may be removed.
removeMatch in interface ISubscriptionparameters - the subscription parameters identifying any matching event
            sources to remove
true if at least one event source was found and
         removed, false if no event source was found to
         removepublic final Collection<IEventSource> getMatches()
ISubscriptionCollection of all the
 IEventSource instances referenced by this subscription. The order
 of the collection elements is arbitrary.
getMatches in interface ISubscriptionIEventSource
         instances referenced by this subscriptionpublic final List<IEventListener> getListeners()
ISubscriptionList of all the
 IEventListener instances used by the subscription to register
 against the subscribed IEventSource instances.
getListeners in interface ISubscriptionList of all the listeners
         that are registered against all subscribed IEventSource
         instances. The order of the listeners is the order of calling
         ISubscription.addListener(IEventListener).public final boolean addListener(IEventListener listener)
ISubscriptionIEventListener instances associated with
 this ISubscription. The subscription will register the listener
 with any currently matched IEventSource instances.
 This is an idempotent operation.
addListener in interface ISubscriptionlistener - the listener to add to the subscription's list of listeners
true if the listener was added, false
         if it already existedpublic final boolean removeListener(IEventListener listener)
ISubscriptionIEventListener instances associated
 with this ISubscription. The subscription will remove the
 listener from any currently matched IEventSource instances.
 This is an idempotent operation.
removeListener in interface ISubscriptionlistener - the listener to remove from the subscription's list of
            listeners
true if the listener was removed, false
         if it was not foundpublic final IDomain getDomain()
IAddressable
getDomain in interface IAddressableIAddressable.getType()public final String getIdentity()
IAddressable
getIdentity in interface IAddressableString identity providing an identification for this
         entity within its type and domain.IAddressable.getType(), 
IAddressable.getDomain()public final IType getType()
IAddressable
getType in interface IAddressableIAddressable.getDomain()public final String getAddress()
IAddressable
getAddress in interface IAddressablepublic final boolean includes(IAddressable parameters)
ISubscriptionParametersIAddressable attributes of this parameters
 instance would include those of another. For this instance to include the
 other, each attribute of this instance must be an exact match or a more
 generalised match of corresponding attribute in the other.
 For example, assuming the type and domain are equal, if this instance has the identity regular expression "foo.*" and the other instance has the identity "foo bar", then this instance effectively includes the other (it is more generalised). However, it would not include the other if the other instance has an identity regular expression ".*" as this is now more generalised than this instance.
includes in interface ISubscriptionParametersparameters - the other IAddressable instance to compare with this
true if the attributes of this instance include
         those of the otherpublic void destroy()
IDestroyable
 This method must not throw a RuntimeException.
destroy in interface IDestroyableprotected boolean doAddOperation(IEventSource source)
source - the source the operation applies to
true if the operation did somethingprotected boolean doRemoveOperation(IEventSource source)
source - the source the operation applies to
true if the operation did somethingprotected org.apache.commons.logging.Log getLog()
public final String toString()
toString in class Objectpublic final int hashCode()
hashCode in class Objectpublic final boolean equals(Object obj)
equals in class Object
  | 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||