Class 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 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)
      • 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<Map.Entry<String,Element>> 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)