public final class org.jcp.xml.dsig.internal.dom.DOMManifest extends org.jcp.xml.dsig.internal.dom.DOMStructure implements javax.xml.crypto.dsig.Manifest
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.jcp.xml.dsig.internal.dom.DOMManifest
super_class: org.jcp.xml.dsig.internal.dom.DOMStructure
{
private final java.util.List<javax.xml.crypto.dsig.Reference> references;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljavax/xml/crypto/dsig/Reference;>;
private final java.lang.String id;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.util.List<? extends javax.xml.crypto.dsig.Reference>, java.lang.String);
descriptor: (Ljava/util/List;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMStructure.<init>:()V
1: aload 1
ifnonnull 3
2: new java.lang.NullPointerException
dup
ldc "references cannot be null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.jcp.xml.dsig.internal.dom.DOMManifest java.util.List java.lang.String
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
4: ldc Ljavax/xml/crypto/dsig/Reference;
5: invokestatic java.util.Collections.checkedList:(Ljava/util/List;Ljava/lang/Class;)Ljava/util/List;
6: astore 3
start local 3 7: aload 3
aload 1
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
8: aload 0
aload 3
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
putfield org.jcp.xml.dsig.internal.dom.DOMManifest.references:Ljava/util/List;
9: aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMManifest.references:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 11
10: new java.lang.IllegalArgumentException
dup
ldc "list of references must contain at least one entry"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: java.util.List
StackMap stack:
aload 0
aload 2
putfield org.jcp.xml.dsig.internal.dom.DOMManifest.id:Ljava/lang/String;
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/jcp/xml/dsig/internal/dom/DOMManifest;
0 13 1 references Ljava/util/List<+Ljavax/xml/crypto/dsig/Reference;>;
0 13 2 id Ljava/lang/String;
7 13 3 tempList Ljava/util/List<Ljavax/xml/crypto/dsig/Reference;>;
Signature: (Ljava/util/List<+Ljavax/xml/crypto/dsig/Reference;>;Ljava/lang/String;)V
MethodParameters:
Name Flags
references
id
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=6, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial org.jcp.xml.dsig.internal.dom.DOMStructure.<init>:()V
1: aload 1
aconst_null
ldc "Id"
invokeinterface org.w3c.dom.Element.getAttributeNodeNS:(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Attr;
astore 4
start local 4 2: aload 4
ifnull 6
3: aload 0
aload 4
invokeinterface org.w3c.dom.Attr.getValue:()Ljava/lang/String;
putfield org.jcp.xml.dsig.internal.dom.DOMManifest.id:Ljava/lang/String;
4: aload 1
aload 4
iconst_1
invokeinterface org.w3c.dom.Element.setIdAttributeNode:(Lorg/w3c/dom/Attr;Z)V
5: goto 7
6: StackMap locals: org.jcp.xml.dsig.internal.dom.DOMManifest org.w3c.dom.Element javax.xml.crypto.XMLCryptoContext java.security.Provider org.w3c.dom.Attr
StackMap stack:
aload 0
aconst_null
putfield org.jcp.xml.dsig.internal.dom.DOMManifest.id:Ljava/lang/String;
7: StackMap locals:
StackMap stack:
aload 2
invokestatic org.jcp.xml.dsig.internal.dom.Utils.secureValidation:(Ljavax/xml/crypto/XMLCryptoContext;)Z
istore 5
start local 5 8: aload 1
ldc "Reference"
invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getFirstChildElement:(Lorg/w3c/dom/Node;Ljava/lang/String;)Lorg/w3c/dom/Element;
astore 6
start local 6 9: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 10: aload 7
new org.jcp.xml.dsig.internal.dom.DOMReference
dup
aload 6
aload 2
aload 3
invokespecial org.jcp.xml.dsig.internal.dom.DOMReference.<init>:(Lorg/w3c/dom/Element;Ljavax/xml/crypto/XMLCryptoContext;Ljava/security/Provider;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: aload 6
invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getNextSiblingElement:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Element;
astore 6
12: goto 26
13: StackMap locals: int org.w3c.dom.Element java.util.List
StackMap stack:
aload 6
invokeinterface org.w3c.dom.Element.getLocalName:()Ljava/lang/String;
astore 8
start local 8 14: aload 8
ldc "Reference"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
15: new javax.xml.crypto.MarshalException
dup
new java.lang.StringBuilder
dup
ldc "Invalid element name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", expected Reference"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: java.lang.String
StackMap stack:
aload 7
new org.jcp.xml.dsig.internal.dom.DOMReference
dup
aload 6
aload 2
aload 3
invokespecial org.jcp.xml.dsig.internal.dom.DOMReference.<init>:(Lorg/w3c/dom/Element;Ljavax/xml/crypto/XMLCryptoContext;Ljava/security/Provider;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: iload 5
ifeq 25
aload 7
invokeinterface java.util.List.size:()I
invokestatic org.jcp.xml.dsig.internal.dom.Policy.restrictNumReferences:(I)Z
ifeq 25
20: new java.lang.StringBuilder
dup
ldc "A maximum of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokestatic org.jcp.xml.dsig.internal.dom.Policy.maxReferences:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
21: ldc " references per Manifest are allowed when"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: ldc " secure validation is enabled"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 9
start local 9 24: new javax.xml.crypto.MarshalException
dup
aload 9
invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
athrow
end local 9 25: StackMap locals:
StackMap stack:
aload 6
invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getNextSiblingElement:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Element;
astore 6
end local 8 26: StackMap locals:
StackMap stack:
aload 6
ifnonnull 13
27: aload 0
aload 7
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
putfield org.jcp.xml.dsig.internal.dom.DOMManifest.references:Ljava/util/List;
28: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/jcp/xml/dsig/internal/dom/DOMManifest;
0 29 1 manElem Lorg/w3c/dom/Element;
0 29 2 context Ljavax/xml/crypto/XMLCryptoContext;
0 29 3 provider Ljava/security/Provider;
2 29 4 attr Lorg/w3c/dom/Attr;
8 29 5 secVal Z
9 29 6 refElem Lorg/w3c/dom/Element;
10 29 7 refs Ljava/util/List<Ljavax/xml/crypto/dsig/Reference;>;
14 26 8 localName Ljava/lang/String;
24 25 9 error Ljava/lang/String;
Exceptions:
throws javax.xml.crypto.MarshalException
MethodParameters:
Name Flags
manElem
context
provider
public java.lang.String getId();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMManifest.id:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jcp/xml/dsig/internal/dom/DOMManifest;
static java.util.List<javax.xml.crypto.dsig.Reference> getManifestReferences(javax.xml.crypto.dsig.Manifest);
descriptor: (Ljavax/xml/crypto/dsig/Manifest;)Ljava/util/List;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface javax.xml.crypto.dsig.Manifest.getReferences:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 mf Ljavax/xml/crypto/dsig/Manifest;
Signature: (Ljavax/xml/crypto/dsig/Manifest;)Ljava/util/List<Ljavax/xml/crypto/dsig/Reference;>;
MethodParameters:
Name Flags
mf
public java.util.List<javax.xml.crypto.dsig.Reference> getReferences();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMManifest.references:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jcp/xml/dsig/internal/dom/DOMManifest;
Signature: ()Ljava/util/List<Ljavax/xml/crypto/dsig/Reference;>;
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=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getOwnerDocument:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Document;
astore 4
start local 4 1: aload 4
ldc "Manifest"
2: ldc "http://www.w3.org/2000/09/xmldsig#"
aload 2
3: 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
start local 5 4: aload 5
ldc "Id"
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMManifest.id:Ljava/lang/String;
invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.setAttributeID:(Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)V
5: aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMManifest.references:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 8
StackMap locals: org.jcp.xml.dsig.internal.dom.DOMManifest org.w3c.dom.Node java.lang.String javax.xml.crypto.dom.DOMCryptoContext org.w3c.dom.Document org.w3c.dom.Element top java.util.Iterator
StackMap stack:
6: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.xml.crypto.dsig.Reference
astore 6
start local 6 7: aload 6
checkcast org.jcp.xml.dsig.internal.dom.DOMReference
aload 5
aload 2
aload 3
invokevirtual org.jcp.xml.dsig.internal.dom.DOMReference.marshal:(Lorg/w3c/dom/Node;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
end local 6 8: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: aload 1
aload 5
invokeinterface org.w3c.dom.Node.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
pop
10: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/jcp/xml/dsig/internal/dom/DOMManifest;
0 11 1 parent Lorg/w3c/dom/Node;
0 11 2 dsPrefix Ljava/lang/String;
0 11 3 context Ljavax/xml/crypto/dom/DOMCryptoContext;
1 11 4 ownerDoc Lorg/w3c/dom/Document;
4 11 5 manElem Lorg/w3c/dom/Element;
7 8 6 ref Ljavax/xml/crypto/dsig/Reference;
Exceptions:
throws javax.xml.crypto.MarshalException
MethodParameters:
Name Flags
parent
dsPrefix
context
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof javax.xml.crypto.dsig.Manifest
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast javax.xml.crypto.dsig.Manifest
astore 2
start local 2 5: aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMManifest.id:Ljava/lang/String;
ifnonnull 7
aload 2
invokeinterface javax.xml.crypto.dsig.Manifest.getId:()Ljava/lang/String;
ifnonnull 6
iconst_1
goto 8
StackMap locals: javax.xml.crypto.dsig.Manifest
StackMap stack:
6: iconst_0
goto 8
7: StackMap locals:
StackMap stack:
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMManifest.id:Ljava/lang/String;
aload 2
invokeinterface javax.xml.crypto.dsig.Manifest.getId:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
8: StackMap locals:
StackMap stack: int
istore 3
start local 3 9: iload 3
ifeq 10
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMManifest.references:Ljava/util/List;
aload 2
invokeinterface javax.xml.crypto.dsig.Manifest.getReferences:()Ljava/util/List;
invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
ifeq 10
iconst_1
ireturn
StackMap locals: int
StackMap stack:
10: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/jcp/xml/dsig/internal/dom/DOMManifest;
0 11 1 o Ljava/lang/Object;
5 11 2 oman Ljavax/xml/crypto/dsig/Manifest;
9 11 3 idsEqual Z
MethodParameters:
Name Flags
o
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: bipush 17
istore 1
start local 1 1: aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMManifest.id:Ljava/lang/String;
ifnull 3
2: bipush 31
iload 1
imul
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMManifest.id:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
iadd
istore 1
3: StackMap locals: int
StackMap stack:
bipush 31
iload 1
imul
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMManifest.references:Ljava/util/List;
invokeinterface java.util.List.hashCode:()I
iadd
istore 1
4: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jcp/xml/dsig/internal/dom/DOMManifest;
1 5 1 result I
}
SourceFile: "DOMManifest.java"