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

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

public abstract class BooleanFunction
extends java.lang.Object
implements Function

Here are the general rules concerning Boolean functions:

  1. Blanks are ignored (not either true or false)
  2. Strings are ignored if part of an area ref or cell ref, otherwise they must be 'true' or 'false'
  3. Numbers: 0 is false. Any other number is TRUE
  4. Areas: *all* cells in area are evaluated according to the above rules


Field Summary
static Function AND
           
static Function FALSE
           
static Function NOT
           
static Function OR
           
static Function TRUE
           
 
Constructor Summary
BooleanFunction()
           
 
Method Summary
 ValueEval evaluate(ValueEval[] args, int srcRow, int srcCol)
           
protected abstract  boolean getInitialResultValue()
           
protected abstract  boolean partialEvaluate(boolean cumulativeResult, boolean currentValue)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

AND

public static final Function AND

OR

public static final Function OR

FALSE

public static final Function FALSE

TRUE

public static final Function TRUE

NOT

public static final Function NOT
Constructor Detail

BooleanFunction

public BooleanFunction()
Method Detail

evaluate

public final ValueEval evaluate(ValueEval[] args,
                                int srcRow,
                                int srcCol)
Specified by:
evaluate in interface Function
Parameters:
args - the evaluated function arguments. Empty values are represented with BlankEval or MissingArgEval, never null.
srcRow - row index of the cell containing the formula under evaluation
srcCol - 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.

getInitialResultValue

protected abstract boolean getInitialResultValue()

partialEvaluate

protected abstract boolean partialEvaluate(boolean cumulativeResult,
                                           boolean currentValue)