Interface RetrievalMethod

All Superinterfaces:
URIReference, XMLStructure
public interface RetrievalMethod
extends URIReference, XMLStructure

A representation of the XML RetrievalMethod element as defined in the W3C Recommendation for XML-Signature Syntax and Processing. A RetrievalMethod object is used to convey a reference to KeyInfo information that is stored at another location. The XML schema definition is defined as:

<element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
   <complexType name="RetrievalMethodType">
     <sequence>
       <element name="Transforms" type="ds:TransformsType" minOccurs="0"/>
     </sequence>
     <attribute name="URI" type="anyURI"/>
     <attribute name="Type" type="anyURI" use="optional"/>
   </complexType>
A RetrievalMethod instance may be created by invoking one of the newRetrievalMethod methods of the KeyInfoFactory class, and passing it the URI identifying the location of the KeyInfo, an optional type URI identifying the type of KeyInfo, and an optional list of Transforms; for example:
KeyInfoFactory factory = KeyInfoFactory.getInstance("DOM");
   RetrievalMethod rm = factory.newRetrievalMethod
      ("#KeyValue-1", KeyValue.DSA_TYPE, Collections.singletonList(Transform.BASE64));
Since:
1.6
See Also:
KeyInfoFactory.newRetrievalMethod(String), KeyInfoFactory.newRetrievalMethod(String, String, List)

Method Summary

All Methods Instance Methods Abstract Methods
Modifier and Type Method Description
Data dereference​(XMLCryptoContext context)

Dereferences the KeyInfo information referenced by this RetrievalMethod and applies the specified Transforms.

List<Transform> getTransforms()

Returns an unmodifiable list of Transforms of this RetrievalMethod.

String getURI()

Returns the URI of the referenced KeyInfo information.

Methods declared in interface javax.xml.crypto.URIReference

getType

Methods declared in interface javax.xml.crypto.XMLStructure

isFeatureSupported

Method Detail

getTransforms

List<Transform> getTransforms()

Returns an unmodifiable list of Transforms of this RetrievalMethod.

Returns:
an unmodifiable list of Transform objects (may be empty but never null).

getURI

String getURI()

Returns the URI of the referenced KeyInfo information.

Specified by:
getURI in interface URIReference
Returns:
the URI of the referenced KeyInfo information in RFC 2396 format (never null)

dereference

Data dereference​(XMLCryptoContext context)
          throws URIReferenceException

Dereferences the KeyInfo information referenced by this RetrievalMethod and applies the specified Transforms.

Parameters:
context - an XMLCryptoContext that may contain additional useful information for dereferencing the URI. The context's baseURI and dereferencer parameters (if specified) are used to resolve and dereference this RetrievalMethod
Returns:
a Data object representing the raw contents of the KeyInfo information referenced by this RetrievalMethod. It is the caller's responsibility to convert the returned data to an appropriate KeyInfo object.
Throws:
NullPointerException - if context is null
URIReferenceException - if there is an error while dereferencing