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 FunctionEqualEvalstatic FunctionGreaterEqualEvalstatic FunctionGreaterThanEvalstatic FunctionLessEqualEvalstatic FunctionLessThanEvalstatic FunctionNotEqualEval
-
Constructor Summary
Constructors Constructor Description RelationalOperationEval()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract booleanconvertComparisonResult(int cmpResult)Converts a standard compare result (-1, 0, 1) totrueorfalseaccording to subclass' comparison type.ValueEvalevaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1)This is a description of how the relational operators apply in MS Excel.ValueEvalevaluateArray(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) totrueorfalseaccording 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:
evaluatein interfaceFunction2Arg
-
evaluateArray
public ValueEval evaluateArray(ValueEval[] args, int srcRowIndex, int srcColumnIndex)
- Specified by:
evaluateArrayin interfaceArrayFunction- Parameters:
args- the evaluated function arguments. Empty values are represented withBlankEvalorMissingArgEval, 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.NaNbe sure to translate the result toErrorEval.NUM_ERROR.
-
-