com.saxonica.functions.extfn

## Class GeneralFilterFunction.GeneralFilterFunctionCall

- java.lang.Object
- - net.sf.saxon.lib.ExtensionFunctionCall
  - - com.saxonica.functions.extfn.GeneralFilterFunction.GeneralFilterFunctionCall

- All Implemented Interfaces:
    Serializable, Callable
  Direct Known Subclasses:
    HighestOrLowest
  Enclosing class:
    GeneralFilterFunction

      public abstract static class GeneralFilterFunction.GeneralFilterFunctionCall
      extends ExtensionFunctionCall

  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected FunctionItem` | `atomizer`
    `protected String` | `defaultCollation`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GeneralFilterFunction.GeneralFilterFunctionCall()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `copyLocalData(ExtensionFunctionCall destination)` Copy local data from one copy of the function to another.
    `void` | `supplyStaticContext(StaticContext env, int locationId, Expression[] arguments)` Supply static context information.

    - ### Methods inherited from class net.sf.saxon.lib.ExtensionFunctionCall

      `call, effectiveBooleanValue, getContainer, getDefinition, getExecutable, rewrite, setDefinition`

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

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

- - ### Field Detail

    - #### defaultCollation

          protected String defaultCollation

    - #### atomizer

          protected FunctionItem atomizer

  - ### Constructor Detail

    - #### GeneralFilterFunction.GeneralFilterFunctionCall

          public GeneralFilterFunction.GeneralFilterFunctionCall()

  - ### Method Detail

    - #### supplyStaticContext

          public void supplyStaticContext(StaticContext env,
                                 int locationId,
                                 Expression[] arguments)
                                   throws XPathException

      Supply static context information.

      This method is called during compilation to provide information about the static context in which the function call appears. If the implementation of the function needs information from the static context, then it should save it now, as it will not be available later at run-time.

      The implementation also has the opportunity to examine the expressions that appear in the arguments to the function call at this stage. These might already have been modified from the original expressions as written by the user. The implementation should not modify any of these expressions.

      The default implementation of this method does nothing.

      Overrides:
        `supplyStaticContext` in class `ExtensionFunctionCall`
      Parameters:
        `env` - The static context in which the function call appears. The method must not modify the static context.
        `locationId` - An integer code representing the location of the call to the extension function in the stylesheet; can be used in conjunction with the locationMap held in the static context for diagnostics
        `arguments` - The XPath expressions supplied in the call to this function. The method must not modify this array, or any of the expressions contained in the array.
      Throws:
        `XPathException` - if the implementation is able to detect a static error in the way the function is being called (for example it might require that the types of the arguments are consistent with each other).

    - #### copyLocalData

          public void copyLocalData(ExtensionFunctionCall destination)

      Copy local data from one copy of the function to another. This method must be implemented in any implementation that maintains local data retained from the static context; the job of the method is to copy this local data to the supplied destination function.
      Overrides:
        `copyLocalData` in class `ExtensionFunctionCall`
      Parameters:
        `destination` - the function to which the local data must be copied. This will always be an instance of the same function class as the source function.

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.