Package org.pentaho.reporting.libraries.formula.function

## Interface Function

- All Superinterfaces:
    `java.io.Serializable`
  All Known Implementing Classes:
    `AbsFunction`, `AcosFunction`, `AcoshFunction`, `AndFunction`, `AsinFunction`, `Atan2Function`, `AtanFunction`, `AverageAFunction`, `AverageFunction`, `ChooseFunction`, `CosFunction`, `CountAFunction`, `CountBlankFunction`, `CountFunction`, `CsvArrayFunction`, `CsvTextFunction`, `DateDifFunction`, `DateFunction`, `DateValueFunction`, `DayFunction`, `DaysFunction`, `EvenFunction`, `ExactFunction`, `ExpFunction`, `FalseFunction`, `FindFunction`, `HasChangedFunction`, `HourFunction`, `IfFunction`, `IfNaFunction`, `IndexFunction`, `IntFunction`, `IsBlankFunction`, `IsErrFunction`, `IsErrorFunction`, `IsEvenFunction`, `IsLogicalFunction`, `IsNaFunction`, `IsNonTextFunction`, `IsNumberFunction`, `IsOddFunction`, `IsRefFunction`, `IsTextFunction`, `LeftFunction`, `LenFunction`, `LnFunction`, `Log10Function`, `LogFunction`, `LowerFunction`, `MaxAFunction`, `MaxFunction`, `MessageFunction`, `MidFunction`, `MinAFunction`, `MinFunction`, `MinuteFunction`, `ModFunction`, `MonthFunction`, `NaFunction`, `NormalizeArrayFunction`, `NotFunction`, `NowFunction`, `NullFunction`, `OddFunction`, `OrFunction`, `ParseDateFunction`, `PiFunction`, `PowerFunction`, `ReplaceFunction`, `ReptFunction`, `RightFunction`, `SecondFunction`, `SinFunction`, `SqrtFunction`, `SubstituteFunction`, `SumAFunction`, `SumFunction`, `TextFunction`, `TFunction`, `TimeFunction`, `TimeValueFunction`, `TodayFunction`, `TrimFunction`, `TrueFunction`, `UnicharFunction`, `UnicodeFunction`, `UpperFunction`, `URLEncodeFunction`, `ValueFunction`, `VarFunction`, `WeekDayFunction`, `XorFunction`, `YearFunction`

      public interface Function
      extends java.io.Serializable

  A function is an arbitary computation. A return value type is not available unless the function has been evaluated. Functions must be stateless, that means: Calling the same function with exactly the same parameters must always result in the same computed value.
  Author:
    Thomas Morgner

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `TypeValuePair` | `evaluate​(FormulaContext context, ParameterCallback parameters)` |
    `java.lang.String` | `getCanonicalName()` |

- - ### Method Detail

    - #### getCanonicalName

          java.lang.String getCanonicalName()

    - #### evaluate

          TypeValuePair evaluate​(FormulaContext context,
                                 ParameterCallback parameters)
                          throws EvaluationException

      Throws:
        `EvaluationException`