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 158
            aload 1 /* mechanismType */
            ifnull 1
            aload 0 /* algorithm */
            ifnonnull 2
         1: .line 159
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 161
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* dom */
        start local 2 // boolean dom
         3: .line 162
            aload 1 /* mechanismType */
            ldc "DOM"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 163
            iconst_1
            istore 2 /* dom */
         5: .line 166
      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 167
            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 168
            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 169
            aload 8 /* s */
            ifnull 20
        10: .line 170
            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 171
            aload 9 /* value */
            ifnonnull 12
            iload 2 /* dom */
            ifne 13
        12: .line 172
      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 173
      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 174
            aload 10 /* obj */
            instanceof javax.xml.crypto.dsig.TransformService
            ifeq 20
        15: .line 175
            aload 10 /* obj */
            checkcast javax.xml.crypto.dsig.TransformService
            astore 11 /* ts */
        start local 11 // javax.xml.crypto.dsig.TransformService ts
        16: .line 176
            aload 11 /* ts */
            aload 0 /* algorithm */
            putfield javax.xml.crypto.dsig.TransformService.algorithm:Ljava/lang/String;
        17: .line 177
            aload 11 /* ts */
            aload 1 /* mechanismType */
            putfield javax.xml.crypto.dsig.TransformService.mechanism:Ljava/lang/String;
        18: .line 178
            aload 11 /* ts */
            aload 4 /* p */
            putfield javax.xml.crypto.dsig.TransformService.provider:Ljava/security/Provider;
        19: .line 179
            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 167
      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 184
            new java.security.NoSuchAlgorithmException
            dup
        23: .line 185
            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 186
            ldc " mechanism not available"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 185
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 184
            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 212
            aload 1 /* mechanismType */
            ifnull 1
            aload 0 /* algorithm */
            ifnull 1
            aload 2 /* provider */
            ifnonnull 2
         1: .line 213
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 216
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* dom */
        start local 3 // boolean dom
         3: .line 217
            aload 1 /* mechanismType */
            ldc "DOM"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 218
            iconst_1
            istore 3 /* dom */
         5: .line 220
      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 221
            aload 4 /* s */
            ifnull 17
         7: .line 222
            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 223
            aload 5 /* value */
            ifnonnull 9
            iload 3 /* dom */
            ifne 10
         9: .line 224
      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 225
      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 226
            aload 6 /* obj */
            instanceof javax.xml.crypto.dsig.TransformService
            ifeq 17
        12: .line 227
            aload 6 /* obj */
            checkcast javax.xml.crypto.dsig.TransformService
            astore 7 /* ts */
        start local 7 // javax.xml.crypto.dsig.TransformService ts
        13: .line 228
            aload 7 /* ts */
            aload 0 /* algorithm */
            putfield javax.xml.crypto.dsig.TransformService.algorithm:Ljava/lang/String;
        14: .line 229
            aload 7 /* ts */
            aload 1 /* mechanismType */
            putfield javax.xml.crypto.dsig.TransformService.mechanism:Ljava/lang/String;
        15: .line 230
            aload 7 /* ts */
            aload 2 /* provider */
            putfield javax.xml.crypto.dsig.TransformService.provider:Ljava/security/Provider;
        16: .line 231
            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 235
      StackMap locals:
      StackMap stack:
            new java.security.NoSuchAlgorithmException
            dup
        18: .line 236
            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 237
            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 236
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 235
            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 267
            aload 1 /* mechanismType */
            ifnull 1
            aload 0 /* algorithm */
            ifnull 1
            aload 2 /* provider */
            ifnonnull 2
         1: .line 268
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 269
      StackMap locals:
      StackMap stack:
            aload 2 /* provider */
            invokevirtual java.lang.String.length:()I
            ifne 4
         3: .line 270
            new java.security.NoSuchProviderException
            dup
            invokespecial java.security.NoSuchProviderException.<init>:()V
            athrow
         4: .line 272
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* dom */
        start local 3 // boolean dom
         5: .line 273
            aload 1 /* mechanismType */
            ldc "DOM"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 274
            iconst_1
            istore 3 /* dom */
         7: .line 276
      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 277
            aload 4 /* p */
            ifnonnull 12
         9: .line 278
            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 279
            aload 2 /* provider */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 278
            invokespecial java.security.NoSuchProviderException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 281
      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 282
            aload 5 /* s */
            ifnull 24
        14: .line 283
            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 284
            aload 6 /* value */
            ifnonnull 16
            iload 3 /* dom */
            ifne 17
        16: .line 285
      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 286
      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 287
            aload 7 /* obj */
            instanceof javax.xml.crypto.dsig.TransformService
            ifeq 24
        19: .line 288
            aload 7 /* obj */
            checkcast javax.xml.crypto.dsig.TransformService
            astore 8 /* ts */
        start local 8 // javax.xml.crypto.dsig.TransformService ts
        20: .line 289
            aload 8 /* ts */
            aload 0 /* algorithm */
            putfield javax.xml.crypto.dsig.TransformService.algorithm:Ljava/lang/String;
        21: .line 290
            aload 8 /* ts */
            aload 1 /* mechanismType */
            putfield javax.xml.crypto.dsig.TransformService.mechanism:Ljava/lang/String;
        22: .line 291
            aload 8 /* ts */
            aload 4 /* p */
            putfield javax.xml.crypto.dsig.TransformService.provider:Ljava/security/Provider;
        23: .line 292
            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 296
      StackMap locals:
      StackMap stack:
            new java.security.NoSuchAlgorithmException
            dup
        25: .line 297
            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 298
            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 297
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 296
            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 341
            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 351
            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 360
            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