org.apache.poi.ss.formula.eval
Class RelationalOperationEval

java.lang.Object
  extended by org.apache.poi.ss.formula.functions.Fixed2ArgFunction
      extended by org.apache.poi.ss.formula.eval.RelationalOperationEval
All Implemented Interfaces:
Function, Function2Arg

public abstract class RelationalOperationEval
extends Fixed2ArgFunction

Base class for all comparison operator evaluators


Field Summary
static Function EqualEval
           
static Function GreaterEqualEval
           
static Function GreaterThanEval
           
static Function LessEqualEval
           
static Function LessThanEval
           
static Function NotEqualEval
           
 
Constructor Summary
RelationalOperationEval()
           
 
Method Summary
protected abstract  boolean convertComparisonResult(int cmpResult)
          Converts a standard compare result (-1, 0, 1) to true or false according to subclass' comparison type.
 ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1)
          This is a description of how the relational operators apply in MS Excel.
 
Methods inherited from class org.apache.poi.ss.formula.functions.Fixed2ArgFunction
evaluate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EqualEval

public static final Function EqualEval

GreaterEqualEval

public static final Function GreaterEqualEval

GreaterThanEval

public static final Function GreaterThanEval

LessEqualEval

public static final Function LessEqualEval

LessThanEval

public static final Function LessThanEval

NotEqualEval

public static final Function NotEqualEval
Constructor Detail

RelationalOperationEval

public RelationalOperationEval()
Method Detail

convertComparisonResult

protected abstract boolean convertComparisonResult(int cmpResult)
Converts a standard compare result (-1, 0, 1) to true or false according to subclass' comparison type.


evaluate

public ValueEval evaluate(int srcRowIndex,
                          int srcColumnIndex,
                          ValueEval arg0,
                          ValueEval arg1)
This is a description of how the relational operators apply in MS Excel. Use this as a guideline when testing/implementing the evaluate methods for the relational operators Evals.
 Bool.TRUE > any number.
 Bool > any string. ALWAYS
 Bool.TRUE > Bool.FALSE
 Bool.FALSE == Blank

 Strings are never converted to numbers or booleans
 String > any number. ALWAYS
 Non-empty String > Blank
 Empty String == Blank
 String are sorted dictionary wise

 Blank > Negative numbers
 Blank == 0
 Blank < Positive numbers