Top Description Fields Constructors Methods
org.apache.poi.ss.formula.eval

public abstract Class RelationalOperationEval

extends Fixed2ArgFunction
implements ArrayFunction
Class Inheritance
All Implemented Interfaces
org.apache.poi.ss.formula.functions.ArrayFunction
Imports
org.apache.poi.ss.formula.functions.ArrayFunction, .Fixed2ArgFunction, .Function, org.apache.poi.ss.util.NumberComparer

Base class for all comparison operator evaluators

Field Summary

Modifier and TypeField and Description
public static final Function
public static final Function
public static final Function
public static final Function
public static final Function
public static final Function

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private static int
protected abstract boolean
convertComparisonResult(int cmpResult)

Converts a standard compare result (-1, 0, 1) to true or false according to subclass' comparison type.

private static int
public ValueEval
evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1)

Implements org.apache.poi.ss.formula.functions.Function2Arg.evaluate.

This is a description of how the relational operators apply in MS Excel.

public ValueEval
evaluateArray(ValueEval[]
the evaluated function arguments. Empty values are represented with BlankEval or MissingArgEval, never null.
args
,
int
row index of the cell containing the formula under evaluation
srcRowIndex
,
int
column index of the cell containing the formula under evaluation
srcColumnIndex
)

Implements org.apache.poi.ss.formula.functions.ArrayFunction.evaluateArray.

Inherited from org.apache.poi.ss.formula.functions.Fixed2ArgFunction:
evaluate

Field Detail

EqualEvalback to summary
public static final Function EqualEval
GreaterEqualEvalback to summary
public static final Function GreaterEqualEval
GreaterThanEvalback to summary
public static final Function GreaterThanEval
LessEqualEvalback to summary
public static final Function LessEqualEval
LessThanEvalback to summary
public static final Function LessThanEval
NotEqualEvalback to summary
public static final Function NotEqualEval

Constructor Detail

RelationalOperationEvalback to summary
public RelationalOperationEval()

Method Detail

compareBlankback to summary
private static int compareBlank(ValueEval v)
convertComparisonResultback to summary
protected abstract boolean convertComparisonResult(int cmpResult)

Converts a standard compare result (-1, 0, 1) to true or false according to subclass' comparison type.

doCompareback to summary
private static int doCompare(ValueEval va, ValueEval vb)
evaluateback to summary
public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1)

Implements org.apache.poi.ss.formula.functions.Function2Arg.evaluate.

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
evaluateArrayback to summary
public ValueEval evaluateArray(ValueEval[] args, int srcRowIndex, int srcColumnIndex)

Implements org.apache.poi.ss.formula.functions.ArrayFunction.evaluateArray.

Parameters
args:ValueEval[]

Doc from org.apache.poi.ss.formula.functions.ArrayFunction.evaluateArray.

the evaluated function arguments. Empty values are represented with BlankEval or MissingArgEval, never null.

srcRowIndex:int

Doc from org.apache.poi.ss.formula.functions.ArrayFunction.evaluateArray.

row index of the cell containing the formula under evaluation

srcColumnIndex:int

Doc from org.apache.poi.ss.formula.functions.ArrayFunction.evaluateArray.

column index of the cell containing the formula under evaluation

Returns:ValueEval

Doc from org.apache.poi.ss.formula.functions.ArrayFunction.evaluateArray.

The evaluated result, possibly an ErrorEval, 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.

Annotations
@Override