com.ihr.xbrl.om.formula.functions.custom

## Class RecursiveFunctionCall

- java.lang.Object
- - net.sf.saxon.expr.Expression
  - - net.sf.saxon.expr.FunctionCall
    - - com.ihr.xbrl.om.formula.functions.custom.RecursiveFunctionCall

- All Implemented Interfaces:
    java.io.Serializable, javax.xml.transform.SourceLocator, net.sf.saxon.event.LocationProvider, net.sf.saxon.event.SaxonLocator, net.sf.saxon.trace.InstructionInfo, org.xml.sax.Locator
  Direct Known Subclasses:
    XBRLCustomFunctionImplementationFunction

      public abstract class RecursiveFunctionCall
      extends net.sf.saxon.expr.FunctionCall

  The Class RecursiveFunctionCall. Abstract class to support recursive function calls. This is a function call that can call itself recursivelly. This is a requirement for some financial functions that has been implemented using recursion for simplicity on the function definition side.
  Author:
    Ignacio
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class net.sf.saxon.expr.Expression

      `EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, PUSH_SELECTION, UNBOUNDED_LOWER, UNBOUNDED_UPPER, WATCH_METHOD`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RecursiveFunctionCall()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract RecursiveFunctionCall` | `copy()`
    `abstract RecursiveFunctionCall` | `newInstance(net.sf.saxon.expr.StaticContext env, net.sf.saxon.expr.Container container)` New instance.

    - ### Methods inherited from class net.sf.saxon.expr.FunctionCall

      `addExternalFunctionCallToPathMap, equals, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, optimize, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionName, simplify, toString, typeCheck`

    - ### Methods inherited from class net.sf.saxon.expr.Expression

      `addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, effectiveBooleanValue, evaluateAsString, evaluateItem, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getImplementationMethod, getIntegerBounds, getIntrinsicDependencies, getItemType, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterate, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation`

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

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### RecursiveFunctionCall

          public RecursiveFunctionCall()

  - ### Method Detail

    - #### newInstance

          public abstract RecursiveFunctionCall newInstance(net.sf.saxon.expr.StaticContext env,
                                          net.sf.saxon.expr.Container container)
                                                     throws net.sf.saxon.trans.XPathException

      New instance.
      Parameters:
        `env` - the env
        `container` - the container
      Returns:
        the recursive function call
      Throws:
        `net.sf.saxon.trans.XPathException` - the x path exception

    - #### copy

          public abstract RecursiveFunctionCall copy()

      Specified by:
        `copy` in class `net.sf.saxon.expr.Expression`