compact3
javax.xml.crypto.dom

## Class DOMCryptoContext

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

- All Implemented Interfaces:
    XMLCryptoContext
  Direct Known Subclasses:
    DOMSignContext, DOMValidateContext

      public class DOMCryptoContext
      extends Object
      implements XMLCryptoContext

  This class provides a DOM-specific implementation of the `XMLCryptoContext` interface. It also includes additional methods that are specific to a DOM-based implementation for registering and retrieving elements that contain attributes of type ID.
  Since:
    1.6

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `DOMCryptoContext()` | Default constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Object` | `get(Object key)` | This implementation uses an internal `HashMap` to get the object that the specified key maps to.
    `String` | `getBaseURI()` | Returns the base URI.
    `String` | `getDefaultNamespacePrefix()` | Returns the default namespace prefix.
    `Element` | `getElementById(String idValue)` | Returns the `Element` with the specified ID attribute value.
    `KeySelector` | `getKeySelector()` | Returns the key selector for finding a key.
    `String` | `getNamespacePrefix(String namespaceURI, String defaultPrefix)` | This implementation uses an internal `HashMap` to get the prefix that the specified URI maps to.
    `Object` | `getProperty(String name)` | This implementation uses an internal `HashMap` to get the object that the specified name maps to.
    `URIDereferencer` | `getURIDereferencer()` | Returns a `URIDereferencer` that is used to dereference `URIReference`s.
    `Iterator` | `iterator()` | Returns a read-only iterator over the set of Id/Element mappings of this `DOMCryptoContext`.
    `Object` | `put(Object key, Object value)` | This implementation uses an internal `HashMap` to map the key to the specified object.
    `String` | `putNamespacePrefix(String namespaceURI, String prefix)` | This implementation uses an internal `HashMap` to map the URI to the specified prefix.
    `void` | `setBaseURI(String baseURI)` | Sets the base URI.
    `void` | `setDefaultNamespacePrefix(String defaultPrefix)` | Sets the default namespace prefix.
    `void` | `setIdAttributeNS(Element element, String namespaceURI, String localName)` | Registers the element's attribute specified by the namespace URI and local name to be of type ID.
    `void` | `setKeySelector(KeySelector ks)` | Sets the key selector for finding a key.
    `Object` | `setProperty(String name, Object value)` | This implementation uses an internal `HashMap` to map the name to the specified object.
    `void` | `setURIDereferencer(URIDereferencer dereferencer)` | Sets a `URIDereferencer` that is used to dereference `URIReference`s.

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

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

- - ### Constructor Detail

    - #### DOMCryptoContext

          protected DOMCryptoContext()

      Default constructor. (For invocation by subclass constructors).

  - ### Method Detail

    - #### getNamespacePrefix

          public String getNamespacePrefix(String namespaceURI,
                                           String defaultPrefix)

      This implementation uses an internal `HashMap` to get the prefix that the specified URI maps to. It returns the `defaultPrefix` if it maps to `null`.
      Specified by:
        `getNamespacePrefix` in interface `XMLCryptoContext`
      Parameters:
        `namespaceURI` - a namespace URI
        `defaultPrefix` - the prefix to be returned in the event that the the specified namespace URI has not been bound to a prefix.
      Returns:
        the prefix that is associated with the specified namespace URI, or `defaultPrefix` if the URI is not registered. If the namespace URI is registered but has no prefix, an empty string (`""`) is returned.
      Throws:
        `NullPointerException` - if `namespaceURI` is `null`
      See Also:
        `XMLCryptoContext.putNamespacePrefix(String, String)`

    - #### putNamespacePrefix

          public String putNamespacePrefix(String namespaceURI,
                                           String prefix)

      This implementation uses an internal `HashMap` to map the URI to the specified prefix.
      Specified by:
        `putNamespacePrefix` in interface `XMLCryptoContext`
      Parameters:
        `namespaceURI` - a namespace URI
        `prefix` - a namespace prefix (or `null` to remove any existing mapping). Specifying the empty string (`""`) binds no prefix to the namespace URI.
      Returns:
        the previous prefix associated with the specified namespace URI, or `null` if there was none
      Throws:
        `NullPointerException` - if `namespaceURI` is `null`
      See Also:
        `XMLCryptoContext.getNamespacePrefix(String, String)`

    - #### getDefaultNamespacePrefix

          public String getDefaultNamespacePrefix()

      Description copied from interface: `XMLCryptoContext`
      Returns the default namespace prefix. The default namespace prefix is the prefix for all namespace URIs not explicitly set by the `putNamespacePrefix` method.
      Specified by:
        `getDefaultNamespacePrefix` in interface `XMLCryptoContext`
      Returns:
        the default namespace prefix, or `null` if none has been set.
      See Also:
        `XMLCryptoContext.setDefaultNamespacePrefix(String)`

    - #### setDefaultNamespacePrefix

          public void setDefaultNamespacePrefix(String defaultPrefix)

      Description copied from interface: `XMLCryptoContext`
      Sets the default namespace prefix. This sets the namespace prefix for all namespace URIs not explicitly set by the `putNamespacePrefix` method.
      Specified by:
        `setDefaultNamespacePrefix` in interface `XMLCryptoContext`
      Parameters:
        `defaultPrefix` - the default namespace prefix, or `null` to remove the current setting. Specify the empty string (`""`) to bind no prefix.
      See Also:
        `XMLCryptoContext.getDefaultNamespacePrefix()`

    - #### getBaseURI

          public String getBaseURI()

      Description copied from interface: `XMLCryptoContext`
      Returns the base URI.
      Specified by:
        `getBaseURI` in interface `XMLCryptoContext`
      Returns:
        the base URI, or `null` if not specified
      See Also:
        `XMLCryptoContext.setBaseURI(String)`

    - #### setBaseURI

          public void setBaseURI(String baseURI)

      Description copied from interface: `XMLCryptoContext`
      Sets the base URI.
      Specified by:
        `setBaseURI` in interface `XMLCryptoContext`
      Parameters:
        `baseURI` - the base URI, or `null` to remove current value
      Throws:
        `IllegalArgumentException` - if `baseURI` is not RFC 2396 compliant
      See Also:
        `XMLCryptoContext.getBaseURI()`

    - #### getURIDereferencer

          public URIDereferencer getURIDereferencer()

      Description copied from interface: `XMLCryptoContext`
      Returns a `URIDereferencer` that is used to dereference `URIReference`s.
      Specified by:
        `getURIDereferencer` in interface `XMLCryptoContext`
      Returns:
        the `URIDereferencer`, or `null` if not specified
      See Also:
        `XMLCryptoContext.setURIDereferencer(URIDereferencer)`

    - #### setURIDereferencer

          public void setURIDereferencer(URIDereferencer dereferencer)

      Description copied from interface: `XMLCryptoContext`
      Sets a `URIDereferencer` that is used to dereference `URIReference`s. The specified `URIDereferencer` is used in place of an implementation's default `URIDereferencer`.
      Specified by:
        `setURIDereferencer` in interface `XMLCryptoContext`
      Parameters:
        `dereferencer` - the `URIDereferencer`, or `null` to remove any current setting
      See Also:
        `XMLCryptoContext.getURIDereferencer()`

    - #### getProperty

          public Object getProperty(String name)

      This implementation uses an internal `HashMap` to get the object that the specified name maps to.
      Specified by:
        `getProperty` in interface `XMLCryptoContext`
      Parameters:
        `name` - the name of the property
      Returns:
        the current value of the specified property, or `null` if it does not have a value
      Throws:
        `NullPointerException` - if `name` is `null`
      See Also:
        `XMLCryptoContext.setProperty(String, Object)`

    - #### setProperty

          public Object setProperty(String name,
                                    Object value)

      This implementation uses an internal `HashMap` to map the name to the specified object.
      Specified by:
        `setProperty` in interface `XMLCryptoContext`
      Parameters:
        `name` - the name of the property
        `value` - the value of the property to be set
      Returns:
        the previous value of the specified property, or `null` if it did not have a value
      Throws:
        `NullPointerException` - if `name` is `null`
      See Also:
        `XMLCryptoContext.getProperty(String)`

    - #### getKeySelector

          public KeySelector getKeySelector()

      Description copied from interface: `XMLCryptoContext`
      Returns the key selector for finding a key.
      Specified by:
        `getKeySelector` in interface `XMLCryptoContext`
      Returns:
        the key selector, or `null` if not specified
      See Also:
        `XMLCryptoContext.setKeySelector(KeySelector)`

    - #### setKeySelector

          public void setKeySelector(KeySelector ks)

      Description copied from interface: `XMLCryptoContext`
      Sets the key selector for finding a key.
      Specified by:
        `setKeySelector` in interface `XMLCryptoContext`
      Parameters:
        `ks` - the key selector, or `null` to remove the current setting
      See Also:
        `XMLCryptoContext.getKeySelector()`

    - #### getElementById

          public Element getElementById(String idValue)

      Returns the `Element` with the specified ID attribute value.

      This implementation uses an internal `HashMap` to get the element that the specified attribute value maps to.

      Parameters:
        `idValue` - the value of the ID
      Returns:
        the `Element` with the specified ID attribute value, or `null` if none.
      Throws:
        `NullPointerException` - if `idValue` is `null`
      See Also:
        `setIdAttributeNS(org.w3c.dom.Element, java.lang.String, java.lang.String)`

    - #### setIdAttributeNS

          public void setIdAttributeNS(Element element,
                                       String namespaceURI,
                                       String localName)

      Registers the element's attribute specified by the namespace URI and local name to be of type ID. The attribute must have a non-empty value.

      This implementation uses an internal `HashMap` to map the attribute's value to the specified element.

      Parameters:
        `element` - the element
        `namespaceURI` - the namespace URI of the attribute (specify `null` if not applicable)
        `localName` - the local name of the attribute
      Throws:
        `IllegalArgumentException` - if `localName` is not an attribute of the specified element or it does not contain a specific value
        `NullPointerException` - if `element` or `localName` is `null`
      See Also:
        `getElementById(java.lang.String)`

    - #### iterator

          public Iterator iterator()

      Returns a read-only iterator over the set of Id/Element mappings of this `DOMCryptoContext`. Attempts to modify the set via the `Iterator.remove()` method throw an `UnsupportedOperationException`. The mappings are returned in no particular order. Each element in the iteration is represented as a `Map.Entry`. If the `DOMCryptoContext` is modified while an iteration is in progress, the results of the iteration are undefined.
      Returns:
        a read-only iterator over the set of mappings

    - #### get

          public Object get(Object key)

      This implementation uses an internal `HashMap` to get the object that the specified key maps to.
      Specified by:
        `get` in interface `XMLCryptoContext`
      Parameters:
        `key` - the key whose associated value is to be returned
      Returns:
        the value to which this context maps the specified key, or `null` if there is no mapping for the key
      See Also:
        `XMLCryptoContext.put(Object, Object)`

    - #### put

          public Object put(Object key,
                            Object value)

      This implementation uses an internal `HashMap` to map the key to the specified object.
      Specified by:
        `put` in interface `XMLCryptoContext`
      Parameters:
        `key` - key with which the specified value is to be associated with
        `value` - value to be associated with the specified key
      Returns:
        the previous value associated with the key, or `null` if there was no mapping for the key
      Throws:
        `IllegalArgumentException` - if some aspect of this key or value prevents it from being stored in this context
      See Also:
        `XMLCryptoContext.get(Object)`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.