Package org.apache.qpid.server.filter
Class ComparisonExpression<T>
- java.lang.Object
-
- org.apache.qpid.server.filter.BinaryExpression<T>
-
- org.apache.qpid.server.filter.ComparisonExpression<T>
-
- All Implemented Interfaces:
BooleanExpression<T>
,Expression<T>
public abstract class ComparisonExpression<T> extends BinaryExpression<T> implements BooleanExpression<T>
A filter performing a comparison of two objects
-
-
Constructor Summary
Constructors Constructor Description ComparisonExpression(Expression<T> left, Expression<T> right)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract boolean
asBoolean(int answer)
static <E> void
checkEqualOperand(Expression<E> expr)
Validates that the expression can be used in == or <> expression.static <E> void
checkLessThanOperand(Expression<E> expr)
Only Numeric expressions can be used in >, >=, < or <= expressions.protected Boolean
compare(Comparable lv, Comparable rv)
static <E> BooleanExpression<E>
createBetween(Expression<E> value, Expression<E> left, Expression<E> right)
static <E> BooleanExpression<E>
createEqual(Expression<E> left, Expression<E> right)
static <E> BooleanExpression<E>
createGreaterThan(Expression<E> left, Expression<E> right)
static <E> BooleanExpression<E>
createGreaterThanEqual(Expression<E> left, Expression<E> right)
static <E> BooleanExpression<E>
createInFilter(Expression<E> left, List<?> elements, boolean allowNonJms)
static <E> BooleanExpression<E>
createIsNotNull(Expression<E> left)
static <E> BooleanExpression<E>
createIsNull(Expression<E> left)
static <E> BooleanExpression<E>
createLessThan(Expression<E> left, Expression<E> right)
static <E> BooleanExpression<E>
createLessThanEqual(Expression<E> left, Expression<E> right)
static <E> BooleanExpression<E>
createLike(Expression<E> left, String right, String escape)
static <E> BooleanExpression<E>
createNotBetween(Expression<E> value, Expression<E> left, Expression<E> right)
static <E> BooleanExpression<E>
createNotEqual(Expression<E> left, Expression<E> right)
static <E> BooleanExpression<E>
createNotInFilter(Expression<E> left, List<?> elements, boolean allowNonJms)
static <E> BooleanExpression<E>
createNotLike(Expression<E> left, String right, String escape)
Object
evaluate(T message)
boolean
matches(T message)
-
Methods inherited from class org.apache.qpid.server.filter.BinaryExpression
equals, getExpressionSymbol, getLeft, getRight, hashCode, toString
-
-
-
-
Constructor Detail
-
ComparisonExpression
public ComparisonExpression(Expression<T> left, Expression<T> right)
-
-
Method Detail
-
createBetween
public static <E> BooleanExpression<E> createBetween(Expression<E> value, Expression<E> left, Expression<E> right)
-
createNotBetween
public static <E> BooleanExpression<E> createNotBetween(Expression<E> value, Expression<E> left, Expression<E> right)
-
createLike
public static <E> BooleanExpression<E> createLike(Expression<E> left, String right, String escape)
-
createNotLike
public static <E> BooleanExpression<E> createNotLike(Expression<E> left, String right, String escape)
-
createInFilter
public static <E> BooleanExpression<E> createInFilter(Expression<E> left, List<?> elements, boolean allowNonJms)
-
createNotInFilter
public static <E> BooleanExpression<E> createNotInFilter(Expression<E> left, List<?> elements, boolean allowNonJms)
-
createIsNull
public static <E> BooleanExpression<E> createIsNull(Expression<E> left)
-
createIsNotNull
public static <E> BooleanExpression<E> createIsNotNull(Expression<E> left)
-
createNotEqual
public static <E> BooleanExpression<E> createNotEqual(Expression<E> left, Expression<E> right)
-
createEqual
public static <E> BooleanExpression<E> createEqual(Expression<E> left, Expression<E> right)
-
createGreaterThan
public static <E> BooleanExpression<E> createGreaterThan(Expression<E> left, Expression<E> right)
-
createGreaterThanEqual
public static <E> BooleanExpression<E> createGreaterThanEqual(Expression<E> left, Expression<E> right)
-
createLessThan
public static <E> BooleanExpression<E> createLessThan(Expression<E> left, Expression<E> right)
-
createLessThanEqual
public static <E> BooleanExpression<E> createLessThanEqual(Expression<E> left, Expression<E> right)
-
checkLessThanOperand
public static <E> void checkLessThanOperand(Expression<E> expr)
Only Numeric expressions can be used in >, >=, < or <= expressions.- Parameters:
expr
- expression to check
-
checkEqualOperand
public static <E> void checkEqualOperand(Expression<E> expr)
Validates that the expression can be used in == or <> expression. Cannot not be NULL TRUE or FALSE literals.- Parameters:
expr
- expression to check
-
evaluate
public Object evaluate(T message)
- Specified by:
evaluate
in interfaceExpression<T>
- Parameters:
message
- object to evaluate- Returns:
- the value of this expression
-
compare
protected Boolean compare(Comparable lv, Comparable rv)
-
asBoolean
protected abstract boolean asBoolean(int answer)
-
matches
public boolean matches(T message)
- Specified by:
matches
in interfaceBooleanExpression<T>
- Parameters:
message
- object to match- Returns:
- true if the expression evaluates to Boolean.TRUE.
-
-