java.lang.Object
io.atlasmap.expression.internal.BinaryExpression
org.qubership.integration.platform.engine.mapper.atlasmap.expressions.ComparisonExpression
All Implemented Interfaces:
io.atlasmap.expression.Expression, io.atlasmap.expression.internal.BooleanExpression

public abstract class ComparisonExpression extends io.atlasmap.expression.internal.BinaryExpression implements io.atlasmap.expression.internal.BooleanExpression
Copied from io.atlasmap.expression.internal.ComparisonExpression. Added support of comparison to null of complex objects. A filter performing a comparison of two objects.
Version:
$Revision: 1.2 $
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final ThreadLocal<Boolean>
     

    Fields inherited from class io.atlasmap.expression.internal.BinaryExpression

    left, right

    Fields inherited from interface io.atlasmap.expression.Expression

    CACHE
  • Constructor Summary

    Constructors
    Constructor
    Description
    ComparisonExpression(io.atlasmap.expression.Expression left, io.atlasmap.expression.Expression right)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract boolean
    asBoolean(int answer)
     
    static void
    checkLessThanOperand(io.atlasmap.expression.Expression expr)
    Only Numeric expressions can be used in >, >=, < or <= expressions.
    protected Boolean
     
    static io.atlasmap.expression.internal.BooleanExpression
    createBetween(io.atlasmap.expression.Expression value, io.atlasmap.expression.Expression left, io.atlasmap.expression.Expression right)
     
    static io.atlasmap.expression.internal.BooleanExpression
    createEqual(io.atlasmap.expression.Expression left, io.atlasmap.expression.Expression right)
     
    static io.atlasmap.expression.internal.BooleanExpression
    createGreaterThan(io.atlasmap.expression.Expression left, io.atlasmap.expression.Expression right)
     
    static io.atlasmap.expression.internal.BooleanExpression
    createGreaterThanEqual(io.atlasmap.expression.Expression left, io.atlasmap.expression.Expression right)
     
    static io.atlasmap.expression.internal.BooleanExpression
    createInFilter(io.atlasmap.expression.Expression left, List elements)
     
    static io.atlasmap.expression.internal.BooleanExpression
    createIsNotNull(io.atlasmap.expression.Expression left)
     
    static io.atlasmap.expression.internal.BooleanExpression
    createIsNull(io.atlasmap.expression.Expression left)
     
    static io.atlasmap.expression.internal.BooleanExpression
    createLessThan(io.atlasmap.expression.Expression left, io.atlasmap.expression.Expression right)
     
    static io.atlasmap.expression.internal.BooleanExpression
    createLessThanEqual(io.atlasmap.expression.Expression left, io.atlasmap.expression.Expression right)
     
    static io.atlasmap.expression.internal.BooleanExpression
    createLike(io.atlasmap.expression.Expression left, String right, String escape)
     
    static io.atlasmap.expression.internal.BooleanExpression
    createNotBetween(io.atlasmap.expression.Expression value, io.atlasmap.expression.Expression left, io.atlasmap.expression.Expression right)
     
    static io.atlasmap.expression.internal.BooleanExpression
    createNotEqual(io.atlasmap.expression.Expression left, io.atlasmap.expression.Expression right)
     
    static io.atlasmap.expression.internal.BooleanExpression
    createNotInFilter(io.atlasmap.expression.Expression left, List elements)
     
    static io.atlasmap.expression.internal.BooleanExpression
    createNotLike(io.atlasmap.expression.Expression left, String right, String escape)
     
    io.atlasmap.v2.Field
    evaluate(io.atlasmap.expression.ExpressionContext expressionContext)
     
    boolean
    matches(io.atlasmap.expression.ExpressionContext message)
     

    Methods inherited from class io.atlasmap.expression.internal.BinaryExpression

    equals, getExpressionSymbol, getLeft, getRight, hashCode, setLeft, setRight, toString

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • CONVERT_STRING_EXPRESSIONS

      public static final ThreadLocal<Boolean> CONVERT_STRING_EXPRESSIONS
  • Constructor Details

    • ComparisonExpression

      public ComparisonExpression(io.atlasmap.expression.Expression left, io.atlasmap.expression.Expression right)
      Parameters:
      left - left Expression
      right - right Expression
  • Method Details

    • createBetween

      public static io.atlasmap.expression.internal.BooleanExpression createBetween(io.atlasmap.expression.Expression value, io.atlasmap.expression.Expression left, io.atlasmap.expression.Expression right)
    • createNotBetween

      public static io.atlasmap.expression.internal.BooleanExpression createNotBetween(io.atlasmap.expression.Expression value, io.atlasmap.expression.Expression left, io.atlasmap.expression.Expression right)
    • createLike

      public static io.atlasmap.expression.internal.BooleanExpression createLike(io.atlasmap.expression.Expression left, String right, String escape)
    • createNotLike

      public static io.atlasmap.expression.internal.BooleanExpression createNotLike(io.atlasmap.expression.Expression left, String right, String escape)
    • createInFilter

      public static io.atlasmap.expression.internal.BooleanExpression createInFilter(io.atlasmap.expression.Expression left, List elements)
    • createNotInFilter

      public static io.atlasmap.expression.internal.BooleanExpression createNotInFilter(io.atlasmap.expression.Expression left, List elements)
    • createIsNull

      public static io.atlasmap.expression.internal.BooleanExpression createIsNull(io.atlasmap.expression.Expression left)
    • createIsNotNull

      public static io.atlasmap.expression.internal.BooleanExpression createIsNotNull(io.atlasmap.expression.Expression left)
    • createNotEqual

      public static io.atlasmap.expression.internal.BooleanExpression createNotEqual(io.atlasmap.expression.Expression left, io.atlasmap.expression.Expression right)
    • createEqual

      public static io.atlasmap.expression.internal.BooleanExpression createEqual(io.atlasmap.expression.Expression left, io.atlasmap.expression.Expression right)
    • createGreaterThan

      public static io.atlasmap.expression.internal.BooleanExpression createGreaterThan(io.atlasmap.expression.Expression left, io.atlasmap.expression.Expression right)
    • createGreaterThanEqual

      public static io.atlasmap.expression.internal.BooleanExpression createGreaterThanEqual(io.atlasmap.expression.Expression left, io.atlasmap.expression.Expression right)
    • createLessThan

      public static io.atlasmap.expression.internal.BooleanExpression createLessThan(io.atlasmap.expression.Expression left, io.atlasmap.expression.Expression right)
    • createLessThanEqual

      public static io.atlasmap.expression.internal.BooleanExpression createLessThanEqual(io.atlasmap.expression.Expression left, io.atlasmap.expression.Expression right)
    • checkLessThanOperand

      public static void checkLessThanOperand(io.atlasmap.expression.Expression expr)
      Only Numeric expressions can be used in >, >=, < or <= expressions.
      Parameters:
      expr - Expression
    • evaluate

      public io.atlasmap.v2.Field evaluate(io.atlasmap.expression.ExpressionContext expressionContext) throws io.atlasmap.expression.ExpressionException
      Specified by:
      evaluate in interface io.atlasmap.expression.Expression
      Throws:
      io.atlasmap.expression.ExpressionException
    • compare

      protected Boolean compare(Comparable lv, Comparable rv)
    • asBoolean

      protected abstract boolean asBoolean(int answer)
    • matches

      public boolean matches(io.atlasmap.expression.ExpressionContext message) throws io.atlasmap.expression.ExpressionException
      Specified by:
      matches in interface io.atlasmap.expression.internal.BooleanExpression
      Throws:
      io.atlasmap.expression.ExpressionException