cgl.narada.matching.tagvalue
Class ClientMatching

java.lang.Object
  extended by cgl.narada.matching.tagvalue.ClientMatching
All Implemented Interfaces:
ClientMatchingDebugFlags, MatchingTree

public class ClientMatching
extends Object
implements MatchingTree, ClientMatchingDebugFlags

This class implements the matching algorithm. This provides methods to add a subscription and also to remove interest in a subscription predicate. The matching algorithm should also be able to compute destinations based on the general matching algorithm.


Field Summary
 
Fields inherited from interface cgl.narada.matching.tagvalue.ClientMatchingDebugFlags
ClientEdgeAttributes_Debug, ClientMatching_Debug, ClientMatchingTreeEdge_Debug, ClientMatchingTreeNode_Debug
 
Constructor Summary
ClientMatching(int unitLevel, int systemLevel, TagValueProfilePropagation tvProtocol)
          The Matching constructor
 
Method Summary
 void addSubscriptionPredicate(Predicate predicate)
          This method adds a subscription predicate to the matching tree
 int getMatchingLevel()
          This method returns the level assocaited with this matching tree.
static void main(String[] args)
           
 Hashtable matchEvent(MEvent e)
          This method return the destinations assocaited with an event that needs to be matched to the matching tree
 void matchEventForStorage(MEvent e, EventDestinations eDest)
          This method return the destinations assocaited with an event that needs to be matched to the matching tree.
 void propagateChangesToHigherLevels(Predicate predicate, boolean addPredicate)
           
 void removePredicatesForDestination(Object clientIdentifier)
           
 void removeSubscriptionPredicate(Predicate predicate)
          This method removes a subscription predicate to the matching tree
 void setNodeDestination(Destinations destination)
          This method sets the destination address for this node
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClientMatching

public ClientMatching(int unitLevel,
                      int systemLevel,
                      TagValueProfilePropagation tvProtocol)
The Matching constructor

Method Detail

getMatchingLevel

public int getMatchingLevel()
This method returns the level assocaited with this matching tree. A node could be a gateway at multiple levels. How it handles destinations at different levels, and propagates destinations at different levels is dicatated by the level of the matching tree which computes the destinations and initiates profile propagation changes.

Returns:
The level of the matching tree.

setNodeDestination

public void setNodeDestination(Destinations destination)
This method sets the destination address for this node

Specified by:
setNodeDestination in interface MatchingTree

addSubscriptionPredicate

public void addSubscriptionPredicate(Predicate predicate)
This method adds a subscription predicate to the matching tree

Specified by:
addSubscriptionPredicate in interface MatchingTree
Parameters:
predicate - The predicate comprising the subscription and the destination assocaited with the subscription.

removePredicatesForDestination

public void removePredicatesForDestination(Object clientIdentifier)

removeSubscriptionPredicate

public void removeSubscriptionPredicate(Predicate predicate)
This method removes a subscription predicate to the matching tree

Specified by:
removeSubscriptionPredicate in interface MatchingTree
Parameters:
predicate - The predicate comprising the subscription and the destination assocaited with the subscription.

propagateChangesToHigherLevels

public void propagateChangesToHigherLevels(Predicate predicate,
                                           boolean addPredicate)
Specified by:
propagateChangesToHigherLevels in interface MatchingTree

matchEvent

public Hashtable matchEvent(MEvent e)
This method return the destinations assocaited with an event that needs to be matched to the matching tree

Returns:
The destination as an INT

matchEventForStorage

public void matchEventForStorage(MEvent e,
                                 EventDestinations eDest)
This method return the destinations assocaited with an event that needs to be matched to the matching tree. The return value provides us with updates that can be used for writing the event to stable storage.


main

public static void main(String[] args)


For comments and suggestions please send e-mail to The NaradaBrokering Project