Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.activemq.filter
Class ComparisonExpression  view ComparisonExpression download ComparisonExpression.java

java.lang.Object
  extended byorg.activemq.filter.BinaryExpression
      extended byorg.activemq.filter.ComparisonExpression
All Implemented Interfaces:
BooleanExpression, Expression

public abstract class ComparisonExpression
extends BinaryExpression
implements BooleanExpression

A filter performing a comparison of two objects

Version:
$Revision: 1.1.1.1 $

Nested Class Summary
(package private) static class ComparisonExpression.LikeExpression
           
 
Field Summary
private static java.util.HashSet REGEXP_CONTROL_CHARS
           
 
Fields inherited from class org.activemq.filter.BinaryExpression
left, right
 
Constructor Summary
ComparisonExpression(Expression left, Expression right)
           
 
Method Summary
protected abstract  boolean asBoolean(int answer)
           
static void checkEqualOperand(Expression expr)
          Validates that the expression can be used in == or <> expression.
private static void checkEqualOperandCompatability(Expression left, Expression right)
           
static void checkLessThanOperand(Expression expr)
          Only Numeric expressions can be used in >, >=, < or <= expressions.s
protected  java.lang.Boolean compare(java.lang.Comparable lv, java.lang.Comparable rv)
           
static BooleanExpression createBetween(Expression value, Expression left, Expression right)
           
static BooleanExpression createEqual(Expression left, Expression right)
           
static BooleanExpression createGreaterThan(Expression left, Expression right)
           
static BooleanExpression createGreaterThanEqual(Expression left, Expression right)
           
static BooleanExpression createInFilter(Expression left, java.util.List elements)
           
static BooleanExpression createIsNotNull(Expression left)
           
static BooleanExpression createIsNull(Expression left)
           
static BooleanExpression createLessThan(Expression left, Expression right)
           
static BooleanExpression createLessThanEqual(Expression left, Expression right)
           
static BooleanExpression createLike(Expression left, java.lang.String right, java.lang.String escape)
           
static BooleanExpression createNotBetween(Expression value, Expression left, Expression right)
           
static BooleanExpression createNotEqual(Expression left, Expression right)
           
static BooleanExpression createNotInFilter(Expression left, java.util.List elements)
           
static BooleanExpression createNotLike(Expression left, java.lang.String right, java.lang.String escape)
           
private static BooleanExpression doCreateEqual(Expression left, Expression right)
           
 java.lang.Object evaluate(javax.jms.Message message)
           
 
Methods inherited from class org.activemq.filter.BinaryExpression
equals, getExpressionSymbol, getLeft, getRight, hashCode, setLeft, setRight, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

REGEXP_CONTROL_CHARS

private static final java.util.HashSet REGEXP_CONTROL_CHARS
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)

doCreateEqual

private static BooleanExpression doCreateEqual(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.s


checkEqualOperand

public static void checkEqualOperand(Expression expr)
Validates that the expression can be used in == or <> expression. Cannot not be NULL TRUE or FALSE litterals.


checkEqualOperandCompatability

private static void checkEqualOperandCompatability(Expression left,
                                                   Expression right)

evaluate

public java.lang.Object evaluate(javax.jms.Message message)
                          throws javax.jms.JMSException
Specified by:
evaluate in interface Expression

compare

protected java.lang.Boolean compare(java.lang.Comparable lv,
                                    java.lang.Comparable rv)

asBoolean

protected abstract boolean asBoolean(int answer)