org.apache.poi.hssf.record.formula.functions
Class MultiOperandNumericFunction

java.lang.Object
  extended by org.apache.poi.hssf.record.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

Constructor Summary
protected MultiOperandNumericFunction(boolean isReferenceBoolCounted, boolean isBlankCounted)
           
 
Method Summary
protected abstract  double evaluate(double[] values)
           
 Eval evaluate(Eval[] args, int srcCellRow, short srcCellCol)
           
protected  int getMaxNumOperands()
          Maximum number of operands accepted by this function.
protected  double[] getNumberArray(Eval[] operands)
          Returns a double array that contains values for the numeric cells from among the list of operands.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultiOperandNumericFunction

protected MultiOperandNumericFunction(boolean isReferenceBoolCounted,
                                      boolean isBlankCounted)
Method Detail

evaluate

public final Eval evaluate(Eval[] args,
                           int srcCellRow,
                           short srcCellCol)
Specified by:
evaluate in interface Function

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(Eval[] 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


Copyright 2008 The Apache Software Foundation or its licensors, as applicable.