Package net.sf.saxon.expr.instruct

## Class ParameterSet

- java.lang.Object
- - net.sf.saxon.expr.instruct.ParameterSet

-     public class ParameterSet
      extends java.lang.Object

  A ParameterSet is a set of parameters supplied when calling a template. It is a collection of name-value pairs. (Use of numeric IDs dropped in 9.6 to support separate compilation of packages)

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static ParameterSet` | `EMPTY_PARAMETER_SET` |
    `static int` | `NOT_SUPPLIED` |
    `static int` | `SUPPLIED` |
    `static int` | `SUPPLIED_AND_CHECKED` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ParameterSet()` | Create an empty parameter set
    `ParameterSet​(int capacity)` | Create a parameter set specifying the initial capacity
    `ParameterSet​(java.util.Map<StructuredQName,​Sequence> map)` | Create a parameter set from a name/value map
    `ParameterSet​(ParameterSet existing, int extra)` | Create a parameter set as a copy of an existing parameter set

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `clear()` | Clear all values
    `int` | `getIndex​(StructuredQName id)` | Get the index position of a parameter
    `StructuredQName[]` | `getParameterNames()` | Get the set of key names
    `Sequence` | `getValue​(int index)` | Get the value of the parameter at a given index
    `boolean` | `isTypeChecked​(int index)` | Determine whether the parameter at a given index has been type-checked
    `void` | `materializeValues()` | If any values are non-memo closures, expand them
    `void` | `put​(StructuredQName id, Sequence value, boolean checked)` | Add a parameter to the ParameterSet
    `int` | `size()` | Get the number of parameters in the parameter set

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

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

- - ### Field Detail

    - #### EMPTY_PARAMETER_SET

          public static ParameterSet EMPTY_PARAMETER_SET

    - #### NOT_SUPPLIED

          public static final int NOT_SUPPLIED

      See Also:
        Constant Field Values

    - #### SUPPLIED

          public static final int SUPPLIED

      See Also:
        Constant Field Values

    - #### SUPPLIED_AND_CHECKED

          public static final int SUPPLIED_AND_CHECKED

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ParameterSet

          public ParameterSet()

      Create an empty parameter set

    - #### ParameterSet

          public ParameterSet​(int capacity)

      Create a parameter set specifying the initial capacity
      Parameters:
        `capacity` - the nominal number of entries in the parameter set

    - #### ParameterSet

          public ParameterSet​(java.util.Map<StructuredQName,​Sequence> map)

      Create a parameter set from a name/value map
      Parameters:
        `map` - the supplied map

    - #### ParameterSet

          public ParameterSet​(ParameterSet existing,
                              int extra)

      Create a parameter set as a copy of an existing parameter set
      Parameters:
        `existing` - the parameter set to be copied
        `extra` - the space to be allocated for additional entries

  - ### Method Detail

    - #### size

          public int size()

      Get the number of parameters in the parameter set
      Returns:
        the number of parameters

    - #### put

          public void put​(StructuredQName id,
                          Sequence value,
                          boolean checked)

      Add a parameter to the ParameterSet
      Parameters:
        `id` - The parameter id, representing its name.
        `value` - The value of the parameter
        `checked` - True if the caller has done static type checking against the required type

    - #### getParameterNames

          public StructuredQName[] getParameterNames()

      Get the set of key names
      Returns:
        the key names

    - #### getIndex

          public int getIndex​(StructuredQName id)

      Get the index position of a parameter
      Parameters:
        `id` - The numeric parameter id, representing its name.
      Returns:
        The index position of the parameter, or -1 if not defined

    - #### getValue

          public Sequence getValue​(int index)

      Get the value of the parameter at a given index
      Parameters:
        `index` - the position of the entry required
      Returns:
        the value of the parameter at that position

    - #### isTypeChecked

          public boolean isTypeChecked​(int index)

      Determine whether the parameter at a given index has been type-checked
      Parameters:
        `index` - the position of the entry required
      Returns:
        true if the parameter at that position has been type-checked

    - #### clear

          public void clear()

      Clear all values

    - #### materializeValues

          public void materializeValues()
                                 throws XPathException

      If any values are non-memo closures, expand them
      Throws:
        `XPathException` - if an error occurs evaluating any closures