DOMValidateContext (Java SE 12 & JDK 12 )
Keywords: javax.xml.crypto.dsig.dom.DOMValidateContext class

Module java.xml.crypto
Package javax.xml.crypto.dsig.dom

## Class DOMValidateContext

- java.lang.Object
- - javax.xml.crypto.dom.DOMCryptoContext
  - - javax.xml.crypto.dsig.dom.DOMValidateContext

- All Implemented Interfaces:
    `XMLValidateContext`, `XMLCryptoContext`

      public class DOMValidateContext
      extends DOMCryptoContext
      implements XMLValidateContext

  A DOM-specific `XMLValidateContext`. This class contains additional methods to specify the location in a DOM tree where an `XMLSignature` is to be unmarshalled and validated from.

  Note that the behavior of an unmarshalled `XMLSignature` is undefined if the contents of the underlying DOM tree are modified by the caller after the `XMLSignature` is created.

  Also, note that `DOMValidateContext` instances can contain information and state specific to the XML signature structure it is used with. The results are unpredictable if a `DOMValidateContext` is used with different signature structures (for example, you should not use the same `DOMValidateContext` instance to validate two different `XMLSignature` objects).

  Since:
    1.6
  See Also:
    `XMLSignatureFactory.unmarshalXMLSignature(XMLValidateContext)`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DOMValidateContext​(Key validatingKey, Node node)` | Creates a `DOMValidateContext` containing the specified key and node.
    `DOMValidateContext​(KeySelector ks, Node node)` | Creates a `DOMValidateContext` containing the specified key selector and node.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `Node` | `getNode()` | Returns the node.
    `void` | `setNode​(Node node)` | Sets the node.

    - ### Methods declared in class javax.xml.crypto.dom.DOMCryptoContext

      `get, getElementById, getNamespacePrefix, getProperty, iterator, put, putNamespacePrefix, setBaseURI, setIdAttributeNS, setProperty`

    - ### Methods declared in class java.lang.Object

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

    - ### Methods declared in interface javax.xml.crypto.XMLCryptoContext

      `get, getBaseURI, getDefaultNamespacePrefix, getKeySelector, getNamespacePrefix, getProperty, getURIDereferencer, put, putNamespacePrefix, setBaseURI, setDefaultNamespacePrefix, setKeySelector, setProperty, setURIDereferencer`

- - ### Constructor Detail

    - #### DOMValidateContext

          public DOMValidateContext​(KeySelector ks,
                                    Node node)

      Creates a `DOMValidateContext` containing the specified key selector and node.
      Parameters:
        `ks` - a key selector for finding a validation key
        `node` - the node
      Throws:
        `NullPointerException` - if `ks` or `node` is `null`

    - #### DOMValidateContext

          public DOMValidateContext​(Key validatingKey,
                                    Node node)

      Creates a `DOMValidateContext` containing the specified key and node. The validating key will be stored in a `singleton KeySelector` that is returned when the `getKeySelector` method is called.
      Parameters:
        `validatingKey` - the validating key
        `node` - the node
      Throws:
        `NullPointerException` - if `validatingKey` or `node` is `null`

  - ### Method Detail

    - #### setNode

          public void setNode​(Node node)

      Sets the node.
      Parameters:
        `node` - the node
      Throws:
        `NullPointerException` - if `node` is `null`
      See Also:
        `getNode()`

    - #### getNode

          public Node getNode()

      Returns the node.
      Returns:
        the node (never `null`)
      See Also:
        `setNode(Node)`