Package io.atlasmap.expression.internal
Class ComparisonExpression
- java.lang.Object
-
- io.atlasmap.expression.internal.BinaryExpression
-
- io.atlasmap.expression.internal.ComparisonExpression
-
- All Implemented Interfaces:
Expression,BooleanExpression
public abstract class ComparisonExpression extends BinaryExpression implements BooleanExpression
A filter performing a comparison of two objects.- Version:
- $Revision: 1.2 $
-
-
Field Summary
Fields Modifier and Type Field Description static ThreadLocal<Boolean>CONVERT_STRING_EXPRESSIONStrue to convert string expressions, or false.-
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(Expression left, Expression right)A constructor.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract booleanasBoolean(int answer)Gets a boolean value from the integer.static voidcheckLessThanOperand(Expression expr)Only Numeric expressions can be used in >, >=, < or <= expressions.protected Booleancompare(Comparable lv, Comparable rv)PerformsComparable.compareTo(Object).static BooleanExpressioncreateBetween(Expression value, Expression left, Expression right)Creates between expression.static BooleanExpressioncreateEqual(Expression left, Expression right)creates equal expression.static BooleanExpressioncreateGreaterThan(Expression left, Expression right)Creates greater than expression.static BooleanExpressioncreateGreaterThanEqual(Expression left, Expression right)Creates greater than equal expression.static BooleanExpressioncreateInFilter(Expression left, List elements)Creates in expression.static BooleanExpressioncreateIsNotNull(Expression left)Creates is not null expression.static BooleanExpressioncreateIsNull(Expression left)Creates is null expression.static BooleanExpressioncreateLessThan(Expression left, Expression right)Creates less than expression.static BooleanExpressioncreateLessThanEqual(Expression left, Expression right)Creates less than equal expression.static BooleanExpressioncreateLike(Expression left, String right, String escape)Creates like expression.static BooleanExpressioncreateNotBetween(Expression value, Expression left, Expression right)Creates not between expression.static BooleanExpressioncreateNotEqual(Expression left, Expression right)Creates not equal expression.static BooleanExpressioncreateNotInFilter(Expression left, List elements)Creates not in expression.static BooleanExpressioncreateNotLike(Expression left, String right, String escape)Creates not like expression.io.atlasmap.v2.Fieldevaluate(ExpressionContext expressionContext)Evaluates the expression context.booleanmatches(ExpressionContext message)Check if the result of expression evaluation is true or not.-
Methods inherited from class io.atlasmap.expression.internal.BinaryExpression
equals, getExpressionSymbol, getLeft, getRight, hashCode, setLeft, setRight, toString
-
-
-
-
Field Detail
-
CONVERT_STRING_EXPRESSIONS
public static final ThreadLocal<Boolean> CONVERT_STRING_EXPRESSIONS
true to convert string expressions, or false.
-
-
Constructor Detail
-
ComparisonExpression
public ComparisonExpression(Expression left, Expression right)
A constructor.- Parameters:
left- leftExpressionright- rightExpression
-
-
Method Detail
-
createBetween
public static BooleanExpression createBetween(Expression value, Expression left, Expression right)
Creates between expression.- Parameters:
value- valueleft- leftright- right- Returns:
- result
-
createNotBetween
public static BooleanExpression createNotBetween(Expression value, Expression left, Expression right)
Creates not between expression.- Parameters:
value- valueleft- leftright- right- Returns:
- result
-
createLike
public static BooleanExpression createLike(Expression left, String right, String escape)
Creates like expression.- Parameters:
left- leftright- rightescape- escape- Returns:
- result
-
createNotLike
public static BooleanExpression createNotLike(Expression left, String right, String escape)
Creates not like expression.- Parameters:
left- leftright- rightescape- escape- Returns:
- result
-
createInFilter
public static BooleanExpression createInFilter(Expression left, List elements)
Creates in expression.- Parameters:
left- leftelements- elements- Returns:
- result
-
createNotInFilter
public static BooleanExpression createNotInFilter(Expression left, List elements)
Creates not in expression.- Parameters:
left- leftelements- elements- Returns:
- result
-
createIsNull
public static BooleanExpression createIsNull(Expression left)
Creates is null expression.- Parameters:
left- left- Returns:
- result
-
createIsNotNull
public static BooleanExpression createIsNotNull(Expression left)
Creates is not null expression.- Parameters:
left- left- Returns:
- result
-
createNotEqual
public static BooleanExpression createNotEqual(Expression left, Expression right)
Creates not equal expression.- Parameters:
left- leftright- right- Returns:
- result
-
createEqual
public static BooleanExpression createEqual(Expression left, Expression right)
creates equal expression.- Parameters:
left- leftright- right- Returns:
- result
-
createGreaterThan
public static BooleanExpression createGreaterThan(Expression left, Expression right)
Creates greater than expression.- Parameters:
left- leftright- right- Returns:
- result
-
createGreaterThanEqual
public static BooleanExpression createGreaterThanEqual(Expression left, Expression right)
Creates greater than equal expression.- Parameters:
left- leftright- right- Returns:
- result
-
createLessThan
public static BooleanExpression createLessThan(Expression left, Expression right)
Creates less than expression.- Parameters:
left- leftright- right- Returns:
- result
-
createLessThanEqual
public static BooleanExpression createLessThanEqual(Expression left, Expression right)
Creates less than equal expression.- Parameters:
left- leftright- right- Returns:
- result
-
checkLessThanOperand
public static void checkLessThanOperand(Expression expr)
Only Numeric expressions can be used in >, >=, < or <= expressions.- Parameters:
expr-Expression
-
evaluate
public io.atlasmap.v2.Field evaluate(ExpressionContext expressionContext) throws ExpressionException
Evaluates the expression context.- Specified by:
evaluatein interfaceExpression- Parameters:
expressionContext- expression context- Returns:
Field- Throws:
ExpressionException- If evaluation fails
-
compare
protected Boolean compare(Comparable lv, Comparable rv)
PerformsComparable.compareTo(Object).- Parameters:
lv- leftrv- right- Returns:
- result
-
asBoolean
protected abstract boolean asBoolean(int answer)
Gets a boolean value from the integer.- Parameters:
answer- integer- Returns:
- result
-
matches
public boolean matches(ExpressionContext message) throws ExpressionException
Check if the result of expression evaluation is true or not.- Specified by:
matchesin interfaceBooleanExpression- Parameters:
message- expression context- Returns:
- result
- Throws:
ExpressionException- exception
-
-