Package org.apache.poi.ss.formula.eval
Class RelationalOperationEval
- java.lang.Object
-
- org.apache.poi.ss.formula.functions.Fixed2ArgFunction
-
- org.apache.poi.ss.formula.eval.RelationalOperationEval
-
- All Implemented Interfaces:
ArrayFunction
,Function
,Function2Arg
public abstract class RelationalOperationEval extends Fixed2ArgFunction implements ArrayFunction
Base class for all comparison operator evaluators
-
-
Field Summary
Fields Modifier and Type Field Description static Function
EqualEval
static Function
GreaterEqualEval
static Function
GreaterThanEval
static Function
LessEqualEval
static Function
LessThanEval
static Function
NotEqualEval
-
Constructor Summary
Constructors Constructor Description RelationalOperationEval()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract boolean
convertComparisonResult(int cmpResult)
Converts a standard compare result (-1, 0, 1) totrue
orfalse
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.ValueEval
evaluateArray(ValueEval[] args, int srcRowIndex, int srcColumnIndex)
-
Methods inherited from class org.apache.poi.ss.formula.functions.Fixed2ArgFunction
evaluate, evaluate, evaluateArray
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.poi.ss.formula.functions.ArrayFunction
evaluateOneArrayArg, evaluateTwoArrayArgs
-
-
-
-
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
-
-
Method Detail
-
convertComparisonResult
protected abstract boolean convertComparisonResult(int cmpResult)
Converts a standard compare result (-1, 0, 1) totrue
orfalse
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
- Specified by:
evaluate
in interfaceFunction2Arg
-
evaluateArray
public ValueEval evaluateArray(ValueEval[] args, int srcRowIndex, int srcColumnIndex)
- Specified by:
evaluateArray
in interfaceArrayFunction
- Parameters:
args
- the evaluated function arguments. Empty values are represented withBlankEval
orMissingArgEval
, nevernull
.srcRowIndex
- row index of the cell containing the formula under evaluationsrcColumnIndex
- column index of the cell containing the formula under evaluation- Returns:
- The evaluated result, possibly an
ErrorEval
, nevernull
. Note - Excel uses the error code #NUM! instead of IEEE NaN, so when numeric functions evaluate toDouble.NaN
be sure to translate the result toErrorEval.NUM_ERROR
.
-
-