Class ComparisonExpression
java.lang.Object
org.apache.activemq.artemis.selector.filter.BinaryExpression
org.apache.activemq.artemis.selector.filter.ComparisonExpression
- All Implemented Interfaces:
BooleanExpression,Expression
A filter performing a comparison of two objects
-
Field Summary
FieldsFields inherited from class org.apache.activemq.artemis.selector.filter.BinaryExpression
left, right -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract booleanasBoolean(int answer) static voidcheckEqualOperand(Expression expr) Validates that the expression can be used in==or<>expression.static voidOnly Numeric expressions can be used in>,>=,<or<=expressions.protected Booleancompare(Comparable lv, 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, List<Object> 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, String right, String escape) static BooleanExpressioncreateNotBetween(Expression value, Expression left, Expression right) static BooleanExpressioncreateNotEqual(Expression left, Expression right) static BooleanExpressioncreateNotInFilter(Expression left, List<Object> elements) static BooleanExpressioncreateNotLike(Expression left, String right, String escape) evaluate(Filterable message) Returns the value of this expression.booleanmatches(Filterable message) Returnstrueif the expression evaluates toBoolean.TRUE.Methods inherited from class org.apache.activemq.artemis.selector.filter.BinaryExpression
equals, getExpressionSymbol, getLeft, getRight, hashCode, setLeft, setRight, toString
-
Field Details
-
CONVERT_STRING_EXPRESSIONS
-
-
Constructor Details
-
ComparisonExpression
-
-
Method Details
-
createBetween
-
createNotBetween
public static BooleanExpression createNotBetween(Expression value, Expression left, Expression right) -
createLike
-
createNotLike
-
createInFilter
-
createNotInFilter
-
createIsNull
-
createIsNotNull
-
createNotEqual
-
createEqual
-
createGreaterThan
-
createGreaterThanEqual
-
createLessThan
-
createLessThanEqual
-
checkLessThanOperand
Only Numeric expressions can be used in>,>=,<or<=expressions. -
checkEqualOperand
Validates that the expression can be used in==or<>expression. Cannot not be NULL TRUE or FALSE literals. -
evaluate
Description copied from interface:ExpressionReturns the value of this expression.- Specified by:
evaluatein interfaceExpression- Returns:
- the value of this expression
- Throws:
FilterException
-
compare
-
asBoolean
protected abstract boolean asBoolean(int answer) -
matches
Description copied from interface:BooleanExpressionReturnstrueif the expression evaluates toBoolean.TRUE.- Specified by:
matchesin interfaceBooleanExpression- Returns:
trueif the expression evaluates toBoolean.TRUE- Throws:
FilterException
-