Package net.sf.saxon.expr.instruct

## Class OriginalFunction

- java.lang.Object
- - net.sf.saxon.functions.AbstractFunction
  - - net.sf.saxon.expr.instruct.OriginalFunction

- All Implemented Interfaces:
    `Callable`, `ContextOriginator`, `Function`, `GroundedValue`, `Item`, `Sequence`

      public class OriginalFunction
      extends AbstractFunction
      implements Function, ContextOriginator

  This class represents a function invoked using xsl:original from within an xs:override element.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `OriginalFunction​(Component component)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Sequence` | `call​(XPathContext context, Sequence[] args)` | Invoke the function
    `void` | `export​(ExpressionPresenter out)` | Output information about this function item to the diagnostic explain() output
    `int` | `getArity()` | Get the arity of the function
    `Component` | `getComponent()` |
    `java.lang.String` | `getContainingPackageName()` | Get the name of the package containing the function
    `java.lang.String` | `getDescription()` | Get a description of this function for use in error messages.
    `FunctionItemType` | `getFunctionItemType()` | Get the item type of the function item
    `StructuredQName` | `getFunctionName()` | Get the name of the function, or null if it is anonymous

    - ### Methods inherited from class net.sf.saxon.functions.AbstractFunction

      `atomize, deepEquals, effectiveBooleanValue, getAnnotations, getOperandRoles, getStringValue, getStringValueCS, isArray, isMap, isTrustedResultType, makeNewContext, simplify, typeCheck`

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

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

    - ### Methods inherited from interface net.sf.saxon.om.Function

      `deepEquals, getAnnotations, getGenre, getOperandRoles, isArray, isMap, isTrustedResultType, makeNewContext, toShortString`

    - ### Methods inherited from interface net.sf.saxon.om.GroundedValue

      `asIterable, concatenate, containsNode, effectiveBooleanValue, materialize`

    - ### Methods inherited from interface net.sf.saxon.om.Item

      `atomize, getLength, getStringValue, getStringValueCS, head, isStreamed, itemAt, iterate, reduce, subsequence`

    - ### Methods inherited from interface net.sf.saxon.om.Sequence

      `makeRepeatable`

- - ### Constructor Detail

    - #### OriginalFunction

          public OriginalFunction​(Component component)

  - ### Method Detail

    - #### call

          public Sequence call​(XPathContext context,
                               Sequence[] args)
                        throws XPathException

      Invoke the function
      Specified by:
        `call` in interface `Callable`
      Specified by:
        `call` in interface `Function`
      Parameters:
        `context` - the XPath dynamic evaluation context
        `args` - the actual arguments to be supplied
      Returns:
        the result of invoking the function
      Throws:
        `XPathException` - if a dynamic error occurs within the function

    - #### getFunctionItemType

          public FunctionItemType getFunctionItemType()

      Get the item type of the function item
      Specified by:
        `getFunctionItemType` in interface `Function`
      Returns:
        the function item's type

    - #### getFunctionName

          public StructuredQName getFunctionName()

      Get the name of the function, or null if it is anonymous
      Specified by:
        `getFunctionName` in interface `Function`
      Returns:
        the function name, or null for an anonymous inline function

    - #### getArity

          public int getArity()

      Get the arity of the function
      Specified by:
        `getArity` in interface `Function`
      Returns:
        the number of arguments in the function signature

    - #### getDescription

          public java.lang.String getDescription()

      Get a description of this function for use in error messages. For named functions, the description is the function name (as a lexical QName). For others, it might be, for example, "inline function", or "partially-applied ends-with function".
      Specified by:
        `getDescription` in interface `Function`
      Returns:
        a description of the function for use in error messages

    - #### getContainingPackageName

          public java.lang.String getContainingPackageName()

      Get the name of the package containing the function

    - #### getComponent

          public Component getComponent()

    - #### export

          public void export​(ExpressionPresenter out)
                      throws XPathException

      Description copied from class: `AbstractFunction`
      Output information about this function item to the diagnostic explain() output
      Specified by:
        `export` in interface `Function`
      Overrides:
        `export` in class `AbstractFunction`
      Throws:
        `XPathException`