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

# Class DOMSignContext

java.lang.Object
javax.xml.crypto.dom.DOMCryptoContext
javax.xml.crypto.dsig.dom.DOMSignContext

All Implemented Interfaces:
  `XMLSignContext`, `XMLCryptoContext`

public class DOMSignContext extends DOMCryptoContext implements XMLSignContext
A DOM-specific `XMLSignContext`. This class contains additional methods to specify the location in a DOM tree where an `XMLSignature` object is to be marshalled when generating the signature.

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

Since:
  1.6

## Constructor Summary

Constructors
Constructor
Description
`DOMSignContext(Key signingKey, Node parent)`
Creates a `DOMSignContext` with the specified signing key and parent node.
`DOMSignContext(Key signingKey, Node parent, Node nextSibling)`
Creates a `DOMSignContext` with the specified signing key, parent and next sibling nodes.
`DOMSignContext(KeySelector ks, Node parent)`
Creates a `DOMSignContext` with the specified key selector and parent node.
`DOMSignContext(KeySelector ks, Node parent, Node nextSibling)`
Creates a `DOMSignContext` with the specified key selector, parent and next sibling nodes.

## Method Summary

Modifier and Type
Method
Description
`Node`
`getNextSibling()`
Returns the nextSibling node.
`Node`
`getParent()`
Returns the parent node.
`void`
`setNextSibling(Node nextSibling)`
Sets the next sibling node.
`void`
`setParent(Node parent)`
Sets the parent node.

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

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

### 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 Details

### DOMSignContext

public DOMSignContext(Key signingKey, Node parent)
Creates a `DOMSignContext` with the specified signing key and parent node. The signing key is stored in a `singleton KeySelector` that is returned by the `getKeySelector` method. The marshalled `XMLSignature` will be added as the last child element of the specified parent node unless a next sibling node is specified by invoking the `setNextSibling` method.

Parameters:
  `signingKey` - the signing key
  `parent` - the parent node
Throws:
  `NullPointerException` - if `signingKey` or `parent` is `null`

### DOMSignContext

public DOMSignContext(Key signingKey, Node parent, Node nextSibling)
Creates a `DOMSignContext` with the specified signing key, parent and next sibling nodes. The signing key is stored in a `singleton KeySelector` that is returned by the `getKeySelector` method. The marshalled `XMLSignature` will be inserted as a child element of the specified parent node and immediately before the specified next sibling node.

Parameters:
  `signingKey` - the signing key
  `parent` - the parent node
  `nextSibling` - the next sibling node
Throws:
  `NullPointerException` - if `signingKey`, `parent` or `nextSibling` is `null`

### DOMSignContext

public DOMSignContext(KeySelector ks, Node parent)
Creates a `DOMSignContext` with the specified key selector and parent node. The marshalled `XMLSignature` will be added as the last child element of the specified parent node unless a next sibling node is specified by invoking the `setNextSibling` method.

Parameters:
  `ks` - the key selector
  `parent` - the parent node
Throws:
  `NullPointerException` - if `ks` or `parent` is `null`

### DOMSignContext

public DOMSignContext(KeySelector ks, Node parent, Node nextSibling)
Creates a `DOMSignContext` with the specified key selector, parent and next sibling nodes. The marshalled `XMLSignature` will be inserted as a child element of the specified parent node and immediately before the specified next sibling node.

Parameters:
  `ks` - the key selector
  `parent` - the parent node
  `nextSibling` - the next sibling node
Throws:
  `NullPointerException` - if `ks`, `parent` or `nextSibling` is `null`

## Method Details

### setParent

public void setParent(Node parent)
Sets the parent node.

Parameters:
  `parent` - the parent node. The marshalled `XMLSignature` will be added as a child element of this node.
Throws:
  `NullPointerException` - if `parent` is `null`
See Also:
  - `getParent()`

### setNextSibling

public void setNextSibling(Node nextSibling)
Sets the next sibling node.

Parameters:
  `nextSibling` - the next sibling node. The marshalled `XMLSignature` will be inserted immediately before this node. Specify `null` to remove the current setting.
See Also:
  - `getNextSibling()`

### getParent

public Node getParent()
Returns the parent node.

Returns:
  the parent node (never `null`)
See Also:
  - `setParent(Node)`

### getNextSibling

public Node getNextSibling()
Returns the nextSibling node.

Returns:
  the nextSibling node, or `null` if not specified.
See Also:
  - `setNextSibling(Node)`