public abstract class RelationalOperationEval extends Fixed2ArgFunction implements ArrayFunction
Modifier and Type | Field and Description |
---|---|
static Function |
EqualEval |
static Function |
GreaterEqualEval |
static Function |
GreaterThanEval |
static Function |
LessEqualEval |
static Function |
LessThanEval |
static Function |
NotEqualEval |
Constructor and Description |
---|
RelationalOperationEval() |
Modifier and Type | Method and Description |
---|---|
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.
|
ValueEval |
evaluateArray(ValueEval[] args,
int srcRowIndex,
int srcColumnIndex) |
evaluate
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
evaluateOneArrayArg, evaluateTwoArrayArgs
public static final Function EqualEval
public static final Function GreaterEqualEval
public static final Function GreaterThanEval
public static final Function LessEqualEval
public static final Function LessThanEval
public static final Function NotEqualEval
protected abstract boolean convertComparisonResult(int cmpResult)
true
or false
according to subclass' comparison type.public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1)
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
evaluate
in interface Function2Arg
public ValueEval evaluateArray(ValueEval[] args, int srcRowIndex, int srcColumnIndex)
evaluateArray
in interface ArrayFunction
args
- the evaluated function arguments. Empty values are represented with
BlankEval
or MissingArgEval
, never null
.srcRowIndex
- row index of the cell containing the formula under evaluationsrcColumnIndex
- column index of the cell containing the formula under evaluationErrorEval
, never null
.
Note - Excel uses the error code #NUM! instead of IEEE NaN, so when
numeric functions evaluate to Double.NaN
be sure to translate the result to ErrorEval.NUM_ERROR
.Copyright 2020 The Apache Software Foundation or its licensors, as applicable.