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=5, locals=5, 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:
aload 0
4: new java.util.ArrayList
dup
aload 1
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
5: putfield org.jcp.xml.dsig.internal.dom.DOMManifest.references:Ljava/util/List;
6: aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMManifest.references:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 8
7: 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
8: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 9: aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMManifest.references:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 4
start local 4 10: goto 16
11: StackMap locals: int int
StackMap stack:
aload 0
getfield org.jcp.xml.dsig.internal.dom.DOMManifest.references:Ljava/util/List;
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
instanceof javax.xml.crypto.dsig.Reference
ifne 15
12: new java.lang.ClassCastException
dup
13: new java.lang.StringBuilder
dup
ldc "references["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] is not a valid type"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
16: iload 3
iload 4
if_icmplt 11
end local 4 end local 3 17: aload 0
aload 2
putfield org.jcp.xml.dsig.internal.dom.DOMManifest.id:Ljava/lang/String;
18: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/jcp/xml/dsig/internal/dom/DOMManifest;
0 19 1 references Ljava/util/List<+Ljavax/xml/crypto/dsig/Reference;>;
0 19 2 id Ljava/lang/String;
9 17 3 i I
10 17 4 size I
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 0
aload 1
ldc "Id"
invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getIdAttributeValue:(Lorg/w3c/dom/Element;Ljava/lang/String;)Ljava/lang/String;
putfield org.jcp.xml.dsig.internal.dom.DOMManifest.id:Ljava/lang/String;
2: aload 2
invokestatic org.jcp.xml.dsig.internal.dom.Utils.secureValidation:(Ljavax/xml/crypto/XMLCryptoContext;)Z
istore 4
start local 4 3: aload 1
ldc "Reference"
ldc "http://www.w3.org/2000/09/xmldsig#"
invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getFirstChildElement:(Lorg/w3c/dom/Node;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
astore 5
start local 5 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 5: aload 6
new org.jcp.xml.dsig.internal.dom.DOMReference
dup
aload 5
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
6: aload 5
invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getNextSiblingElement:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Element;
astore 5
7: goto 22
8: StackMap locals: org.jcp.xml.dsig.internal.dom.DOMManifest org.w3c.dom.Element javax.xml.crypto.XMLCryptoContext java.security.Provider int org.w3c.dom.Element java.util.List
StackMap stack:
aload 5
invokeinterface org.w3c.dom.Element.getLocalName:()Ljava/lang/String;
astore 7
start local 7 9: aload 5
invokeinterface org.w3c.dom.Element.getNamespaceURI:()Ljava/lang/String;
astore 8
start local 8 10: ldc "Reference"
aload 7
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
ldc "http://www.w3.org/2000/09/xmldsig#"
aload 8
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 14
11: StackMap locals: java.lang.String java.lang.String
StackMap stack:
new javax.xml.crypto.MarshalException
dup
new java.lang.StringBuilder
dup
ldc "Invalid element name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
12: aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
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;
13: invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 6
new org.jcp.xml.dsig.internal.dom.DOMReference
dup
aload 5
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
15: iload 4
ifeq 21
aload 6
invokeinterface java.util.List.size:()I
invokestatic org.jcp.xml.dsig.internal.dom.Policy.restrictNumReferences:(I)Z
ifeq 21
16: new java.lang.StringBuilder
dup
ldc "A maxiumum 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;
17: ldc " references per Manifest are allowed when"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: ldc " secure validation is enabled"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 9
start local 9 20: new javax.xml.crypto.MarshalException
dup
aload 9
invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
athrow
end local 9 21: StackMap locals:
StackMap stack:
aload 5
invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getNextSiblingElement:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Element;
astore 5
end local 8 end local 7 22: StackMap locals:
StackMap stack:
aload 5
ifnonnull 8
23: aload 0
aload 6
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
putfield org.jcp.xml.dsig.internal.dom.DOMManifest.references:Ljava/util/List;
24: return
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 25 0 this Lorg/jcp/xml/dsig/internal/dom/DOMManifest;
0 25 1 manElem Lorg/w3c/dom/Element;
0 25 2 context Ljavax/xml/crypto/XMLCryptoContext;
0 25 3 provider Ljava/security/Provider;
3 25 4 secVal Z
4 25 5 refElem Lorg/w3c/dom/Element;
5 25 6 refs Ljava/util/List<Ljavax/xml/crypto/dsig/Reference;>;
9 22 7 localName Ljava/lang/String;
10 22 8 namespace Ljava/lang/String;
20 21 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;
public 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: (0x0009) ACC_PUBLIC, 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"