Class ExprBetweenNodeImpl

java.lang.Object
com.espertech.esper.common.internal.epl.expression.core.ExprNodeBase
com.espertech.esper.common.internal.epl.expression.ops.ExprBetweenNodeImpl
All Implemented Interfaces:
ExprNode, ExprNodeRenderable, ExprValidator, ExprBetweenNode

public class ExprBetweenNodeImpl extends ExprNodeBase implements ExprBetweenNode
Represents the between-clause function in an expression tree.
  • Constructor Details

    • ExprBetweenNodeImpl

      public ExprBetweenNodeImpl(boolean lowEndpointIncluded, boolean highEndpointIncluded, boolean notBetween)
      Ctor.
      Parameters:
      lowEndpointIncluded - is true for the regular 'between' or false for "val in (a:b)" (open range), or false if the endpoint is not included
      highEndpointIncluded - indicates whether the high endpoint is included
      notBetween - is true for 'not between' or 'not in (a:b), or false for a regular between
  • Method Details

    • getExprEvaluator

      public ExprEvaluator getExprEvaluator()
    • getForge

      public ExprForge getForge()
      Specified by:
      getForge in interface ExprNode
    • isConstantResult

      public boolean isConstantResult()
    • isLowEndpointIncluded

      public boolean isLowEndpointIncluded()
      Returns true if the low endpoint is included, false if not
      Specified by:
      isLowEndpointIncluded in interface ExprBetweenNode
      Returns:
      indicator if endppoint is included
    • isHighEndpointIncluded

      public boolean isHighEndpointIncluded()
      Returns true if the high endpoint is included, false if not
      Specified by:
      isHighEndpointIncluded in interface ExprBetweenNode
      Returns:
      indicator if endppoint is included
    • isNotBetween

      public boolean isNotBetween()
      Returns true for inverted range, or false for regular (openn/close/half-open/half-closed) ranges.
      Specified by:
      isNotBetween in interface ExprBetweenNode
      Returns:
      true for not betwene, false for between
    • validate

      public ExprNode validate(ExprValidationContext validationContext) throws ExprValidationException
      Specified by:
      validate in interface ExprValidator
      Throws:
      ExprValidationException
    • equalsNode

      public boolean equalsNode(ExprNode node, boolean ignoreStreamPrefix)
      Description copied from interface: ExprNode
      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.

      Specified by:
      equalsNode in interface ExprNode
      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
    • toPrecedenceFreeEPL

      public void toPrecedenceFreeEPL(StringWriter writer, ExprNodeRenderableFlags flags)
      Specified by:
      toPrecedenceFreeEPL in class ExprNodeBase
    • getPrecedence

      public ExprPrecedenceEnum getPrecedence()
      Description copied from interface: ExprNode
      Returns precedence.
      Specified by:
      getPrecedence in interface ExprNode
      Returns:
      precedence