Interface Transform

All Superinterfaces:
AlgorithmMethod, XMLStructure
All Known Subinterfaces:
CanonicalizationMethod
All Known Implementing Classes:
TransformService
public interface Transform extends XMLStructure, AlgorithmMethod
A representation of the XML Transform element as defined in the W3C Recommendation for XML-Signature Syntax and Processing. The XML Schema Definition is defined as:
 <element name="Transform" type="ds:TransformType"/>
   <complexType name="TransformType" mixed="true">
     <choice minOccurs="0" maxOccurs="unbounded">
       <any namespace="##other" processContents="lax"/>
       <!-- (1,1) elements from (0,unbounded) namespaces -->
       <element name="XPath" type="string"/>
     </choice>
     <attribute name="Algorithm" type="anyURI" use="required"/>
   </complexType>
 
A Transform instance may be created by invoking the newTransform method of the XMLSignatureFactory class.
Since:
1.6
See Also:

Field Summary

Modifier and Type Field Description
static final String BASE64
The Base64 transform algorithm URI.
static final String ENVELOPED
The Enveloped Signature transform algorithm URI.
static final String XPATH
The XPath transform algorithm URI.
static final String XPATH2
The XPath Filter 2 transform algorithm URI.
static final String XSLT
The XSLT transform algorithm URI.

Method Summary

Modifier and Type Method Description
AlgorithmParameterSpec getParameterSpec()
Returns the algorithm-specific input parameters associated with this Transform.
Data transform(Data data, XMLCryptoContext context)
Transforms the specified data using the underlying transform algorithm.
Data transform(Data data, XMLCryptoContext context, OutputStream os)
Transforms the specified data using the underlying transform algorithm.

Methods declared in interface javax.xml.crypto.AlgorithmMethod

getAlgorithm

Methods declared in interface javax.xml.crypto.XMLStructure

isFeatureSupported

Field Details

BASE64

static final String BASE64
The Base64 transform algorithm URI.
See Also:

ENVELOPED

static final String ENVELOPED
The Enveloped Signature transform algorithm URI.
See Also:

XPATH

static final String XPATH
The XPath transform algorithm URI.
See Also:

XPATH2

static final String XPATH2
The XPath Filter 2 transform algorithm URI.
See Also:

XSLT

static final String XSLT
The XSLT transform algorithm URI.
See Also:

Method Details

getParameterSpec

AlgorithmParameterSpec getParameterSpec()
Returns the algorithm-specific input parameters associated with this Transform.

The returned parameters can be typecast to a TransformParameterSpec object.

Specified by:
getParameterSpec in interface AlgorithmMethod
Returns:
the algorithm-specific input parameters (may be null if not specified)

transform

Data transform(Data data, XMLCryptoContext context) throws TransformException
Transforms the specified data using the underlying transform algorithm.
Parameters:
data - the data to be transformed
context - the XMLCryptoContext containing additional context (may be null if not applicable)
Returns:
the transformed data
Throws:
NullPointerException - if data is null
TransformException - if an error occurs while executing the transform

transform

Data transform(Data data, XMLCryptoContext context, OutputStream os) throws TransformException
Transforms the specified data using the underlying transform algorithm. If the output of this transform is an OctetStreamData, then this method returns null and the bytes are written to the specified OutputStream. Otherwise, the OutputStream is ignored and the method behaves as if transform(Data, XMLCryptoContext) were invoked.
Parameters:
data - the data to be transformed
context - the XMLCryptoContext containing additional context (may be null if not applicable)
os - the OutputStream that should be used to write the transformed data to
Returns:
the transformed data (or null if the data was written to the OutputStream parameter)
Throws:
NullPointerException - if data or os is null
TransformException - if an error occurs while executing the transform

© 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/Transform.html