All Superinterfaces:
ExprNodeRenderable, ExprValidator
All Known Subinterfaces:
ExprAggMultiFunctionNode, ExprAggregateNode, ExprAndNode, ExprBetweenNode, ExprConstantNode, ExprDeclaredNode, ExprDotNode, ExprEqualsNode, ExprIdentNode, ExprInNode, ExprRelationalOpNode, ExprStreamRefNode, ExprStreamUnderlyingNode, ExprTimePeriod
All Known Implementing Classes:
ExprAggMultiFunctionCountMinSketchNode, ExprAggMultiFunctionLinearAccessNode, ExprAggMultiFunctionSortedMinMaxByNode, ExprAggregateNodeBase, ExprAggregateNodeGroupKey, ExprAndNodeImpl, ExprAppDotMethodImpl, ExprArrayNode, ExprAvedevNode, ExprAvgNode, ExprBetweenNodeImpl, ExprBitWiseNode, ExprCaseNode, ExprCastNode, ExprCoalesceNode, ExprConcatNode, ExprConstantNodeImpl, ExprContextPropertyNodeImpl, ExprCountEverNode, ExprCountNode, ExprCurrentEvaluationContextNode, ExprDeclaredNodeImpl, ExprDotNodeAggregationMethodRootNode, ExprDotNodeImpl, ExprEqualsAllAnyNode, ExprEqualsNodeImpl, ExprEvalSystemProperty, ExprEventIdentityEqualsNode, ExprFilterReboolValueNode, ExprFirstLastEverNode, ExprGroupingIdNode, ExprGroupingNode, ExprIdentNodeImpl, ExprInNodeImpl, ExprInstanceofNode, ExprIStreamNode, ExprLambdaGoesNode, ExprLeavingAggNode, ExprLikeNode, ExprMathNode, ExprMedianNode, ExprMinMaxAggrNode, ExprMinMaxRowNode, ExprNamedParameterNodeImpl, ExprNewInstanceNode, ExprNewStructNode, ExprNodeBase, ExprNodeScript, ExprNodeValidated, ExprNotNode, ExprNthAggNode, ExprNumberSetCronParam, ExprNumberSetFrequency, ExprNumberSetList, ExprNumberSetRange, ExprOrderedExpr, ExprOrNode, ExprPlugInAggNode, ExprPlugInMultiFunctionAggNode, ExprPlugInSingleRowNode, ExprPreviousMatchRecognizeNode, ExprPreviousNode, ExprPriorNode, ExprPropertyExistsNode, ExprRateAggNode, ExprRegexpNode, ExprRelationalOpAllAnyNode, ExprRelationalOpNodeImpl, ExprStddevNode, ExprStreamUnderlyingNodeImpl, ExprSubselectAllSomeAnyNode, ExprSubselectExistsNode, ExprSubselectInNode, ExprSubselectNode, ExprSubselectRowNode, ExprSubstitutionNode, ExprSumNode, ExprTableAccessNode, ExprTableAccessNodeKeys, ExprTableAccessNodeSubprop, ExprTableAccessNodeTopLevel, ExprTableIdentNode, ExprTableResetRowAggNode, ExprTimePeriodImpl, ExprTimestampNode, ExprTypedNoEvalNode, ExprTypeofNode, ExprVariableNodeImpl, ExprWildcardImpl

public interface ExprNode extends ExprNodeRenderable, ExprValidator
  • Method Details

    • getPrecedence

      ExprPrecedenceEnum getPrecedence()
      Returns precedence.
      Returns:
      precedence
    • equalsNode

      boolean equalsNode(ExprNode node, boolean ignoreStreamPrefix)
      Return true if a expression node semantically equals the current node, or false if not.

      Concrete implementations should compare the type and any additional information that impact the evaluation of a node.

      Parameters:
      node - to compare to
      ignoreStreamPrefix - when the equals-comparison can ignore prefix of event properties
      Returns:
      true if semantically equal, or false if not equals
    • accept

      void accept(ExprNodeVisitor visitor)
      Accept the visitor. The visitor will first visit the parent then visit all child nodes, then their child nodes.

      The visitor can decide to skip child nodes by returning false in isVisit.

      Parameters:
      visitor - to visit each node and each child node.
    • accept

      void accept(ExprNodeVisitorWithParent visitor)
      Accept the visitor. The visitor will first visit the parent then visit all child nodes, then their child nodes.

      The visitor can decide to skip child nodes by returning false in isVisit.

      Parameters:
      visitor - to visit each node and each child node.
    • acceptChildnodes

      void acceptChildnodes(ExprNodeVisitorWithParent visitor, ExprNode parent)
      Accept a visitor that receives both parent and child node.
      Parameters:
      visitor - to apply
      parent - node
    • addChildNode

      void addChildNode(ExprNode childNode)
      Adds a child node.
      Parameters:
      childNode - is the child evaluation tree node to add
    • addChildNodes

      void addChildNodes(Collection<ExprNode> childNodes)
      Adds child nodes.
      Parameters:
      childNodes - are the child evaluation tree node to add
    • getChildNodes

      ExprNode[] getChildNodes()
      Returns list of child nodes.
      Returns:
      list of child nodes
    • replaceUnlistedChildNode

      void replaceUnlistedChildNode(ExprNode nodeToReplace, ExprNode newNode)
    • setChildNode

      void setChildNode(int index, ExprNode newNode)
    • setChildNodes

      void setChildNodes(ExprNode... nodes)
    • getForge

      ExprForge getForge()