org.apache.poi.ss.formula.functions
Class DStarRunner

java.lang.Object
  extended by org.apache.poi.ss.formula.functions.DStarRunner
All Implemented Interfaces:
Function, Function3Arg

public final class DStarRunner
extends java.lang.Object
implements Function3Arg

This class performs a D* calculation. It takes an IDStarAlgorithm object and uses it for calculating the result value. Iterating a database and checking the entries against the set of conditions is done here. TODO: - wildcards ? and * in string conditions - functions as conditions


Nested Class Summary
static class DStarRunner.DStarAlgorithmEnum
           
 
Constructor Summary
DStarRunner(DStarRunner.DStarAlgorithmEnum algorithm)
           
 
Method Summary
 ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval database, ValueEval filterColumn, ValueEval conditionDatabase)
          see Function.evaluate(ValueEval[], int, int)
 ValueEval evaluate(ValueEval[] args, int srcRowIndex, int srcColumnIndex)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DStarRunner

public DStarRunner(DStarRunner.DStarAlgorithmEnum algorithm)
Method Detail

evaluate

public final ValueEval evaluate(ValueEval[] args,
                                int srcRowIndex,
                                int srcColumnIndex)
Specified by:
evaluate in interface Function
Parameters:
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 evaluation
srcColumnIndex - 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

public ValueEval evaluate(int srcRowIndex,
                          int srcColumnIndex,
                          ValueEval database,
                          ValueEval filterColumn,
                          ValueEval conditionDatabase)
Description copied from interface: Function3Arg
see Function.evaluate(ValueEval[], int, int)

Specified by:
evaluate in interface Function3Arg