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
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract booleanasBoolean(int answer)static voidcheckEqualOperand(Expression expr)Validates that the expression can be used in == or <> expressions.static voidcheckLessThanOperand(Expression expr)Only Numeric expressions can be used in >, >=, < or <= expressions.protected java.lang.Booleancompare(java.lang.Comparable lv, java.lang.Comparable rv)static BooleanExpressioncreateBetween(Expression value, Expression left, Expression right)static BooleanExpressioncreateEqual(Expression left, Expression right)static BooleanExpressioncreateGreaterThan(Expression left, Expression right)static BooleanExpressioncreateGreaterThanEqual(Expression left, Expression right)static BooleanExpressioncreateInFilter(Expression left, java.util.List elements)static BooleanExpressioncreateIsNotNull(Expression left)static BooleanExpressioncreateIsNull(Expression left)static BooleanExpressioncreateLessThan(Expression left, Expression right)static BooleanExpressioncreateLessThanEqual(Expression left, Expression right)static BooleanExpressioncreateLike(Expression left, java.lang.String right, java.lang.String escape)static BooleanExpressioncreateNotBetween(Expression value, Expression left, Expression right)static BooleanExpressioncreateNotEqual(Expression left, Expression right)static BooleanExpressioncreateNotInFilter(Expression left, java.util.List elements)static BooleanExpressioncreateNotLike(Expression left, java.lang.String right, java.lang.String escape)java.lang.Objectevaluate(Filterable message)booleanmatches(Filterable message)-
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, java.lang.String right, java.lang.String escape)
-
createNotLike
public static BooleanExpression createNotLike(Expression left, java.lang.String right, java.lang.String escape)
-
createInFilter
public static BooleanExpression createInFilter(Expression left, java.util.List elements)
-
createNotInFilter
public static BooleanExpression createNotInFilter(Expression left, java.util.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 java.lang.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 java.lang.Boolean compare(java.lang.Comparable lv, java.lang.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
-
-