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 117
            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=12, args_size=2
        start local 0 // java.lang.String algorithm
        start local 1 // java.lang.String mechanismType
         0: .line 167
            aload 1 /* mechanismType */
            ifnull 1
            aload 0 /* algorithm */
            ifnonnull 2
         1: .line 168
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 170
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* dom */
        start local 2 // boolean dom
         3: .line 171
            aload 1 /* mechanismType */
            ldc "DOM"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 172
            iconst_1
            istore 2 /* dom */
         5: .line 175
      StackMap locals: int
      StackMap stack:
            invokestatic java.security.Security.getProviders:()[Ljava/security/Provider;
            astore 3 /* provs */
        start local 3 // java.security.Provider[] provs
         6: .line 176
            aload 3 /* provs */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 21
      StackMap locals: java.lang.String java.lang.String int java.security.Provider[] top int int java.security.Provider[]
      StackMap stack:
         7: aload 7
            iload 5
            aaload
            astore 4 /* p */
        start local 4 // java.security.Provider p
         8: .line 177
            aload 4 /* p */
            ldc "TransformService"
            aload 0 /* algorithm */
            invokevirtual java.security.Provider.getService:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
            astore 8 /* s */
        start local 8 // java.security.Provider$Service s
         9: .line 178
            aload 8 /* s */
            ifnull 20
        10: .line 179
            aload 8 /* s */
            ldc "MechanismType"
            invokevirtual java.security.Provider$Service.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* value */
        start local 9 // java.lang.String value
        11: .line 180
            aload 9 /* value */
            ifnonnull 12
            iload 2 /* dom */
            ifne 13
        12: .line 181
      StackMap locals: java.lang.String java.lang.String int java.security.Provider[] java.security.Provider int int java.security.Provider[] java.security.Provider$Service java.lang.String
      StackMap stack:
            aload 9 /* value */
            ifnull 20
            aload 9 /* value */
            aload 1 /* mechanismType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        13: .line 182
      StackMap locals:
      StackMap stack:
            aload 8 /* s */
            aconst_null
            invokevirtual java.security.Provider$Service.newInstance:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 10 /* obj */
        start local 10 // java.lang.Object obj
        14: .line 183
            aload 10 /* obj */
            instanceof javax.xml.crypto.dsig.TransformService
            ifeq 20
        15: .line 184
            aload 10 /* obj */
            checkcast javax.xml.crypto.dsig.TransformService
            astore 11 /* ts */
        start local 11 // javax.xml.crypto.dsig.TransformService ts
        16: .line 185
            aload 11 /* ts */
            aload 0 /* algorithm */
            putfield javax.xml.crypto.dsig.TransformService.algorithm:Ljava/lang/String;
        17: .line 186
            aload 11 /* ts */
            aload 1 /* mechanismType */
            putfield javax.xml.crypto.dsig.TransformService.mechanism:Ljava/lang/String;
        18: .line 187
            aload 11 /* ts */
            aload 4 /* p */
            putfield javax.xml.crypto.dsig.TransformService.provider:Ljava/security/Provider;
        19: .line 188
            aload 11 /* ts */
            areturn
        end local 11 // javax.xml.crypto.dsig.TransformService ts
        end local 10 // java.lang.Object obj
        end local 9 // java.lang.String value
        end local 8 // java.security.Provider$Service s
        end local 4 // java.security.Provider p
        20: .line 176
      StackMap locals: java.lang.String java.lang.String int java.security.Provider[] top int int java.security.Provider[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        21: iload 5
            iload 6
            if_icmplt 7
        22: .line 193
            new java.security.NoSuchAlgorithmException
            dup
        23: .line 194
            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;
        24: .line 195
            ldc " mechanism not available"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 194
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 193
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.security.Provider[] provs
        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   27     0      algorithm  Ljava/lang/String;
            0   27     1  mechanismType  Ljava/lang/String;
            3   27     2            dom  Z
            6   27     3          provs  [Ljava/security/Provider;
            8   20     4              p  Ljava/security/Provider;
            9   20     8              s  Ljava/security/Provider$Service;
           11   20     9          value  Ljava/lang/String;
           14   20    10            obj  Ljava/lang/Object;
           16   20    11             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 230
            aload 1 /* mechanismType */
            ifnull 1
            aload 0 /* algorithm */
            ifnull 1
            aload 2 /* provider */
            ifnonnull 2
         1: .line 231
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 234
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* dom */
        start local 3 // boolean dom
         3: .line 235
            aload 1 /* mechanismType */
            ldc "DOM"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 236
            iconst_1
            istore 3 /* dom */
         5: .line 238
      StackMap locals: int
      StackMap stack:
            aload 2 /* provider */
            ldc "TransformService"
            aload 0 /* algorithm */
            invokevirtual java.security.Provider.getService:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
            astore 4 /* s */
        start local 4 // java.security.Provider$Service s
         6: .line 239
            aload 4 /* s */
            ifnull 17
         7: .line 240
            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 241
            aload 5 /* value */
            ifnonnull 9
            iload 3 /* dom */
            ifne 10
         9: .line 242
      StackMap locals: java.security.Provider$Service java.lang.String
      StackMap stack:
            aload 5 /* value */
            ifnull 17
            aload 5 /* value */
            aload 1 /* mechanismType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        10: .line 243
      StackMap locals:
      StackMap stack:
            aload 4 /* s */
            aconst_null
            invokevirtual java.security.Provider$Service.newInstance:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* obj */
        start local 6 // java.lang.Object obj
        11: .line 244
            aload 6 /* obj */
            instanceof javax.xml.crypto.dsig.TransformService
            ifeq 17
        12: .line 245
            aload 6 /* obj */
            checkcast javax.xml.crypto.dsig.TransformService
            astore 7 /* ts */
        start local 7 // javax.xml.crypto.dsig.TransformService ts
        13: .line 246
            aload 7 /* ts */
            aload 0 /* algorithm */
            putfield javax.xml.crypto.dsig.TransformService.algorithm:Ljava/lang/String;
        14: .line 247
            aload 7 /* ts */
            aload 1 /* mechanismType */
            putfield javax.xml.crypto.dsig.TransformService.mechanism:Ljava/lang/String;
        15: .line 248
            aload 7 /* ts */
            aload 2 /* provider */
            putfield javax.xml.crypto.dsig.TransformService.provider:Ljava/security/Provider;
        16: .line 249
            aload 7 /* ts */
            areturn
        end local 7 // javax.xml.crypto.dsig.TransformService ts
        end local 6 // java.lang.Object obj
        end local 5 // java.lang.String value
        17: .line 253
      StackMap locals:
      StackMap stack:
            new java.security.NoSuchAlgorithmException
            dup
        18: .line 254
            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;
        19: .line 255
            ldc " mechanism not available from "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* provider */
            invokevirtual java.security.Provider.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 254
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 253
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
        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   22     0      algorithm  Ljava/lang/String;
            0   22     1  mechanismType  Ljava/lang/String;
            0   22     2       provider  Ljava/security/Provider;
            3   22     3            dom  Z
            6   22     4              s  Ljava/security/Provider$Service;
            8   17     5          value  Ljava/lang/String;
           11   17     6            obj  Ljava/lang/Object;
           13   17     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=9, 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 294
            aload 1 /* mechanismType */
            ifnull 1
            aload 0 /* algorithm */
            ifnull 1
            aload 2 /* provider */
            ifnonnull 2
         1: .line 295
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 296
      StackMap locals:
      StackMap stack:
            aload 2 /* provider */
            invokevirtual java.lang.String.length:()I
            ifne 4
         3: .line 297
            new java.security.NoSuchProviderException
            dup
            invokespecial java.security.NoSuchProviderException.<init>:()V
            athrow
         4: .line 299
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* dom */
        start local 3 // boolean dom
         5: .line 300
            aload 1 /* mechanismType */
            ldc "DOM"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 301
            iconst_1
            istore 3 /* dom */
         7: .line 303
      StackMap locals: int
      StackMap stack:
            aload 2 /* provider */
            invokestatic java.security.Security.getProvider:(Ljava/lang/String;)Ljava/security/Provider;
            astore 4 /* p */
        start local 4 // java.security.Provider p
         8: .line 304
            aload 4 /* p */
            ifnonnull 12
         9: .line 305
            new java.security.NoSuchProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No such provider: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 306
            aload 2 /* provider */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 305
            invokespecial java.security.NoSuchProviderException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 308
      StackMap locals: java.security.Provider
      StackMap stack:
            aload 4 /* p */
            ldc "TransformService"
            aload 0 /* algorithm */
            invokevirtual java.security.Provider.getService:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
            astore 5 /* s */
        start local 5 // java.security.Provider$Service s
        13: .line 309
            aload 5 /* s */
            ifnull 24
        14: .line 310
            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
        15: .line 311
            aload 6 /* value */
            ifnonnull 16
            iload 3 /* dom */
            ifne 17
        16: .line 312
      StackMap locals: java.security.Provider$Service java.lang.String
      StackMap stack:
            aload 6 /* value */
            ifnull 24
            aload 6 /* value */
            aload 1 /* mechanismType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        17: .line 313
      StackMap locals:
      StackMap stack:
            aload 5 /* s */
            aconst_null
            invokevirtual java.security.Provider$Service.newInstance:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* obj */
        start local 7 // java.lang.Object obj
        18: .line 314
            aload 7 /* obj */
            instanceof javax.xml.crypto.dsig.TransformService
            ifeq 24
        19: .line 315
            aload 7 /* obj */
            checkcast javax.xml.crypto.dsig.TransformService
            astore 8 /* ts */
        start local 8 // javax.xml.crypto.dsig.TransformService ts
        20: .line 316
            aload 8 /* ts */
            aload 0 /* algorithm */
            putfield javax.xml.crypto.dsig.TransformService.algorithm:Ljava/lang/String;
        21: .line 317
            aload 8 /* ts */
            aload 1 /* mechanismType */
            putfield javax.xml.crypto.dsig.TransformService.mechanism:Ljava/lang/String;
        22: .line 318
            aload 8 /* ts */
            aload 4 /* p */
            putfield javax.xml.crypto.dsig.TransformService.provider:Ljava/security/Provider;
        23: .line 319
            aload 8 /* ts */
            areturn
        end local 8 // javax.xml.crypto.dsig.TransformService ts
        end local 7 // java.lang.Object obj
        end local 6 // java.lang.String value
        24: .line 323
      StackMap locals:
      StackMap stack:
            new java.security.NoSuchAlgorithmException
            dup
        25: .line 324
            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;
        26: .line 325
            ldc " mechanism not available from "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* provider */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 324
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 323
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.security.Provider$Service s
        end local 4 // java.security.Provider p
        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   29     0      algorithm  Ljava/lang/String;
            0   29     1  mechanismType  Ljava/lang/String;
            0   29     2       provider  Ljava/lang/String;
            5   29     3            dom  Z
            8   29     4              p  Ljava/security/Provider;
           13   29     5              s  Ljava/security/Provider$Service;
           15   24     6          value  Ljava/lang/String;
           18   24     7            obj  Ljava/lang/Object;
           20   24     8             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 368
            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 378
            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 387
            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