# Interface XMLSignContext

All Superinterfaces:
  `XMLCryptoContext`

All Known Implementing Classes:
  `DOMSignContext`

public interface XMLSignContext extends XMLCryptoContext
Contains context information for generating XML Signatures. This interface is primarily intended for type-safety.

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

Supported Properties

The following properties can be set using the `setProperty` method.

- `javax.xml.crypto.dsig.cacheReference`: value must be a `Boolean`. This property controls whether or not the digested `Reference` objects will cache the dereferenced content and pre-digested input for subsequent retrieval via the `Reference.getDereferencedData` and `Reference.getDigestInputStream` methods. The default value if not specified is `Boolean.FALSE`.

Since:
  1.6
See Also:
  - `XMLSignature.sign(XMLSignContext)`

- ## Method Summary

  ### Methods declared in interface XMLCryptoContext

  `get, getBaseURI, getDefaultNamespacePrefix, getKeySelector, getNamespacePrefix, getProperty, getURIDereferencer, put, putNamespacePrefix, setBaseURI, setDefaultNamespacePrefix, setKeySelector, setProperty, setURIDereferencer`
  Modifier and Type
  Method
  Description
  `Object`
  `get(Object key)`
  Returns the value to which this context maps the specified key.
  `String`
  `getBaseURI()`
  Returns the base URI.
  `String`
  `getDefaultNamespacePrefix()`
  Returns the default namespace prefix.
  `KeySelector`
  `getKeySelector()`
  Returns the key selector for finding a key.
  `String`
  `getNamespacePrefix(String namespaceURI, String defaultPrefix)`
  Returns the namespace prefix that the specified namespace URI is associated with.
  `Object`
  `getProperty(String name)`
  Returns the value of the specified property.
  `URIDereferencer`
  `getURIDereferencer()`
  Returns a `URIDereferencer` that is used to dereference `URIReference`s.
  `Object`
  `put(Object key, Object value)`
  Associates the specified value with the specified key in this context.
  `String`
  `putNamespacePrefix(String namespaceURI, String prefix)`
  Maps the specified namespace URI to the specified prefix.
  `void`
  `setBaseURI(String baseURI)`
  Sets the base URI.
  `void`
  `setDefaultNamespacePrefix(String defaultPrefix)`
  Sets the default namespace prefix.
  `void`
  `setKeySelector(KeySelector ks)`
  Sets the key selector for finding a key.
  `Object`
  `setProperty(String name, Object value)`
  Sets the specified property.
  `void`
  `setURIDereferencer(URIDereferencer dereferencer)`
  Sets a `URIDereferencer` that is used to dereference `URIReference`s.