## org.apache.poi.ss.formula.functions
Class FinanceFunction

    java.lang.Object
      org.apache.poi.ss.formula.functions.FinanceFunction

All Implemented Interfaces:
  Function, Function3Arg, Function4Arg

    public abstract class FinanceFunction

extends java.lang.Object
implements Function3Arg, Function4Arg

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

Field Summary
`static Function` `FV`
`static Function` `NPER`
`static Function` `PMT`
`static Function` `PV`

Constructor Summary
`protected` `FinanceFunction()`

Method Summary
`protected double` `evaluate(double[] ds)`
`protected abstract double` `evaluate(double rate, double arg1, double arg2, double arg3, boolean type)`
`ValueEval` `evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1, ValueEval arg2)` see `Function.evaluate(ValueEval[], int, int)`
`ValueEval` `evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1, ValueEval arg2, ValueEval arg3)` see `Function.evaluate(ValueEval[], int, int)`
`ValueEval` `evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1, ValueEval arg2, ValueEval arg3, ValueEval arg4)`
`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`

Field Detail

### FV

    public static final Function FV

### NPER

    public static final Function NPER

### PMT

    public static final Function PMT

### PV

    public static final Function PV

Constructor Detail

### FinanceFunction

    protected FinanceFunction()

Method Detail

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

  Specified by:
    `evaluate` in interface `Function3Arg`

### evaluate

    public ValueEval evaluate(int srcRowIndex,
                              int srcColumnIndex,
                              ValueEval arg0,
                              ValueEval arg1,
                              ValueEval arg2,
                              ValueEval arg3)

  Description copied from interface: `Function4Arg`
  see `Function.evaluate(ValueEval[], int, int)`

  Specified by:
    `evaluate` in interface `Function4Arg`

### evaluate

    public ValueEval evaluate(int srcRowIndex,
                              int srcColumnIndex,
                              ValueEval arg0,
                              ValueEval arg1,
                              ValueEval arg2,
                              ValueEval arg3,
                              ValueEval arg4)

### evaluate

    public 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

    protected double evaluate(double[] ds)
                       throws EvaluationException

  Throws:
    `EvaluationException`

### evaluate

    protected abstract double evaluate(double rate,
                                       double arg1,
                                       double arg2,
                                       double arg3,
                                       boolean type)
                                throws EvaluationException

  Throws:
    `EvaluationException`

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