Class ComparisonExpression
- java.lang.Object
-
- org.apache.qpid.jms.selector.filter.BinaryExpression
-
- org.apache.qpid.jms.selector.filter.ComparisonExpression
-
- All Implemented Interfaces:
BooleanExpression,Expression
public abstract class ComparisonExpression extends BinaryExpression implements BooleanExpression
A filter performing a comparison of two objects
-
-
Field Summary
-
Fields inherited from class org.apache.qpid.jms.selector.filter.BinaryExpression
left, right
-
-
Constructor Summary
Constructors Constructor Description ComparisonExpression(Expression left, Expression right)
-
Method Summary
-
Methods inherited from class org.apache.qpid.jms.selector.filter.BinaryExpression
equals, getExpressionSymbol, getLeft, getRight, hashCode, setLeft, setRight, toString
-
-
-
-
Constructor Detail
-
ComparisonExpression
public ComparisonExpression(Expression left, Expression right)
-
-
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- The expression to evaluate.
-
checkEqualOperand
public static void checkEqualOperand(Expression expr)
Validates that the expression can be used in == or <> expressions. Cannot not be NULL TRUE or FALSE literals.- Parameters:
expr- The expression to evaluate.
-
evaluate
public Object evaluate(Filterable message) throws FilterException
- Specified by:
evaluatein interfaceExpression- Parameters:
message- The message that is being selected against.- Returns:
- the value of this expression
- Throws:
FilterException- if an error occurs during evaluation.
-
compare
protected Boolean compare(Comparable lv, Comparable rv)
-
asBoolean
protected abstract boolean asBoolean(int answer)
-
matches
public boolean matches(Filterable message) throws FilterException
- Specified by:
matchesin interfaceBooleanExpression- Returns:
- true if the expression evaluates to Boolean.TRUE.
- Throws:
FilterException
-
-