Package net.sf.saxon.ma.arrays

## Class ArrayFunctionSet

- java.lang.Object
- - net.sf.saxon.functions.registry.BuiltInFunctionSet
  - - net.sf.saxon.ma.arrays.ArrayFunctionSet

- All Implemented Interfaces:
    `FunctionLibrary`

      public class ArrayFunctionSet
      extends BuiltInFunctionSet

  Function signatures (and pointers to implementations) of the functions defined in XPath 2.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `ArrayFunctionSet.ArrayAppend` | Implementation of the function array:append(array, item()*) => array
    `static class` | `ArrayFunctionSet.ArrayFilter` | Implementation of the function array:filter(array, function) => array
    `static class` | `ArrayFunctionSet.ArrayFlatten` | Implementation of the function array:flatten => item()*
    `static class` | `ArrayFunctionSet.ArrayFoldLeft` | Implementation of the function array:fold-left(array, item()*, function) => array
    `static class` | `ArrayFunctionSet.ArrayFoldRight` | Implementation of the function array:fold-left(array, item()*, function) => array
    `static class` | `ArrayFunctionSet.ArrayForEach` | Implementation of the function array:for-each(array, function) => array
    `static class` | `ArrayFunctionSet.ArrayForEachPair` | Implementation of the function array:for-each-pair(array, array, function) => array
    `static class` | `ArrayFunctionSet.ArrayFromSequence` | Implementation of the function array:_from-sequence(item()*) => array(*) which is used internally for the implementation of array{} and of the saxon:array extension
    `static class` | `ArrayFunctionSet.ArrayGet` | Implementation of the function array:get(array, xs:integer) => item()*
    `static class` | `ArrayFunctionSet.ArrayHead` | Implementation of the function array:head(array) => item()*
    `static class` | `ArrayFunctionSet.ArrayInsertBefore` | Implementation of the function array:insert-before(array, xs:integer, item()*) => array
    `static class` | `ArrayFunctionSet.ArrayJoin` | Implementation of the function array:join(arrays) => array
    `static class` | `ArrayFunctionSet.ArrayPut` | Implementation of the function array:put(arrays, index, newValue) => array
    `static class` | `ArrayFunctionSet.ArrayRemove` | Implementation of the function array:remove(array, xs:integer) => array
    `static class` | `ArrayFunctionSet.ArrayReverse` | Implementation of the function array:reverse(array, xs:integer, xs:integer) => array
    `static class` | `ArrayFunctionSet.ArraySize` | Implementation of the function array:size(array) => integer
    `static class` | `ArrayFunctionSet.ArraySubarray` | Implementation of the function array:subarray(array, xs:integer, xs:integer) => array
    `static class` | `ArrayFunctionSet.ArrayTail` | Implementation of the function array:tail(array) => item()*
    `static class` | `ArrayFunctionSet.ArrayToSequence` | Implementation of the function array:_to-sequence(array) => item()* which is used internally for the implementation of array?*

    - ### Nested classes/interfaces inherited from class net.sf.saxon.functions.registry.BuiltInFunctionSet

      `BuiltInFunctionSet.Entry`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static ArrayFunctionSet` | `THE_INSTANCE` |

    - ### Fields inherited from class net.sf.saxon.functions.registry.BuiltInFunctionSet

      `ABS, AS_ARG0, AS_PRIM_ARG0, BASE, CARD0, CDOC, CITEM, DCOLL, DEPENDS_ON_STATIC_CONTEXT, DLANG, EMPTY, FILTER, FOCUS, INS, LAST, LATE, NAV, NEW, NS, ONE, OPT, PLUS, POSN, SIDE, STAR, TRA, UO`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ArrayFunctionSet()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static int` | `checkSubscript​(IntegerValue subscript, int limit)` | Check that a number proposed for use as a subscript is greater than zero and less than the maximum subscript allowed by the implementation (2^31-1), returning the value as a Java int
    `java.lang.String` | `getConventionalPrefix()` | Return a conventional prefix for use with this namespace, typically the prefix used in the documentation of these functions.
    `static ArrayFunctionSet` | `getInstance()` |
    `java.lang.String` | `getNamespace()` | Return the namespace URI for the functions local to this function set.

    - ### Methods inherited from class net.sf.saxon.functions.registry.BuiltInFunctionSet

      `bind, copy, getFunctionDetails, getFunctionItem, importFunctionSet, isAvailable, makeFunction, register, registerReducedArityVariants`

    - ### 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.functions.FunctionLibrary

      `setConfiguration`

- - ### Field Detail

    - #### THE_INSTANCE

          public static ArrayFunctionSet THE_INSTANCE

  - ### Constructor Detail

    - #### ArrayFunctionSet

          public ArrayFunctionSet()

  - ### Method Detail

    - #### getInstance

          public static ArrayFunctionSet getInstance()

    - #### getNamespace

          public java.lang.String getNamespace()

      Description copied from class: `BuiltInFunctionSet`
      Return the namespace URI for the functions local to this function set.
      Overrides:
        `getNamespace` in class `BuiltInFunctionSet`
      Returns:
        the namespace URI of the functions local to this function set. Note that functions imported from another function set may have a different namespace URI.

    - #### getConventionalPrefix

          public java.lang.String getConventionalPrefix()

      Description copied from class: `BuiltInFunctionSet`
      Return a conventional prefix for use with this namespace, typically the prefix used in the documentation of these functions.
      Overrides:
        `getConventionalPrefix` in class `BuiltInFunctionSet`

    - #### checkSubscript

          public static int checkSubscript​(IntegerValue subscript,
                                           int limit)
                                    throws XPathException

      Check that a number proposed for use as a subscript is greater than zero and less than the maximum subscript allowed by the implementation (2^31-1), returning the value as a Java int
      Parameters:
        `subscript` - the proposed subscript (one-based)
        `limit` - the upper limit allowed (usually the size of the array, sometimes arraysize + 1)
      Returns:
        the proposed subscript as an int, if it is in range (still one-based)
      Throws:
        `XPathException` - if the subscript is 0, negative, or outside the permitted range