Interface XMLCryptoContext

  • All Known Subinterfaces:
    XMLSignContext, XMLValidateContext
    All Known Implementing Classes:
    DOMCryptoContext, DOMSignContext, DOMValidateContext


    public interface XMLCryptoContext
    Contains common context information for XML cryptographic operations.

    This interface contains methods for setting and retrieving properties that affect the processing of XML signatures or XML encrypted structures.

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

    Since:
    1.6
    • Method Detail

      • getBaseURI

        String getBaseURI​()
        Returns the base URI.
        Returns:
        the base URI, or null if not specified
        See Also:
        setBaseURI(String)
      • setBaseURI

        void setBaseURI​(String baseURI)
        Sets the base URI.
        Parameters:
        baseURI - the base URI, or null to remove current value
        Throws:
        IllegalArgumentException - if baseURI is not RFC 2396 compliant
        See Also:
        getBaseURI()
      • setKeySelector

        void setKeySelector​(KeySelector ks)
        Sets the key selector for finding a key.
        Parameters:
        ks - the key selector, or null to remove the current setting
        See Also:
        getKeySelector()
      • setURIDereferencer

        void setURIDereferencer​(URIDereferencer dereferencer)
        Sets a URIDereferencer that is used to dereference URIReferences. The specified URIDereferencer is used in place of an implementation's default URIDereferencer.
        Parameters:
        dereferencer - the URIDereferencer, or null to remove any current setting
        See Also:
        getURIDereferencer()
      • getNamespacePrefix

        String getNamespacePrefix​(String namespaceURI,
                                  String defaultPrefix)
        Returns the namespace prefix that the specified namespace URI is associated with. Returns the specified default prefix if the specified namespace URI has not been bound to a prefix. To bind a namespace URI to a prefix, call the putNamespacePrefix method.
        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:
        putNamespacePrefix(String, String)
      • putNamespacePrefix

        String putNamespacePrefix​(String namespaceURI,
                                  String prefix)
        Maps the specified namespace URI to the specified prefix. If there is already a prefix associated with the specified namespace URI, the old prefix is replaced by the specified prefix.
        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:
        getNamespacePrefix(String, String)
      • getDefaultNamespacePrefix

        String getDefaultNamespacePrefix​()
        Returns the default namespace prefix. The default namespace prefix is the prefix for all namespace URIs not explicitly set by the putNamespacePrefix method.
        Returns:
        the default namespace prefix, or null if none has been set.
        See Also:
        setDefaultNamespacePrefix(String)
      • setDefaultNamespacePrefix

        void setDefaultNamespacePrefix​(String defaultPrefix)
        Sets the default namespace prefix. This sets the namespace prefix for all namespace URIs not explicitly set by the putNamespacePrefix method.
        Parameters:
        defaultPrefix - the default namespace prefix, or null to remove the current setting. Specify the empty string ("") to bind no prefix.
        See Also:
        getDefaultNamespacePrefix()
      • setProperty

        Object setProperty​(String name,
                           Object value)
        Sets the specified property.
        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:
        getProperty(String)
      • getProperty

        Object getProperty​(String name)
        Returns the value of the specified property.
        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:
        setProperty(String, Object)
      • get

        Object get​(Object key)
        Returns the value to which this context maps the specified key.

        More formally, if this context contains a mapping from a key k to a value v such that (key==null ? k==null : key.equals(k)), then this method returns v; otherwise it returns null. (There can be at most one such mapping.)

        This method is useful for retrieving arbitrary information that is specific to the cryptographic operation that this context is used for.

        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:
        put(Object, Object)
      • put

        Object put​(Object key,
                   Object value)
        Associates the specified value with the specified key in this context. If the context previously contained a mapping for this key, the old value is replaced by the specified value.

        This method is useful for storing arbitrary information that is specific to the cryptographic operation that this context is used for.

        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:
        get(Object)