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 Details

    • 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