Class EvalAndStateNode

java.lang.Object
com.espertech.esper.common.internal.epl.pattern.core.EvalStateNode
com.espertech.esper.common.internal.epl.pattern.and.EvalAndStateNode
All Implemented Interfaces:
Evaluator

public class EvalAndStateNode extends EvalStateNode implements Evaluator
This class represents the state of an "and" operator in the evaluation state tree.
  • Field Details

    • evalAndNode

      protected final EvalAndNode evalAndNode
    • activeChildNodes

      protected final EvalStateNode[] activeChildNodes
    • eventsPerChild

      protected Object[] eventsPerChild
  • Constructor Details

    • EvalAndStateNode

      public EvalAndStateNode(Evaluator parentNode, EvalAndNode evalAndNode)
      Constructor.
      Parameters:
      parentNode - is the parent evaluator to call to indicate truth value
      evalAndNode - is the factory node associated to the state
  • Method Details

    • removeMatch

      public void removeMatch(Set<EventBean> matchEvent)
      Description copied from class: EvalStateNode
      Remove matches that overlap with the provided events.
      Specified by:
      removeMatch in class EvalStateNode
      Parameters:
      matchEvent - set of events to check for
    • getFactoryNode

      public EvalNode getFactoryNode()
      Description copied from class: EvalStateNode
      Returns the factory node for the state node.
      Specified by:
      getFactoryNode in class EvalStateNode
      Returns:
      factory node
    • start

      public final void start(MatchedEventMap beginState)
      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
      Parameters:
      beginState - begin state
    • isFilterStateNode

      public boolean isFilterStateNode()
      Specified by:
      isFilterStateNode in class EvalStateNode
    • isNotOperator

      public boolean isNotOperator()
      Specified by:
      isNotOperator in class EvalStateNode
    • isFilterChildNonQuitting

      public boolean isFilterChildNonQuitting()
      Specified by:
      isFilterChildNonQuitting in interface Evaluator
    • isObserverStateNodeNonRestarting

      public boolean isObserverStateNodeNonRestarting()
      Specified by:
      isObserverStateNodeNonRestarting in class EvalStateNode
    • evaluateTrue

      public final void evaluateTrue(MatchedEventMap matchEvent, EvalStateNode fromNode, boolean isQuitted, EventBean optionalTriggeringEvent)
      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
      optionalTriggeringEvent - in case the truth value changed to true in direct response to an event arriving, provides that event
    • evaluateFalse

      public final void evaluateFalse(EvalStateNode fromNode, boolean restartable)
      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
      restartable - whether the evaluator can be restarted
    • generateMatchEvents

      public 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.
      Parameters:
      matchEvent - can be populated with prior events that must be passed on
      eventsPerChild - is the list of events for each child node to the "And" node.
      indexFrom - from-index
      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 void accept(EvalStateNodeVisitor visitor)
      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
    • toString

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

      public static void addMatchEvent(Object[] eventsPerChild, int indexFrom, MatchedEventMap matchEvent)