abstract class org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod extends org.jcp.xml.dsig.internal.dom.DOMStructure implements javax.xml.crypto.dsig.SignatureMethod
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod
  super_class: org.jcp.xml.dsig.internal.dom.DOMStructure
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod this
         0: .line 48
            aload 0 /* this */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMStructure.<init>:()V
            return
        end local 0 // org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcp/xml/dsig/internal/dom/AbstractDOMSignatureMethod;

  abstract boolean verify(java.security.Key, javax.xml.crypto.dsig.SignedInfo, byte[], javax.xml.crypto.dsig.XMLValidateContext);
    descriptor: (Ljava/security/Key;Ljavax/xml/crypto/dsig/SignedInfo;[BLjavax/xml/crypto/dsig/XMLValidateContext;)Z
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws java.security.InvalidKeyException, java.security.SignatureException, javax.xml.crypto.dsig.XMLSignatureException
    MethodParameters:
         Name  Flags
      key      
      si       
      sig      
      context  

  abstract byte[] sign(java.security.Key, javax.xml.crypto.dsig.SignedInfo, javax.xml.crypto.dsig.XMLSignContext);
    descriptor: (Ljava/security/Key;Ljavax/xml/crypto/dsig/SignedInfo;Ljavax/xml/crypto/dsig/XMLSignContext;)[B
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws java.security.InvalidKeyException, javax.xml.crypto.dsig.XMLSignatureException
    MethodParameters:
         Name  Flags
      key      
      si       
      context  

  abstract java.lang.String getJCAAlgorithm();
    descriptor: ()Ljava/lang/String;
    flags: (0x0400) ACC_ABSTRACT

  abstract org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod$Type getAlgorithmType();
    descriptor: ()Lorg/jcp/xml/dsig/internal/dom/AbstractDOMSignatureMethod$Type;
    flags: (0x0400) ACC_ABSTRACT

  public void marshal(org.w3c.dom.Node, java.lang.String, javax.xml.crypto.dom.DOMCryptoContext);
    descriptor: (Lorg/w3c/dom/Node;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod this
        start local 1 // org.w3c.dom.Node parent
        start local 2 // java.lang.String dsPrefix
        start local 3 // javax.xml.crypto.dom.DOMCryptoContext context
         0: .line 112
            aload 1 /* parent */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getOwnerDocument:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Document;
            astore 4 /* ownerDoc */
        start local 4 // org.w3c.dom.Document ownerDoc
         1: .line 114
            aload 4 /* ownerDoc */
            ldc "SignatureMethod"
         2: .line 115
            ldc "http://www.w3.org/2000/09/xmldsig#"
            aload 2 /* dsPrefix */
         3: .line 114
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.createElement:(Lorg/w3c/dom/Document;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
            astore 5 /* smElem */
        start local 5 // org.w3c.dom.Element smElem
         4: .line 116
            aload 5 /* smElem */
            ldc "Algorithm"
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.getAlgorithm:()Ljava/lang/String;
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.setAttribute:(Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)V
         5: .line 118
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.getParameterSpec:()Ljava/security/spec/AlgorithmParameterSpec;
            ifnull 7
         6: .line 119
            aload 0 /* this */
            aload 5 /* smElem */
            aload 2 /* dsPrefix */
            invokevirtual org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.marshalParams:(Lorg/w3c/dom/Element;Ljava/lang/String;)V
         7: .line 122
      StackMap locals: org.w3c.dom.Document org.w3c.dom.Element
      StackMap stack:
            aload 1 /* parent */
            aload 5 /* smElem */
            invokeinterface org.w3c.dom.Node.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
         8: .line 123
            return
        end local 5 // org.w3c.dom.Element smElem
        end local 4 // org.w3c.dom.Document ownerDoc
        end local 3 // javax.xml.crypto.dom.DOMCryptoContext context
        end local 2 // java.lang.String dsPrefix
        end local 1 // org.w3c.dom.Node parent
        end local 0 // org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/jcp/xml/dsig/internal/dom/AbstractDOMSignatureMethod;
            0    9     1    parent  Lorg/w3c/dom/Node;
            0    9     2  dsPrefix  Ljava/lang/String;
            0    9     3   context  Ljavax/xml/crypto/dom/DOMCryptoContext;
            1    9     4  ownerDoc  Lorg/w3c/dom/Document;
            4    9     5    smElem  Lorg/w3c/dom/Element;
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
          Name  Flags
      parent    
      dsPrefix  
      context   

  void marshalParams(org.w3c.dom.Element, java.lang.String);
    descriptor: (Lorg/w3c/dom/Element;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod this
        start local 1 // org.w3c.dom.Element parent
        start local 2 // java.lang.String paramsPrefix
         0: .line 138
            new javax.xml.crypto.MarshalException
            dup
            new java.lang.StringBuilder
            dup
            ldc "no parameters should be specified for the "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 139
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 140
            ldc " SignatureMethod algorithm"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 138
            invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String paramsPrefix
        end local 1 // org.w3c.dom.Element parent
        end local 0 // org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/jcp/xml/dsig/internal/dom/AbstractDOMSignatureMethod;
            0    4     1        parent  Lorg/w3c/dom/Element;
            0    4     2  paramsPrefix  Ljava/lang/String;
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
              Name  Flags
      parent        
      paramsPrefix  

  javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec unmarshalParams(org.w3c.dom.Element);
    descriptor: (Lorg/w3c/dom/Element;)Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod this
        start local 1 // org.w3c.dom.Element paramsElem
         0: .line 156
            new javax.xml.crypto.MarshalException
            dup
            new java.lang.StringBuilder
            dup
            ldc "no parameters should be specified for the "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 157
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 158
            ldc " SignatureMethod algorithm"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 156
            invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // org.w3c.dom.Element paramsElem
        end local 0 // org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/jcp/xml/dsig/internal/dom/AbstractDOMSignatureMethod;
            0    4     1  paramsElem  Lorg/w3c/dom/Element;
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
            Name  Flags
      paramsElem  

  void checkParams(javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec);
    descriptor: (Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod this
        start local 1 // javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec params
         0: .line 174
            aload 1 /* params */
            ifnull 5
         1: .line 175
            new java.security.InvalidAlgorithmParameterException
            dup
            new java.lang.StringBuilder
            dup
            ldc "no parameters should be specified for the "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 176
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 177
            ldc " SignatureMethod algorithm"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 175
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 179
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec params
        end local 0 // org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/jcp/xml/dsig/internal/dom/AbstractDOMSignatureMethod;
            0    6     1  params  Ljavax/xml/crypto/dsig/spec/SignatureMethodParameterSpec;
    Exceptions:
      throws java.security.InvalidAlgorithmParameterException
    MethodParameters:
        Name  Flags
      params  

  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.AbstractDOMSignatureMethod this
        start local 1 // java.lang.Object o
         0: .line 184
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 185
            iconst_1
            ireturn
         2: .line 188
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof javax.xml.crypto.dsig.SignatureMethod
            ifne 4
         3: .line 189
            iconst_0
            ireturn
         4: .line 191
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast javax.xml.crypto.dsig.SignatureMethod
            astore 2 /* osm */
        start local 2 // javax.xml.crypto.dsig.SignatureMethod osm
         5: .line 193
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.getAlgorithm:()Ljava/lang/String;
            aload 2 /* osm */
            invokeinterface javax.xml.crypto.dsig.SignatureMethod.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 194
            aload 0 /* this */
            aload 2 /* osm */
            invokeinterface javax.xml.crypto.dsig.SignatureMethod.getParameterSpec:()Ljava/security/spec/AlgorithmParameterSpec;
            invokevirtual org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.paramsEqual:(Ljava/security/spec/AlgorithmParameterSpec;)Z
            ifeq 8
         7: .line 193
            iconst_1
            ireturn
      StackMap locals: javax.xml.crypto.dsig.SignatureMethod
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // javax.xml.crypto.dsig.SignatureMethod osm
        end local 1 // java.lang.Object o
        end local 0 // org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/jcp/xml/dsig/internal/dom/AbstractDOMSignatureMethod;
            0    9     1     o  Ljava/lang/Object;
            5    9     2   osm  Ljavax/xml/crypto/dsig/SignatureMethod;
    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.AbstractDOMSignatureMethod this
         0: .line 199
            bipush 17
            istore 1 /* result */
        start local 1 // int result
         1: .line 200
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            iadd
            istore 1 /* result */
         2: .line 201
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.getParameterSpec:()Ljava/security/spec/AlgorithmParameterSpec;
            astore 2 /* spec */
        start local 2 // java.security.spec.AlgorithmParameterSpec spec
         3: .line 202
            aload 2 /* spec */
            ifnull 5
         4: .line 203
            bipush 31
            iload 1 /* result */
            imul
            aload 2 /* spec */
            invokevirtual java.lang.Object.hashCode:()I
            iadd
            istore 1 /* result */
         5: .line 206
      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.AbstractDOMSignatureMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/jcp/xml/dsig/internal/dom/AbstractDOMSignatureMethod;
            1    6     1  result  I
            3    6     2    spec  Ljava/security/spec/AlgorithmParameterSpec;

  boolean paramsEqual(java.security.spec.AlgorithmParameterSpec);
    descriptor: (Ljava/security/spec/AlgorithmParameterSpec;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod this
        start local 1 // java.security.spec.AlgorithmParameterSpec spec
         0: .line 217
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.getParameterSpec:()Ljava/security/spec/AlgorithmParameterSpec;
            aload 1 /* spec */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.security.spec.AlgorithmParameterSpec spec
        end local 0 // org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jcp/xml/dsig/internal/dom/AbstractDOMSignatureMethod;
            0    2     1  spec  Ljava/security/spec/AlgorithmParameterSpec;
    MethodParameters:
      Name  Flags
      spec  
}
SourceFile: "AbstractDOMSignatureMethod.java"
NestMembers:
  org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod$Type
InnerClasses:
  final Type = org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod$Type of org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod