- All Superinterfaces:
- URIReference,- XMLStructure
public interface Reference extends URIReference, XMLStructure
A representation of the 
Reference element as defined in the
 
 W3C Recommendation for XML-Signature Syntax and Processing.
 The XML schema is defined as:
 
 <element name="Reference" type="ds:ReferenceType"/>
 <complexType name="ReferenceType">
   <sequence>
     <element ref="ds:Transforms" minOccurs="0"/>
     <element ref="ds:DigestMethod"/>
     <element ref="ds:DigestValue"/>
   </sequence>
   <attribute name="Id" type="ID" use="optional"/>
   <attribute name="URI" type="anyURI" use="optional"/>
   <attribute name="Type" type="anyURI" use="optional"/>
 </complexType>
 <element name="DigestValue" type="ds:DigestValueType"/>
 <simpleType name="DigestValueType">
   <restriction base="base64Binary"/>
 </simpleType>
 
 A Reference instance may be created by invoking one of the
 newReference methods of the
 XMLSignatureFactory class; for example:
 
   XMLSignatureFactory factory = XMLSignatureFactory.getInstance("DOM");
   Reference ref = factory.newReference
     ("http://www.ietf.org/rfc/rfc3275.txt",
      factory.newDigestMethod(DigestMethod.SHA1, null));
 - 
Method SummaryModifier and Type Method Description byte[]getCalculatedDigestValue()Returns the calculated digest value of thisReferenceafter a validation operation.DatagetDereferencedData()Returns the dereferenced data, if reference caching is enabled.InputStreamgetDigestInputStream()Returns the pre-digested input stream, if reference caching is enabled.DigestMethodgetDigestMethod()Returns the digest method of thisReference.byte[]getDigestValue()Returns the digest value of thisReference.StringgetId()Returns the optionalIdattribute of thisReference, which permits this reference to be referenced from elsewhere.List<Transform>getTransforms()booleanvalidate(XMLValidateContext validateContext)Validates this reference.
- 
Method Details- 
getTransforms- Returns:
- an unmodifiable list of Transforms (may be empty but nevernull)
 
- 
getDigestMethodDigestMethod getDigestMethod()Returns the digest method of thisReference.- Returns:
- the digest method
 
- 
getIdString getId()Returns the optionalIdattribute of thisReference, which permits this reference to be referenced from elsewhere.- Returns:
- the Idattribute (may benullif not specified)
 
- 
getDigestValuebyte[] getDigestValue()Returns the digest value of thisReference.- Returns:
- the raw digest value, or nullif this reference has not been digested yet. Each invocation of this method returns a new clone to protect against subsequent modification.
 
- 
getCalculatedDigestValuebyte[] getCalculatedDigestValue()Returns the calculated digest value of thisReferenceafter a validation operation. This method is useful for debugging if the reference fails to validate.- Returns:
- the calculated digest value, or nullif this reference has not been validated yet. Each invocation of this method returns a new clone to protect against subsequent modification.
 
- 
validateValidates this reference. This method verifies the digest of this reference.This method only validates the reference the first time it is invoked. On subsequent invocations, it returns a cached result. - Parameters:
- validateContext- the validating context
- Returns:
- trueif this reference was validated successfully;- falseotherwise
- Throws:
- NullPointerException- if- validateContextis- null
- XMLSignatureException- if an unexpected exception occurs while validating the reference
 
- 
getDereferencedDataData getDereferencedData()Returns the dereferenced data, if reference caching is enabled. This is the result of dereferencing the URI of this reference during a validation or generation operation.- Returns:
- the dereferenced data, or nullif reference caching is not enabled or this reference has not been generated or validated
 
- 
getDigestInputStreamInputStream getDigestInputStream()Returns the pre-digested input stream, if reference caching is enabled. This is the input to the digest operation during a validation or signing operation.- Returns:
- an input stream containing the pre-digested input, or
    nullif reference caching is not enabled or this reference has not been generated or validated
 
 
-