com.espertech.esper.pattern
Class EvalAndStateNode

java.lang.Object
  extended by com.espertech.esper.pattern.EvalStateNode
      extended by com.espertech.esper.pattern.EvalAndStateNode
All Implemented Interfaces:
Evaluator

public final class EvalAndStateNode
extends EvalStateNode
implements Evaluator

This class represents the state of an "and" operator in the evaluation state tree.


Constructor Summary
EvalAndStateNode(Evaluator parentNode, EvalAndNode evalAndNode, MatchedEventMap beginState, PatternContext context)
          Constructor.
 
Method Summary
 Object accept(EvalStateNodeVisitor visitor, Object data)
          Accept a visitor.
 Object childrenAccept(EvalStateNodeVisitor visitor, Object data)
          Pass the visitor to all child nodes.
 void evaluateFalse(EvalStateNode fromNode)
          Indicate a change in truth value to false.
 void evaluateTrue(MatchedEventMap matchEvent, EvalStateNode fromNode, boolean isQuitted)
          Indicate a change in truth value to true.
protected static void generateMatchEvents(ArrayList<List<MatchedEventMap>> eventList, int index, List<MatchedEventMap> result, MatchedEventMap matchEvent)
          For each combination of MatchedEventMap instance in all collections, add an entry to the list.
protected static List<MatchedEventMap> generateMatchEvents(MatchedEventMap matchEvent, EvalStateNode fromNode, Map<EvalStateNode,List<MatchedEventMap>> eventsPerChild)
          Generate a list of matching event combinations constisting of the events per child that are passed in.
 void quit()
          Stops the event expression or an instance of it.
 void start()
          Starts the event expression or an instance of it.
 String toString()
           
 
Methods inherited from class com.espertech.esper.pattern.EvalStateNode
getFactoryNode, getParentEvaluator, getStateObjectId, setParentEvaluator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EvalAndStateNode

public EvalAndStateNode(Evaluator parentNode,
                        EvalAndNode evalAndNode,
                        MatchedEventMap beginState,
                        PatternContext context)
Constructor.

Parameters:
parentNode - is the parent evaluator to call to indicate truth value
beginState - contains the events that make up prior matches
context - contains handles to services required
evalAndNode - is the factory node associated to the state
Method Detail

start

public final void start()
Description copied from class: EvalStateNode
Starts the event expression or an instance of it. Child classes are expected to initialize and start any event listeners or schedule any time-based callbacks as needed.

Specified by:
start in class EvalStateNode

evaluateTrue

public final void evaluateTrue(MatchedEventMap matchEvent,
                               EvalStateNode fromNode,
                               boolean isQuitted)
Description copied from interface: Evaluator
Indicate a change in truth value to true.

Specified by:
evaluateTrue in interface Evaluator
Parameters:
matchEvent - is the container for events that caused the change in truth value
fromNode - is the node that indicates the change
isQuitted - is an indication of whether the node continues listenening or stops listening

evaluateFalse

public final void evaluateFalse(EvalStateNode fromNode)
Description copied from interface: Evaluator
Indicate a change in truth value to false.

Specified by:
evaluateFalse in interface Evaluator
Parameters:
fromNode - is the node that indicates the change

generateMatchEvents

protected static List<MatchedEventMap> generateMatchEvents(MatchedEventMap matchEvent,
                                                           EvalStateNode fromNode,
                                                           Map<EvalStateNode,List<MatchedEventMap>> eventsPerChild)
Generate a list of matching event combinations constisting of the events per child that are passed in.

Parameters:
matchEvent - can be populated with prior events that must be passed on
fromNode - is the EvalStateNode that will not take part in the combinations produced.
eventsPerChild - is the list of events for each child node to the "And" node.
Returns:
list of events populated with all possible combinations

generateMatchEvents

protected static void generateMatchEvents(ArrayList<List<MatchedEventMap>> eventList,
                                          int index,
                                          List<MatchedEventMap> result,
                                          MatchedEventMap matchEvent)
For each combination of MatchedEventMap instance in all collections, add an entry to the list. Recursive method.

Parameters:
eventList - is an array of lists containing MatchedEventMap instances to combine
index - is the current index into the array
result - is the resulting list of MatchedEventMap
matchEvent - is the start MatchedEventMap to generate from

quit

public final void quit()
Description copied from class: EvalStateNode
Stops the event expression or an instance of it. Child classes are expected to free resources and stop any event listeners or remove any time-based callbacks.

Specified by:
quit in class EvalStateNode

accept

public final Object accept(EvalStateNodeVisitor visitor,
                           Object data)
Description copied from class: EvalStateNode
Accept a visitor. Child classes are expected to invoke the visit method on the visitor instance passed in.

Specified by:
accept in class EvalStateNode
Parameters:
visitor - on which the visit method is invoked by each node
data - any additional data the visitor may need is passed in this parameter
Returns:
any additional data the visitor may need or null

childrenAccept

public final Object childrenAccept(EvalStateNodeVisitor visitor,
                                   Object data)
Description copied from class: EvalStateNode
Pass the visitor to all child nodes.

Specified by:
childrenAccept in class EvalStateNode
Parameters:
visitor - is the instance to be passed to all child nodes
data - any additional data the visitor may need is passed in this parameter
Returns:
any additional data the visitor may need or null

toString

public final String toString()
Overrides:
toString in class Object

© 2007 EsperTech Inc.
All rights reserved.
Visit us at espertech.com