org.apache.poi.poifs.crypt.dsig.services

## Class RelationshipTransformService

- java.lang.Object
- - javax.xml.crypto.dsig.TransformService
  - - org.apache.poi.poifs.crypt.dsig.services.RelationshipTransformService

- All Implemented Interfaces:
    javax.xml.crypto.AlgorithmMethod, javax.xml.crypto.dsig.Transform, javax.xml.crypto.XMLStructure

      public class RelationshipTransformService
      extends javax.xml.crypto.dsig.TransformService

  JSR105 implementation of the RelationshipTransform transformation.

  Specs: http://openiso.org/Ecma/376/Part2/12.2.4#26

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `RelationshipTransformService.RelationshipTransformParameterSpec` Relationship Transform parameter specification class.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `TRANSFORM_URI`

    - ### Fields inherited from interface javax.xml.crypto.dsig.Transform

      `BASE64, ENVELOPED, XPATH, XPATH2, XSLT`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RelationshipTransformService()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.security.spec.AlgorithmParameterSpec` | `getParameterSpec()`
    `void` | `init(javax.xml.crypto.dsig.spec.TransformParameterSpec params)`
    `void` | `init(javax.xml.crypto.XMLStructure parent, javax.xml.crypto.XMLCryptoContext context)`
    `boolean` | `isFeatureSupported(java.lang.String feature)`
    `void` | `marshalParams(javax.xml.crypto.XMLStructure parent, javax.xml.crypto.XMLCryptoContext context)`
    `static void` | `registerDsigProvider()` Register the provider for this TransformService
    `javax.xml.crypto.Data` | `transform(javax.xml.crypto.Data data, javax.xml.crypto.XMLCryptoContext context)` The relationships transform takes the XML document from the Relationships part and converts it to another XML document.
    `javax.xml.crypto.Data` | `transform(javax.xml.crypto.Data data, javax.xml.crypto.XMLCryptoContext context, java.io.OutputStream os)`

    - ### Methods inherited from class javax.xml.crypto.dsig.TransformService

      `getAlgorithm, getInstance, getInstance, getInstance, getMechanismType, getProvider`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### TRANSFORM_URI

          public static final java.lang.String TRANSFORM_URI

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### RelationshipTransformService

          public RelationshipTransformService()

  - ### Method Detail

    - #### registerDsigProvider

          public static void registerDsigProvider()

      Register the provider for this TransformService
      See Also:
        `TransformService`

    - #### init

          public void init(javax.xml.crypto.dsig.spec.TransformParameterSpec params)
                    throws java.security.InvalidAlgorithmParameterException

      Specified by:
        `init` in class `javax.xml.crypto.dsig.TransformService`
      Throws:
        `java.security.InvalidAlgorithmParameterException`

    - #### init

          public void init(javax.xml.crypto.XMLStructure parent,
                           javax.xml.crypto.XMLCryptoContext context)
                    throws java.security.InvalidAlgorithmParameterException

      Specified by:
        `init` in class `javax.xml.crypto.dsig.TransformService`
      Throws:
        `java.security.InvalidAlgorithmParameterException`

    - #### marshalParams

          public void marshalParams(javax.xml.crypto.XMLStructure parent,
                                    javax.xml.crypto.XMLCryptoContext context)
                             throws javax.xml.crypto.MarshalException

      Specified by:
        `marshalParams` in class `javax.xml.crypto.dsig.TransformService`
      Throws:
        `javax.xml.crypto.MarshalException`

    - #### getParameterSpec

          public java.security.spec.AlgorithmParameterSpec getParameterSpec()

    - #### transform

          public javax.xml.crypto.Data transform(javax.xml.crypto.Data data,
                                                 javax.xml.crypto.XMLCryptoContext context)
                                          throws javax.xml.crypto.dsig.TransformException

      The relationships transform takes the XML document from the Relationships part and converts it to another XML document.
      Throws:
        `javax.xml.crypto.dsig.TransformException`
      See Also:
        13.2.4.24 Relationships Transform Algorithm, XML Relationship Transform Algorithm

    - #### transform

          public javax.xml.crypto.Data transform(javax.xml.crypto.Data data,
                                                 javax.xml.crypto.XMLCryptoContext context,
                                                 java.io.OutputStream os)
                                          throws javax.xml.crypto.dsig.TransformException

      Throws:
        `javax.xml.crypto.dsig.TransformException`

    - #### isFeatureSupported

          public boolean isFeatureSupported(java.lang.String feature)

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.