RhinoFunctionModel (FreeMarker 2.3.23 API)
Date: 2015-07-05

freemarker.ext.rhino

## Class RhinoFunctionModel

- java.lang.Object
- - freemarker.ext.rhino.RhinoScriptableModel
  - - freemarker.ext.rhino.RhinoFunctionModel

- All Implemented Interfaces:
    AdapterTemplateModel, TemplateBooleanModel, TemplateHashModel, TemplateHashModelEx, TemplateMethodModel, TemplateMethodModelEx, TemplateModel, TemplateNumberModel, TemplateScalarModel, TemplateSequenceModel

      public class RhinoFunctionModel
      extends RhinoScriptableModel
      implements TemplateMethodModelEx

- - ### Field Summary

    - ### Fields inherited from interface freemarker.template.TemplateModel

      `NOTHING`

    - ### Fields inherited from interface freemarker.template.TemplateScalarModel

      `EMPTY_STRING`

    - ### Fields inherited from interface freemarker.template.TemplateBooleanModel

      `FALSE, TRUE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RhinoFunctionModel(org.mozilla.javascript.Function function, org.mozilla.javascript.Scriptable fnThis, BeansWrapper wrapper)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `exec(List arguments)` Executes the method call.

    - ### Methods inherited from class freemarker.ext.rhino.RhinoScriptableModel

      `get, get, getAdaptedObject, getAsBoolean, getAsNumber, getAsString, isEmpty, keys, size, values`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### RhinoFunctionModel

          public RhinoFunctionModel(org.mozilla.javascript.Function function,
                                    org.mozilla.javascript.Scriptable fnThis,
                                    BeansWrapper wrapper)

  - ### Method Detail

    - #### exec

          public Object exec(List arguments)
                      throws TemplateModelException

      Description copied from interface: `TemplateMethodModelEx`
      Executes the method call.
      Specified by:
        `exec` in interface `TemplateMethodModel`
      Specified by:
        `exec` in interface `TemplateMethodModelEx`
      Parameters:
        `arguments` - a `List` of `TemplateModel`-s, containing the arguments passed to the method. If the implementation absolutely wants to operate on POJOs, it can use the static utility methods in the `DeepUnwrap` class to easily obtain them. However, unwrapping is not always possible (or not perfectly), and isn't always efficient, so it's recommended to use the original `TemplateModel` value as much as possible.
      Returns:
        the return value of the method, or `null`. If the returned value does not implement `TemplateModel`, it will be automatically wrapped using the `environment's object wrapper`.
      Throws:
        `TemplateModelException`