org.apache.poi.ss.formula.functions
Class MultiOperandNumericFunction
java.lang.Object
org.apache.poi.ss.formula.functions.MultiOperandNumericFunction
- All Implemented Interfaces:
- Function
- Direct Known Subclasses:
- AggregateFunction, MinaMaxa
public abstract class MultiOperandNumericFunction
- extends java.lang.Object
- implements Function
- Author:
- Amol S. Deshmukh < amolweb at ya hoo dot com >
This is the super class for all excel function evaluator
classes that take variable number of operands, and
where the order of operands does not matter
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MultiOperandNumericFunction
protected MultiOperandNumericFunction(boolean isReferenceBoolCounted,
boolean isBlankCounted)
evaluate
public final ValueEval evaluate(ValueEval[] args,
int srcCellRow,
int srcCellCol)
- Specified by:
evaluate
in interface Function
- Parameters:
args
- the evaluated function arguments. Empty values are represented with
BlankEval
or MissingArgEval
, never null
.srcCellRow
- row index of the cell containing the formula under evaluationsrcCellCol
- column index of the cell containing the formula under evaluation
- Returns:
- 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
.
evaluate
protected abstract double evaluate(double[] values)
throws EvaluationException
- Throws:
EvaluationException
getMaxNumOperands
protected int getMaxNumOperands()
- Maximum number of operands accepted by this function.
Subclasses may override to change default value.
getNumberArray
protected final double[] getNumberArray(ValueEval[] operands)
throws EvaluationException
- Returns a double array that contains values for the numeric cells
from among the list of operands. Blanks and Blank equivalent cells
are ignored. Error operands or cells containing operands of type
that are considered invalid and would result in #VALUE! error in
excel cause this function to return
null
.
- Returns:
- never
null
- Throws:
EvaluationException
isSubtotalCounted
public boolean isSubtotalCounted()
- Whether to count nested subtotals.
Copyright 2012 The Apache Software Foundation or
its licensors, as applicable.