Interface Reference
- All Superinterfaces:
 - 
URIReference,XMLStructure 
public interface Reference extends URIReference, XMLStructure
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 Summary
| Modifier and Type | Method | Description | 
|---|---|---|
byte[] | 
getCalculatedDigestValue() | 
  Returns the calculated digest value of this   Reference after a validation operation. | 
Data | 
getDereferencedData() | 
  Returns the dereferenced data, if reference caching is enabled.   | 
InputStream | 
getDigestInputStream() | 
  Returns the pre-digested input stream, if reference caching is enabled.   | 
DigestMethod | 
getDigestMethod() | 
  Returns the digest method of this   Reference. | 
byte[] | 
getDigestValue() | 
  Returns the digest value of this   Reference. | 
String | 
getId() | 
  Returns the optional   Id attribute of this Reference, which permits this reference to be referenced from elsewhere. | 
List<Transform> | 
getTransforms() | 
|
boolean | 
validate | 
  Validates this reference.   | 
Methods declared in interface javax.xml.crypto.URIReference
getType, getURI
Methods declared in interface javax.xml.crypto.XMLStructure
isFeatureSupported
Method Details
getTransforms
List<Transform> getTransforms()
- Returns:
 - an unmodifiable list of 
Transforms (may be empty but nevernull) 
getDigestMethod
DigestMethod getDigestMethod()
Reference.- Returns:
 - the digest method
 
getId
String getId()
Id attribute of this Reference, which permits this reference to be referenced from elsewhere.- Returns:
 - the 
Idattribute (may benullif not specified) 
getDigestValue
byte[] getDigestValue()
Reference.- 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. 
getCalculatedDigestValue
byte[] getCalculatedDigestValue()
Reference after 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. 
validate
boolean validate(XMLValidateContext validateContext) throws XMLSignatureException
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- ifvalidateContextisnull - 
XMLSignatureException- if an unexpected exception occurs while validating the reference 
getDereferencedData
Data getDereferencedData()
- Returns:
 - the dereferenced data, or 
nullif reference caching is not enabled or this reference has not been generated or validated 
getDigestInputStream
InputStream getDigestInputStream()
- 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 
    © 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
    https://docs.oracle.com/en/java/javase/17/docs/api/java.xml.crypto/javax/xml/crypto/dsig/Reference.html