Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.xml.crypto.dsig.keyinfo
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 `Transform`s; 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
`Data` | `dereference(XMLCryptoContext context)` Dereferences the `KeyInfo` information referenced by this `RetrievalMethod` and applies the specified `Transform`s.
`List` | `getTransforms()` Returns an `unmodifiable list` of `Transform`s of this `RetrievalMethod`.
`String` | `getURI()` Returns the URI of the referenced `KeyInfo` information.

Methods inherited from interface javax.xml.crypto.URIReference
`getType`

Methods inherited from interface javax.xml.crypto.XMLStructure
`isFeatureSupported`

Method Detail

### getTransforms

    List getTransforms()

  Returns an `unmodifiable list` of `Transform`s 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 `Transform`s.

  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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.