public class org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod extends org.jcp.xml.dsig.internal.dom.DOMTransform implements javax.xml.crypto.dsig.CanonicalizationMethod
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod
  super_class: org.jcp.xml.dsig.internal.dom.DOMTransform
{
  public void <init>(javax.xml.crypto.dsig.TransformService);
    descriptor: (Ljavax/xml/crypto/dsig/TransformService;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod this
        start local 1 // javax.xml.crypto.dsig.TransformService spi
         0: .line 56
            aload 0 /* this */
            aload 1 /* spi */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMTransform.<init>:(Ljavax/xml/crypto/dsig/TransformService;)V
         1: .line 57
            aload 1 /* spi */
            instanceof org.jcp.xml.dsig.internal.dom.ApacheCanonicalizer
            ifne 3
            aload 1 /* spi */
            invokevirtual javax.xml.crypto.dsig.TransformService.getAlgorithm:()Ljava/lang/String;
            invokestatic org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod.isC14Nalg:(Ljava/lang/String;)Z
            ifne 3
         2: .line 58
            new java.security.InvalidAlgorithmParameterException
            dup
            ldc "Illegal CanonicalizationMethod"
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 60
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod javax.xml.crypto.dsig.TransformService
      StackMap stack:
            return
        end local 1 // javax.xml.crypto.dsig.TransformService spi
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod;
            0    4     1   spi  Ljavax/xml/crypto/dsig/TransformService;
    Exceptions:
      throws java.security.InvalidAlgorithmParameterException
    MethodParameters:
      Name  Flags
      spi   

  public void <init>(org.w3c.dom.Element, javax.xml.crypto.XMLCryptoContext, java.security.Provider);
    descriptor: (Lorg/w3c/dom/Element;Ljavax/xml/crypto/XMLCryptoContext;Ljava/security/Provider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod this
        start local 1 // org.w3c.dom.Element cmElem
        start local 2 // javax.xml.crypto.XMLCryptoContext context
        start local 3 // java.security.Provider provider
         0: .line 72
            aload 0 /* this */
            aload 1 /* cmElem */
            aload 2 /* context */
            aload 3 /* provider */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMTransform.<init>:(Lorg/w3c/dom/Element;Ljavax/xml/crypto/XMLCryptoContext;Ljava/security/Provider;)V
         1: .line 73
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod.spi:Ljavax/xml/crypto/dsig/TransformService;
            instanceof org.jcp.xml.dsig.internal.dom.ApacheCanonicalizer
            ifne 3
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod.spi:Ljavax/xml/crypto/dsig/TransformService;
            invokevirtual javax.xml.crypto.dsig.TransformService.getAlgorithm:()Ljava/lang/String;
            invokestatic org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod.isC14Nalg:(Ljava/lang/String;)Z
            ifne 3
         2: .line 74
            new javax.xml.crypto.MarshalException
            dup
            ldc "Illegal CanonicalizationMethod"
            invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 76
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod org.w3c.dom.Element javax.xml.crypto.XMLCryptoContext java.security.Provider
      StackMap stack:
            return
        end local 3 // java.security.Provider provider
        end local 2 // javax.xml.crypto.XMLCryptoContext context
        end local 1 // org.w3c.dom.Element cmElem
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod;
            0    4     1    cmElem  Lorg/w3c/dom/Element;
            0    4     2   context  Ljavax/xml/crypto/XMLCryptoContext;
            0    4     3  provider  Ljava/security/Provider;
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
          Name  Flags
      cmElem    
      context   
      provider  

  public javax.xml.crypto.Data canonicalize(javax.xml.crypto.Data, javax.xml.crypto.XMLCryptoContext);
    descriptor: (Ljavax/xml/crypto/Data;Ljavax/xml/crypto/XMLCryptoContext;)Ljavax/xml/crypto/Data;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod this
        start local 1 // javax.xml.crypto.Data data
        start local 2 // javax.xml.crypto.XMLCryptoContext xc
         0: .line 94
            aload 0 /* this */
            aload 1 /* data */
            aload 2 /* xc */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod.transform:(Ljavax/xml/crypto/Data;Ljavax/xml/crypto/XMLCryptoContext;)Ljavax/xml/crypto/Data;
            areturn
        end local 2 // javax.xml.crypto.XMLCryptoContext xc
        end local 1 // javax.xml.crypto.Data data
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod;
            0    1     1  data  Ljavax/xml/crypto/Data;
            0    1     2    xc  Ljavax/xml/crypto/XMLCryptoContext;
    Exceptions:
      throws javax.xml.crypto.dsig.TransformException
    MethodParameters:
      Name  Flags
      data  
      xc    

  public javax.xml.crypto.Data canonicalize(javax.xml.crypto.Data, javax.xml.crypto.XMLCryptoContext, java.io.OutputStream);
    descriptor: (Ljavax/xml/crypto/Data;Ljavax/xml/crypto/XMLCryptoContext;Ljava/io/OutputStream;)Ljavax/xml/crypto/Data;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod this
        start local 1 // javax.xml.crypto.Data data
        start local 2 // javax.xml.crypto.XMLCryptoContext xc
        start local 3 // java.io.OutputStream os
         0: .line 100
            aload 0 /* this */
            aload 1 /* data */
            aload 2 /* xc */
            aload 3 /* os */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod.transform:(Ljavax/xml/crypto/Data;Ljavax/xml/crypto/XMLCryptoContext;Ljava/io/OutputStream;)Ljavax/xml/crypto/Data;
            areturn
        end local 3 // java.io.OutputStream os
        end local 2 // javax.xml.crypto.XMLCryptoContext xc
        end local 1 // javax.xml.crypto.Data data
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod;
            0    1     1  data  Ljavax/xml/crypto/Data;
            0    1     2    xc  Ljavax/xml/crypto/XMLCryptoContext;
            0    1     3    os  Ljava/io/OutputStream;
    Exceptions:
      throws javax.xml.crypto.dsig.TransformException
    MethodParameters:
      Name  Flags
      data  
      xc    
      os    

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod this
        start local 1 // java.lang.Object o
         0: .line 105
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 106
            iconst_1
            ireturn
         2: .line 109
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof javax.xml.crypto.dsig.CanonicalizationMethod
            ifne 4
         3: .line 110
            iconst_0
            ireturn
         4: .line 112
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast javax.xml.crypto.dsig.CanonicalizationMethod
            astore 2 /* ocm */
        start local 2 // javax.xml.crypto.dsig.CanonicalizationMethod ocm
         5: .line 114
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod.getAlgorithm:()Ljava/lang/String;
            aload 2 /* ocm */
            invokeinterface javax.xml.crypto.dsig.CanonicalizationMethod.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 115
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod.getParameterSpec:()Ljava/security/spec/AlgorithmParameterSpec;
            aload 2 /* ocm */
            invokeinterface javax.xml.crypto.dsig.CanonicalizationMethod.getParameterSpec:()Ljava/security/spec/AlgorithmParameterSpec;
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.paramsEqual:(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/spec/AlgorithmParameterSpec;)Z
            ifeq 8
         7: .line 114
            iconst_1
            ireturn
      StackMap locals: javax.xml.crypto.dsig.CanonicalizationMethod
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // javax.xml.crypto.dsig.CanonicalizationMethod ocm
        end local 1 // java.lang.Object o
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod;
            0    9     1     o  Ljava/lang/Object;
            5    9     2   ocm  Ljavax/xml/crypto/dsig/CanonicalizationMethod;
    MethodParameters:
      Name  Flags
      o     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod this
         0: .line 120
            bipush 17
            istore 1 /* result */
        start local 1 // int result
         1: .line 121
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            iadd
            istore 1 /* result */
         2: .line 122
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod.getParameterSpec:()Ljava/security/spec/AlgorithmParameterSpec;
            astore 2 /* spec */
        start local 2 // java.security.spec.AlgorithmParameterSpec spec
         3: .line 123
            aload 2 /* spec */
            ifnull 5
         4: .line 124
            bipush 31
            iload 1 /* result */
            imul
            aload 2 /* spec */
            invokevirtual java.lang.Object.hashCode:()I
            iadd
            istore 1 /* result */
         5: .line 127
      StackMap locals: int java.security.spec.AlgorithmParameterSpec
      StackMap stack:
            iload 1 /* result */
            ireturn
        end local 2 // java.security.spec.AlgorithmParameterSpec spec
        end local 1 // int result
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod;
            1    6     1  result  I
            3    6     2    spec  Ljava/security/spec/AlgorithmParameterSpec;

  private static boolean isC14Nalg(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String alg
         0: .line 131
            aload 0 /* alg */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod.isInclusiveC14Nalg:(Ljava/lang/String;)Z
            ifne 1
            aload 0 /* alg */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod.isExclusiveC14Nalg:(Ljava/lang/String;)Z
            ifne 1
            aload 0 /* alg */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMCanonicalizationMethod.isC14N11alg:(Ljava/lang/String;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.String alg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   alg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      alg   

  private static boolean isInclusiveC14Nalg(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String alg
         0: .line 135
            aload 0 /* alg */
            ldc "http://www.w3.org/TR/2001/REC-xml-c14n-20010315"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         1: .line 136
            aload 0 /* alg */
            ldc "http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 135
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 0 // java.lang.String alg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   alg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      alg   

  private static boolean isExclusiveC14Nalg(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String alg
         0: .line 140
            aload 0 /* alg */
            ldc "http://www.w3.org/2001/10/xml-exc-c14n#"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         1: .line 141
            aload 0 /* alg */
            ldc "http://www.w3.org/2001/10/xml-exc-c14n#WithComments"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 140
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 0 // java.lang.String alg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   alg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      alg   

  private static boolean isC14N11alg(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String alg
         0: .line 145
            aload 0 /* alg */
            ldc "http://www.w3.org/2006/12/xml-c14n11"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         1: .line 146
            aload 0 /* alg */
            ldc "http://www.w3.org/2006/12/xml-c14n11#WithComments"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 145
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 0 // java.lang.String alg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   alg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      alg   
}
SourceFile: "DOMCanonicalizationMethod.java"