public class EvalAndStateNode extends EvalStateNode implements Evaluator
Modifier and Type | Field and Description |
---|---|
protected EvalStateNode[] |
activeChildNodes |
protected EvalAndNode |
evalAndNode |
protected Object[] |
eventsPerChild |
Constructor and Description |
---|
EvalAndStateNode(Evaluator parentNode,
EvalAndNode evalAndNode)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
accept(EvalStateNodeVisitor visitor)
Accept a visitor.
|
static void |
addMatchEvent(Object[] eventsPerChild,
int indexFrom,
MatchedEventMap matchEvent) |
void |
evaluateFalse(EvalStateNode fromNode,
boolean restartable)
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.
|
static List<MatchedEventMap> |
generateMatchEvents(MatchedEventMap matchEvent,
Object[] eventsPerChild,
int indexFrom)
Generate a list of matching event combinations constisting of the events per child that are passed in.
|
EvalNode |
getFactoryNode()
Returns the factory node for the state node.
|
boolean |
isFilterChildNonQuitting() |
boolean |
isFilterStateNode() |
boolean |
isNotOperator() |
boolean |
isObserverStateNodeNonRestarting() |
void |
quit()
Stops the event expression or an instance of it.
|
void |
removeMatch(Set<EventBean> matchEvent)
Remove matches that overlap with the provided events.
|
void |
start(MatchedEventMap beginState)
Starts the event expression or an instance of it.
|
String |
toString() |
getParentEvaluator, setParentEvaluator
protected final EvalAndNode evalAndNode
protected final EvalStateNode[] activeChildNodes
protected Object[] eventsPerChild
public EvalAndStateNode(Evaluator parentNode, EvalAndNode evalAndNode)
parentNode
- is the parent evaluator to call to indicate truth valueevalAndNode
- is the factory node associated to the statepublic void removeMatch(Set<EventBean> matchEvent)
EvalStateNode
removeMatch
in class EvalStateNode
matchEvent
- set of events to check forpublic EvalNode getFactoryNode()
EvalStateNode
getFactoryNode
in class EvalStateNode
public final void start(MatchedEventMap beginState)
EvalStateNode
start
in class EvalStateNode
beginState
- begin statepublic boolean isFilterStateNode()
isFilterStateNode
in class EvalStateNode
public boolean isNotOperator()
isNotOperator
in class EvalStateNode
public boolean isFilterChildNonQuitting()
isFilterChildNonQuitting
in interface Evaluator
public boolean isObserverStateNodeNonRestarting()
isObserverStateNodeNonRestarting
in class EvalStateNode
public final void evaluateTrue(MatchedEventMap matchEvent, EvalStateNode fromNode, boolean isQuitted)
Evaluator
evaluateTrue
in interface Evaluator
matchEvent
- is the container for events that caused the change in truth valuefromNode
- is the node that indicates the changeisQuitted
- is an indication of whether the node continues listenening or stops listeningpublic final void evaluateFalse(EvalStateNode fromNode, boolean restartable)
Evaluator
evaluateFalse
in interface Evaluator
fromNode
- is the node that indicates the changerestartable
- whether the evaluator can be restartedpublic static List<MatchedEventMap> generateMatchEvents(MatchedEventMap matchEvent, Object[] eventsPerChild, int indexFrom)
matchEvent
- can be populated with prior events that must be passed oneventsPerChild
- is the list of events for each child node to the "And" node.indexFrom
- from-indexprotected static void generateMatchEvents(ArrayList<List<MatchedEventMap>> eventList, int index, List<MatchedEventMap> result, MatchedEventMap matchEvent)
eventList
- is an array of lists containing MatchedEventMap instances to combineindex
- is the current index into the arrayresult
- is the resulting list of MatchedEventMapmatchEvent
- is the start MatchedEventMap to generate frompublic final void quit()
EvalStateNode
quit
in class EvalStateNode
public final void accept(EvalStateNodeVisitor visitor)
EvalStateNode
accept
in class EvalStateNode
visitor
- on which the visit method is invoked by each nodepublic static void addMatchEvent(Object[] eventsPerChild, int indexFrom, MatchedEventMap matchEvent)