## 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

Author:
  Amol S. Deshmukh < amolweb at ya hoo dot com >

Constructor Summary
`IfFunc()`

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`

Constructor Detail

### IfFunc

    public IfFunc()

Method Detail

### 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 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`.

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