KeyManager
Date: 2016-07-03

com.icl.saxon

## Class KeyManager

- java.lang.Object
- - com.icl.saxon.KeyManager

-     public class KeyManager
      extends java.lang.Object

  KeyManager manages the set of key definitions in a stylesheet, and the indexes associated with these key definitions

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `KeyManager()` create a KeyManager and initialise variables

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Vector` | `getKeyDefinitions(int fingerprint)` Get all the key definitions that match a particular fingerprint
    `NodeEnumeration` | `selectByKey(int fingerprint, DocumentInfo doc, java.lang.String value, Controller controller)` Get the nodes with a given key value
    `void` | `setKeyDefinition(KeyDefinition keydef)` Register a key definition.

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

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

- - ### Constructor Detail

    - #### KeyManager

          public KeyManager()

      create a KeyManager and initialise variables

  - ### Method Detail

    - #### setKeyDefinition

          public void setKeyDefinition(KeyDefinition keydef)

      Register a key definition. Note that multiple key definitions with the same name are allowed
      Parameters:
        `keyDefinition` - The details of the key's definition

    - #### getKeyDefinitions

          public java.util.Vector getKeyDefinitions(int fingerprint)

      Get all the key definitions that match a particular fingerprint
      Parameters:
        `fingerprint` - The fingerprint of the name of the required key
      Returns:
        The key definition of the named key if there is one, or null otherwise.

    - #### selectByKey

          public NodeEnumeration selectByKey(int fingerprint,
                                    DocumentInfo doc,
                                    java.lang.String value,
                                    Controller controller)
                                      throws XPathException

      Get the nodes with a given key value
      Parameters:
        `fingerprint` - The fingerprint of the name of the required key
        `doc` - The source document in question
        `value` - The required key value
        `controller` - The controller, needed only the first time when the key is being built
      Returns:
        an enumeration of nodes, always in document order
      Throws:
        `XPathException`