net.sf.dropboxmq.messageselector
Class ConditionalExpression

java.lang.Object
  extended by net.sf.dropboxmq.messageselector.Expression
      extended by net.sf.dropboxmq.messageselector.BinaryExpression
          extended by net.sf.dropboxmq.messageselector.ConditionalExpression
Direct Known Subclasses:
ConditionalExpression.EqualExpression, ConditionalExpression.GreaterThanExpression, ConditionalExpression.GreaterThanOrEqualExpression, ConditionalExpression.LessThanExpression, ConditionalExpression.LessThanOrEqualExpression, ConditionalExpression.NotEqualExpression

public abstract class ConditionalExpression
extends BinaryExpression

Created: 07 Oct 2007

Version:
$Revision: 211 $, $Date: 2010-11-14 14:21:24 -0700 (Sun, 14 Nov 2010) $
Author:
Dwayne Schultz

Nested Class Summary
static class ConditionalExpression.EqualExpression
           
static class ConditionalExpression.GreaterThanExpression
           
static class ConditionalExpression.GreaterThanOrEqualExpression
           
static class ConditionalExpression.LessThanExpression
           
static class ConditionalExpression.LessThanOrEqualExpression
           
static class ConditionalExpression.NotEqualExpression
           
 
Constructor Summary
protected ConditionalExpression(Expression left, Expression right, boolean ordinalsOnly)
           
 
Method Summary
static void checkExpressionsAreComparable(Class leftClass, Token leftToken, Class rightClass, Token rightToken, boolean ordinalsOnly)
           
static void checkExpressionsAreComparable(Expression left, Token leftToken, Expression right, Token rightToken, boolean ordinalsOnly)
           
static Integer compare(Object leftValue, Object rightValue, boolean ordinalsOnly)
           
 Object getValue(Message message)
           
protected abstract  Boolean getValue(Object leftValue, Object rightValue)
           
 Class getValueClass()
           
 boolean isOrdinalsOnly()
           
static Expression newBetweenExpression(Expression left, Token leftToken, Expression low, Token lowToken, Expression high, Token highToken, boolean negate)
           
 
Methods inherited from class net.sf.dropboxmq.messageselector.BinaryExpression
getLeft, getRight, promote, toString
 
Methods inherited from class net.sf.dropboxmq.messageselector.Expression
evaluate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConditionalExpression

protected ConditionalExpression(Expression left,
                                Expression right,
                                boolean ordinalsOnly)
Method Detail

checkExpressionsAreComparable

public static void checkExpressionsAreComparable(Expression left,
                                                 Token leftToken,
                                                 Expression right,
                                                 Token rightToken,
                                                 boolean ordinalsOnly)
                                          throws ParseException
Throws:
ParseException

checkExpressionsAreComparable

public static void checkExpressionsAreComparable(Class leftClass,
                                                 Token leftToken,
                                                 Class rightClass,
                                                 Token rightToken,
                                                 boolean ordinalsOnly)
                                          throws ParseException
Throws:
ParseException

getValue

public Object getValue(Message message)
Specified by:
getValue in class Expression

getValueClass

public Class getValueClass()
Specified by:
getValueClass in class Expression

getValue

protected abstract Boolean getValue(Object leftValue,
                                    Object rightValue)

compare

public static Integer compare(Object leftValue,
                              Object rightValue,
                              boolean ordinalsOnly)

isOrdinalsOnly

public boolean isOrdinalsOnly()

newBetweenExpression

public static Expression newBetweenExpression(Expression left,
                                              Token leftToken,
                                              Expression low,
                                              Token lowToken,
                                              Expression high,
                                              Token highToken,
                                              boolean negate)
                                       throws ParseException
Throws:
ParseException