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

public class ExprMathNode extends ExprNodeBase
Represents a simple Math (+/-/divide/*) in a filter expression tree.
  • Constructor Details

    • ExprMathNode

      public ExprMathNode(MathArithTypeEnum mathArithTypeEnum, boolean isIntegerDivision, boolean isDivisionByZeroReturnsNull)
      Ctor.
      Parameters:
      mathArithTypeEnum - - type of math
      isIntegerDivision - - false for division returns double, true for using Java-standard integer division
      isDivisionByZeroReturnsNull - - false for division-by-zero returns infinity, true for null
  • Method Details

    • getExprEvaluator

      public ExprEvaluator getExprEvaluator()
    • getForge

      public ExprForge getForge()
    • validate

      public ExprNode validate(ExprValidationContext validationContext) throws ExprValidationException
      Throws:
      ExprValidationException
    • isConstantResult

      public boolean isConstantResult()
    • 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.
      Returns:
      precedence
    • 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.

      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
    • getMathArithTypeEnum

      public MathArithTypeEnum getMathArithTypeEnum()
      Returns the type of math.
      Returns:
      math type