org.apache.poi.ss.formula.functions
Class IfFunc
java.lang.Object
  
org.apache.poi.ss.formula.functions.IfFunc
- All Implemented Interfaces: 
 - Function, Function2Arg, Function3Arg
 
public final class IfFunc
- extends java.lang.Object
 
Implementation for the Excel function IF
 
 Note that Excel is a bit picky about the arguments to this function,
  when serialised into Ptgs in a HSSF file. While most cases are
  pretty chilled about the R vs V state of RefPtg arguments,
  for IF special care is needed to avoid Excel showing #VALUE.
 See bug numbers #55324 and #55747 for the full details on this.
 TODO Fix this...
 
| 
Method Summary | 
 ValueEval | 
evaluate(int srcRowIndex,
         int srcColumnIndex,
         ValueEval arg0,
         ValueEval arg1)
 
          see Function.evaluate(ValueEval[], int, int) | 
 ValueEval | 
evaluate(int srcRowIndex,
         int srcColumnIndex,
         ValueEval arg0,
         ValueEval arg1,
         ValueEval arg2)
 
          see Function.evaluate(ValueEval[], int, int) | 
 ValueEval | 
evaluate(ValueEval[] args,
         int srcRowIndex,
         int srcColumnIndex)
 
            | 
static boolean | 
evaluateFirstArg(ValueEval arg,
                 int srcCellRow,
                 int srcCellCol)
 
            | 
 
| Methods inherited from class java.lang.Object | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
IfFunc
public IfFunc()
evaluate
public ValueEval evaluate(int srcRowIndex,
                          int srcColumnIndex,
                          ValueEval arg0,
                          ValueEval arg1)
- Description copied from interface: 
Function2Arg 
- see 
Function.evaluate(ValueEval[], int, int)
 
 
evaluate
public ValueEval evaluate(int srcRowIndex,
                          int srcColumnIndex,
                          ValueEval arg0,
                          ValueEval arg1,
                          ValueEval arg2)
- Description copied from interface: 
Function3Arg 
- see 
Function.evaluate(ValueEval[], int, int)
 
 
evaluateFirstArg
public static boolean evaluateFirstArg(ValueEval arg,
                                       int srcCellRow,
                                       int srcCellCol)
                                throws EvaluationException
- Throws:
 EvaluationException
 
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 evaluationsrcColumnIndex - 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.