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_EXPRESSIONS-
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)
-
Method Summary
-
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
-
-
Constructor Detail
-
ComparisonExpression
public ComparisonExpression(Expression left, Expression right)
- Parameters:
left- leftExpressionright- rightExpression
-
-
Method Detail
-
createBetween
public static BooleanExpression createBetween(Expression value, Expression left, Expression right)
-
createNotBetween
public static BooleanExpression createNotBetween(Expression value, Expression left, Expression right)
-
createLike
public static BooleanExpression createLike(Expression left, String right, String escape)
-
createNotLike
public static BooleanExpression createNotLike(Expression left, String right, String escape)
-
createInFilter
public static BooleanExpression createInFilter(Expression left, List elements)
-
createNotInFilter
public static BooleanExpression createNotInFilter(Expression left, List elements)
-
createIsNull
public static BooleanExpression createIsNull(Expression left)
-
createIsNotNull
public static BooleanExpression createIsNotNull(Expression left)
-
createNotEqual
public static BooleanExpression createNotEqual(Expression left, Expression right)
-
createEqual
public static BooleanExpression createEqual(Expression left, Expression right)
-
createGreaterThan
public static BooleanExpression createGreaterThan(Expression left, Expression right)
-
createGreaterThanEqual
public static BooleanExpression createGreaterThanEqual(Expression left, Expression right)
-
createLessThan
public static BooleanExpression createLessThan(Expression left, Expression right)
-
createLessThanEqual
public static BooleanExpression createLessThanEqual(Expression left, Expression right)
-
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
Description copied from interface:ExpressionExecute the expression against the given context.- Specified by:
evaluatein interfaceExpression- Parameters:
expressionContext-ExpressionContext- Returns:
Fieldrepresents a result- Throws:
ExpressionException- If evaluation fails
-
compare
protected Boolean compare(Comparable lv, Comparable rv)
-
asBoolean
protected abstract boolean asBoolean(int answer)
-
matches
public boolean matches(ExpressionContext message) throws ExpressionException
- Specified by:
matchesin interfaceBooleanExpression- Parameters:
message- expression context- Returns:
- true if the expression evaluates to Boolean.TRUE.
- Throws:
ExpressionException- exception
-
-