public abstract class javax.xml.crypto.dsig.TransformService implements javax.xml.crypto.dsig.Transform
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: javax.xml.crypto.dsig.TransformService
  super_class: java.lang.Object
{
  private java.lang.String algorithm;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String mechanism;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.security.Provider provider;
    descriptor: Ljava/security/Provider;
    flags: (0x0002) ACC_PRIVATE

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.xml.crypto.dsig.TransformService this
         0: .line 120
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // javax.xml.crypto.dsig.TransformService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/xml/crypto/dsig/TransformService;

  public static javax.xml.crypto.dsig.TransformService getInstance(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljavax/xml/crypto/dsig/TransformService;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // java.lang.String algorithm
        start local 1 // java.lang.String mechanismType
         0: .line 153
            aload 1 /* mechanismType */
            ifnull 1
            aload 0 /* algorithm */
            ifnonnull 2
         1: .line 154
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 156
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* dom */
        start local 2 // boolean dom
         3: .line 157
            aload 1 /* mechanismType */
            ldc "DOM"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 158
            iconst_1
            istore 2 /* dom */
         5: .line 160
      StackMap locals: int
      StackMap stack:
            ldc "TransformService"
            aload 0 /* algorithm */
            invokestatic sun.security.jca.GetInstance.getServices:(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
            astore 3 /* services */
        start local 3 // java.util.List services
         6: .line 161
            aload 3 /* services */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4 /* t */
        start local 4 // java.util.Iterator t
         7: goto 18
         8: .line 162
      StackMap locals: java.util.List java.util.Iterator
      StackMap stack:
            aload 4 /* t */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.Provider$Service
            astore 5 /* s */
        start local 5 // java.security.Provider$Service s
         9: .line 163
            aload 5 /* s */
            ldc "MechanismType"
            invokevirtual java.security.Provider$Service.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* value */
        start local 6 // java.lang.String value
        10: .line 164
            aload 6 /* value */
            ifnonnull 11
            iload 2 /* dom */
            ifne 12
        11: .line 165
      StackMap locals: java.security.Provider$Service java.lang.String
      StackMap stack:
            aload 6 /* value */
            ifnull 18
            aload 6 /* value */
            aload 1 /* mechanismType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        12: .line 166
      StackMap locals:
      StackMap stack:
            aload 5 /* s */
            aconst_null
            invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/security/Provider$Service;Ljava/lang/Class;)Lsun/security/jca/GetInstance$Instance;
            astore 7 /* instance */
        start local 7 // sun.security.jca.GetInstance$Instance instance
        13: .line 167
            aload 7 /* instance */
            getfield sun.security.jca.GetInstance$Instance.impl:Ljava/lang/Object;
            checkcast javax.xml.crypto.dsig.TransformService
            astore 8 /* ts */
        start local 8 // javax.xml.crypto.dsig.TransformService ts
        14: .line 168
            aload 8 /* ts */
            aload 0 /* algorithm */
            putfield javax.xml.crypto.dsig.TransformService.algorithm:Ljava/lang/String;
        15: .line 169
            aload 8 /* ts */
            aload 1 /* mechanismType */
            putfield javax.xml.crypto.dsig.TransformService.mechanism:Ljava/lang/String;
        16: .line 170
            aload 8 /* ts */
            aload 7 /* instance */
            getfield sun.security.jca.GetInstance$Instance.provider:Ljava/security/Provider;
            putfield javax.xml.crypto.dsig.TransformService.provider:Ljava/security/Provider;
        17: .line 171
            aload 8 /* ts */
            areturn
        end local 8 // javax.xml.crypto.dsig.TransformService ts
        end local 7 // sun.security.jca.GetInstance$Instance instance
        end local 6 // java.lang.String value
        end local 5 // java.security.Provider$Service s
        18: .line 161
      StackMap locals:
      StackMap stack:
            aload 4 /* t */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 4 // java.util.Iterator t
        19: .line 174
            new java.security.NoSuchAlgorithmException
            dup
        20: .line 175
            new java.lang.StringBuilder
            dup
            aload 0 /* algorithm */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " algorithm and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* mechanismType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 176
            ldc " mechanism not available"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 175
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 174
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.util.List services
        end local 2 // boolean dom
        end local 1 // java.lang.String mechanismType
        end local 0 // java.lang.String algorithm
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   24     0      algorithm  Ljava/lang/String;
            0   24     1  mechanismType  Ljava/lang/String;
            3   24     2            dom  Z
            6   24     3       services  Ljava/util/List<Ljava/security/Provider$Service;>;
            7   19     4              t  Ljava/util/Iterator<Ljava/security/Provider$Service;>;
            9   18     5              s  Ljava/security/Provider$Service;
           10   18     6          value  Ljava/lang/String;
           13   18     7       instance  Lsun/security/jca/GetInstance$Instance;
           14   18     8             ts  Ljavax/xml/crypto/dsig/TransformService;
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    MethodParameters:
               Name  Flags
      algorithm      
      mechanismType  

  public static javax.xml.crypto.dsig.TransformService getInstance(java.lang.String, java.lang.String, java.security.Provider);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/security/Provider;)Ljavax/xml/crypto/dsig/TransformService;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // java.lang.String algorithm
        start local 1 // java.lang.String mechanismType
        start local 2 // java.security.Provider provider
         0: .line 202
            aload 1 /* mechanismType */
            ifnull 1
            aload 0 /* algorithm */
            ifnull 1
            aload 2 /* provider */
            ifnonnull 2
         1: .line 203
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 206
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* dom */
        start local 3 // boolean dom
         3: .line 207
            aload 1 /* mechanismType */
            ldc "DOM"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 208
            iconst_1
            istore 3 /* dom */
         5: .line 211
      StackMap locals: int
      StackMap stack:
            ldc "TransformService"
            aload 0 /* algorithm */
            aload 2 /* provider */
         6: .line 210
            invokestatic sun.security.jca.GetInstance.getService:(Ljava/lang/String;Ljava/lang/String;Ljava/security/Provider;)Ljava/security/Provider$Service;
            astore 4 /* s */
        start local 4 // java.security.Provider$Service s
         7: .line 212
            aload 4 /* s */
            ldc "MechanismType"
            invokevirtual java.security.Provider$Service.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.String value
         8: .line 213
            aload 5 /* value */
            ifnonnull 9
            iload 3 /* dom */
            ifne 10
         9: .line 214
      StackMap locals: java.security.Provider$Service java.lang.String
      StackMap stack:
            aload 5 /* value */
            ifnull 16
            aload 5 /* value */
            aload 1 /* mechanismType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        10: .line 215
      StackMap locals:
      StackMap stack:
            aload 4 /* s */
            aconst_null
            invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/security/Provider$Service;Ljava/lang/Class;)Lsun/security/jca/GetInstance$Instance;
            astore 6 /* instance */
        start local 6 // sun.security.jca.GetInstance$Instance instance
        11: .line 216
            aload 6 /* instance */
            getfield sun.security.jca.GetInstance$Instance.impl:Ljava/lang/Object;
            checkcast javax.xml.crypto.dsig.TransformService
            astore 7 /* ts */
        start local 7 // javax.xml.crypto.dsig.TransformService ts
        12: .line 217
            aload 7 /* ts */
            aload 0 /* algorithm */
            putfield javax.xml.crypto.dsig.TransformService.algorithm:Ljava/lang/String;
        13: .line 218
            aload 7 /* ts */
            aload 1 /* mechanismType */
            putfield javax.xml.crypto.dsig.TransformService.mechanism:Ljava/lang/String;
        14: .line 219
            aload 7 /* ts */
            aload 6 /* instance */
            getfield sun.security.jca.GetInstance$Instance.provider:Ljava/security/Provider;
            putfield javax.xml.crypto.dsig.TransformService.provider:Ljava/security/Provider;
        15: .line 220
            aload 7 /* ts */
            areturn
        end local 7 // javax.xml.crypto.dsig.TransformService ts
        end local 6 // sun.security.jca.GetInstance$Instance instance
        16: .line 222
      StackMap locals:
      StackMap stack:
            new java.security.NoSuchAlgorithmException
            dup
        17: .line 223
            new java.lang.StringBuilder
            dup
            aload 0 /* algorithm */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " algorithm and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* mechanismType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 224
            ldc " mechanism not available"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 223
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 222
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.String value
        end local 4 // java.security.Provider$Service s
        end local 3 // boolean dom
        end local 2 // java.security.Provider provider
        end local 1 // java.lang.String mechanismType
        end local 0 // java.lang.String algorithm
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0      algorithm  Ljava/lang/String;
            0   21     1  mechanismType  Ljava/lang/String;
            0   21     2       provider  Ljava/security/Provider;
            3   21     3            dom  Z
            7   21     4              s  Ljava/security/Provider$Service;
            8   21     5          value  Ljava/lang/String;
           11   16     6       instance  Lsun/security/jca/GetInstance$Instance;
           12   16     7             ts  Ljavax/xml/crypto/dsig/TransformService;
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    MethodParameters:
               Name  Flags
      algorithm      
      mechanismType  
      provider       

  public static javax.xml.crypto.dsig.TransformService getInstance(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/xml/crypto/dsig/TransformService;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // java.lang.String algorithm
        start local 1 // java.lang.String mechanismType
        start local 2 // java.lang.String provider
         0: .line 254
            aload 1 /* mechanismType */
            ifnull 1
            aload 0 /* algorithm */
            ifnull 1
            aload 2 /* provider */
            ifnonnull 2
         1: .line 255
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 256
      StackMap locals:
      StackMap stack:
            aload 2 /* provider */
            invokevirtual java.lang.String.length:()I
            ifne 4
         3: .line 257
            new java.security.NoSuchProviderException
            dup
            invokespecial java.security.NoSuchProviderException.<init>:()V
            athrow
         4: .line 259
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* dom */
        start local 3 // boolean dom
         5: .line 260
            aload 1 /* mechanismType */
            ldc "DOM"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 261
            iconst_1
            istore 3 /* dom */
         7: .line 264
      StackMap locals: int
      StackMap stack:
            ldc "TransformService"
            aload 0 /* algorithm */
            aload 2 /* provider */
         8: .line 263
            invokestatic sun.security.jca.GetInstance.getService:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
            astore 4 /* s */
        start local 4 // java.security.Provider$Service s
         9: .line 265
            aload 4 /* s */
            ldc "MechanismType"
            invokevirtual java.security.Provider$Service.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.String value
        10: .line 266
            aload 5 /* value */
            ifnonnull 11
            iload 3 /* dom */
            ifne 12
        11: .line 267
      StackMap locals: java.security.Provider$Service java.lang.String
      StackMap stack:
            aload 5 /* value */
            ifnull 18
            aload 5 /* value */
            aload 1 /* mechanismType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        12: .line 268
      StackMap locals:
      StackMap stack:
            aload 4 /* s */
            aconst_null
            invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/security/Provider$Service;Ljava/lang/Class;)Lsun/security/jca/GetInstance$Instance;
            astore 6 /* instance */
        start local 6 // sun.security.jca.GetInstance$Instance instance
        13: .line 269
            aload 6 /* instance */
            getfield sun.security.jca.GetInstance$Instance.impl:Ljava/lang/Object;
            checkcast javax.xml.crypto.dsig.TransformService
            astore 7 /* ts */
        start local 7 // javax.xml.crypto.dsig.TransformService ts
        14: .line 270
            aload 7 /* ts */
            aload 0 /* algorithm */
            putfield javax.xml.crypto.dsig.TransformService.algorithm:Ljava/lang/String;
        15: .line 271
            aload 7 /* ts */
            aload 1 /* mechanismType */
            putfield javax.xml.crypto.dsig.TransformService.mechanism:Ljava/lang/String;
        16: .line 272
            aload 7 /* ts */
            aload 6 /* instance */
            getfield sun.security.jca.GetInstance$Instance.provider:Ljava/security/Provider;
            putfield javax.xml.crypto.dsig.TransformService.provider:Ljava/security/Provider;
        17: .line 273
            aload 7 /* ts */
            areturn
        end local 7 // javax.xml.crypto.dsig.TransformService ts
        end local 6 // sun.security.jca.GetInstance$Instance instance
        18: .line 275
      StackMap locals:
      StackMap stack:
            new java.security.NoSuchAlgorithmException
            dup
        19: .line 276
            new java.lang.StringBuilder
            dup
            aload 0 /* algorithm */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " algorithm and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* mechanismType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 277
            ldc " mechanism not available"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 276
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 275
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.String value
        end local 4 // java.security.Provider$Service s
        end local 3 // boolean dom
        end local 2 // java.lang.String provider
        end local 1 // java.lang.String mechanismType
        end local 0 // java.lang.String algorithm
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0      algorithm  Ljava/lang/String;
            0   23     1  mechanismType  Ljava/lang/String;
            0   23     2       provider  Ljava/lang/String;
            5   23     3            dom  Z
            9   23     4              s  Ljava/security/Provider$Service;
           10   23     5          value  Ljava/lang/String;
           13   18     6       instance  Lsun/security/jca/GetInstance$Instance;
           14   18     7             ts  Ljavax/xml/crypto/dsig/TransformService;
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException
    MethodParameters:
               Name  Flags
      algorithm      
      mechanismType  
      provider       

  public final java.lang.String getMechanismType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.xml.crypto.dsig.TransformService this
         0: .line 320
            aload 0 /* this */
            getfield javax.xml.crypto.dsig.TransformService.mechanism:Ljava/lang/String;
            areturn
        end local 0 // javax.xml.crypto.dsig.TransformService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/xml/crypto/dsig/TransformService;

  public final java.lang.String getAlgorithm();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.xml.crypto.dsig.TransformService this
         0: .line 330
            aload 0 /* this */
            getfield javax.xml.crypto.dsig.TransformService.algorithm:Ljava/lang/String;
            areturn
        end local 0 // javax.xml.crypto.dsig.TransformService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/xml/crypto/dsig/TransformService;

  public final java.security.Provider getProvider();
    descriptor: ()Ljava/security/Provider;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.xml.crypto.dsig.TransformService this
         0: .line 339
            aload 0 /* this */
            getfield javax.xml.crypto.dsig.TransformService.provider:Ljava/security/Provider;
            areturn
        end local 0 // javax.xml.crypto.dsig.TransformService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/xml/crypto/dsig/TransformService;

  public abstract void init(javax.xml.crypto.dsig.spec.TransformParameterSpec);
    descriptor: (Ljavax/xml/crypto/dsig/spec/TransformParameterSpec;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.security.InvalidAlgorithmParameterException
    MethodParameters:
        Name  Flags
      params  

  public abstract void marshalParams(javax.xml.crypto.XMLStructure, javax.xml.crypto.XMLCryptoContext);
    descriptor: (Ljavax/xml/crypto/XMLStructure;Ljavax/xml/crypto/XMLCryptoContext;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
         Name  Flags
      parent   
      context  

  public abstract void init(javax.xml.crypto.XMLStructure, javax.xml.crypto.XMLCryptoContext);
    descriptor: (Ljavax/xml/crypto/XMLStructure;Ljavax/xml/crypto/XMLCryptoContext;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.security.InvalidAlgorithmParameterException
    MethodParameters:
         Name  Flags
      parent   
      context  
}
SourceFile: "TransformService.java"
NestMembers:
  javax.xml.crypto.dsig.TransformService$MechanismMapEntry
InnerClasses:
  public Service = java.security.Provider$Service of java.security.Provider
  private MechanismMapEntry = javax.xml.crypto.dsig.TransformService$MechanismMapEntry of javax.xml.crypto.dsig.TransformService
  public final Instance = sun.security.jca.GetInstance$Instance of sun.security.jca.GetInstance