public class jakarta.servlet.ServletSecurityElement extends jakarta.servlet.HttpConstraintElement
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jakarta.servlet.ServletSecurityElement
super_class: jakarta.servlet.HttpConstraintElement
{
private final java.util.Map<java.lang.String, jakarta.servlet.HttpMethodConstraintElement> methodConstraints;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljakarta/servlet/HttpMethodConstraintElement;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial jakarta.servlet.HttpConstraintElement.<init>:()V
1: aload 0
2: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield jakarta.servlet.ServletSecurityElement.methodConstraints:Ljava/util/Map;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljakarta/servlet/ServletSecurityElement;
public void <init>(jakarta.servlet.HttpConstraintElement);
descriptor: (Ljakarta/servlet/HttpConstraintElement;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokespecial jakarta.servlet.ServletSecurityElement.<init>:(Ljakarta/servlet/HttpConstraintElement;Ljava/util/Collection;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljakarta/servlet/ServletSecurityElement;
0 2 1 httpConstraintElement Ljakarta/servlet/HttpConstraintElement;
MethodParameters:
Name Flags
httpConstraintElement
public void <init>(java.util.Collection<jakarta.servlet.HttpMethodConstraintElement>);
descriptor: (Ljava/util/Collection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial jakarta.servlet.HttpConstraintElement.<init>:()V
1: aload 0
2: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield jakarta.servlet.ServletSecurityElement.methodConstraints:Ljava/util/Map;
3: aload 0
aload 1
invokevirtual jakarta.servlet.ServletSecurityElement.addHttpMethodConstraints:(Ljava/util/Collection;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljakarta/servlet/ServletSecurityElement;
0 5 1 httpMethodConstraints Ljava/util/Collection<Ljakarta/servlet/HttpMethodConstraintElement;>;
Signature: (Ljava/util/Collection<Ljakarta/servlet/HttpMethodConstraintElement;>;)V
MethodParameters:
Name Flags
httpMethodConstraints
public void <init>(jakarta.servlet.HttpConstraintElement, java.util.Collection<jakarta.servlet.HttpMethodConstraintElement>);
descriptor: (Ljakarta/servlet/HttpConstraintElement;Ljava/util/Collection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual jakarta.servlet.HttpConstraintElement.getEmptyRoleSemantic:()Ljakarta/servlet/annotation/ServletSecurity$EmptyRoleSemantic;
1: aload 1
invokevirtual jakarta.servlet.HttpConstraintElement.getTransportGuarantee:()Ljakarta/servlet/annotation/ServletSecurity$TransportGuarantee;
2: aload 1
invokevirtual jakarta.servlet.HttpConstraintElement.getRolesAllowed:()[Ljava/lang/String;
invokespecial jakarta.servlet.HttpConstraintElement.<init>:(Ljakarta/servlet/annotation/ServletSecurity$EmptyRoleSemantic;Ljakarta/servlet/annotation/ServletSecurity$TransportGuarantee;[Ljava/lang/String;)V
3: aload 0
4: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield jakarta.servlet.ServletSecurityElement.methodConstraints:Ljava/util/Map;
5: aload 0
aload 2
invokevirtual jakarta.servlet.ServletSecurityElement.addHttpMethodConstraints:(Ljava/util/Collection;)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljakarta/servlet/ServletSecurityElement;
0 7 1 httpConstraintElement Ljakarta/servlet/HttpConstraintElement;
0 7 2 httpMethodConstraints Ljava/util/Collection<Ljakarta/servlet/HttpMethodConstraintElement;>;
Signature: (Ljakarta/servlet/HttpConstraintElement;Ljava/util/Collection<Ljakarta/servlet/HttpMethodConstraintElement;>;)V
MethodParameters:
Name Flags
httpConstraintElement
httpMethodConstraints
public void <init>(jakarta.servlet.annotation.ServletSecurity);
descriptor: (Ljakarta/servlet/annotation/ServletSecurity;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=9, args_size=2
start local 0 start local 1 0: aload 0
new jakarta.servlet.HttpConstraintElement
dup
aload 1
invokeinterface jakarta.servlet.annotation.ServletSecurity.value:()Ljakarta/servlet/annotation/HttpConstraint;
invokeinterface jakarta.servlet.annotation.HttpConstraint.value:()Ljakarta/servlet/annotation/ServletSecurity$EmptyRoleSemantic;
1: aload 1
invokeinterface jakarta.servlet.annotation.ServletSecurity.value:()Ljakarta/servlet/annotation/HttpConstraint;
invokeinterface jakarta.servlet.annotation.HttpConstraint.transportGuarantee:()Ljakarta/servlet/annotation/ServletSecurity$TransportGuarantee;
2: aload 1
invokeinterface jakarta.servlet.annotation.ServletSecurity.value:()Ljakarta/servlet/annotation/HttpConstraint;
invokeinterface jakarta.servlet.annotation.HttpConstraint.rolesAllowed:()[Ljava/lang/String;
3: invokespecial jakarta.servlet.HttpConstraintElement.<init>:(Ljakarta/servlet/annotation/ServletSecurity$EmptyRoleSemantic;Ljakarta/servlet/annotation/ServletSecurity$TransportGuarantee;[Ljava/lang/String;)V
invokespecial jakarta.servlet.ServletSecurityElement.<init>:(Ljakarta/servlet/HttpConstraintElement;)V
4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 5: aload 1
invokeinterface jakarta.servlet.annotation.ServletSecurity.httpMethodConstraints:()[Ljakarta/servlet/annotation/HttpMethodConstraint;
astore 3
start local 3 6: aload 3
ifnull 20
7: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 19
StackMap locals: jakarta.servlet.ServletSecurityElement jakarta.servlet.annotation.ServletSecurity java.util.List jakarta.servlet.annotation.HttpMethodConstraint[] top int int jakarta.servlet.annotation.HttpMethodConstraint[]
StackMap stack:
8: aload 7
iload 5
aaload
astore 4
start local 4 9: new jakarta.servlet.HttpMethodConstraintElement
dup
aload 4
invokeinterface jakarta.servlet.annotation.HttpMethodConstraint.value:()Ljava/lang/String;
10: new jakarta.servlet.HttpConstraintElement
dup
11: aload 4
invokeinterface jakarta.servlet.annotation.HttpMethodConstraint.emptyRoleSemantic:()Ljakarta/servlet/annotation/ServletSecurity$EmptyRoleSemantic;
12: aload 4
invokeinterface jakarta.servlet.annotation.HttpMethodConstraint.transportGuarantee:()Ljakarta/servlet/annotation/ServletSecurity$TransportGuarantee;
13: aload 4
invokeinterface jakarta.servlet.annotation.HttpMethodConstraint.rolesAllowed:()[Ljava/lang/String;
14: invokespecial jakarta.servlet.HttpConstraintElement.<init>:(Ljakarta/servlet/annotation/ServletSecurity$EmptyRoleSemantic;Ljakarta/servlet/annotation/ServletSecurity$TransportGuarantee;[Ljava/lang/String;)V
15: invokespecial jakarta.servlet.HttpMethodConstraintElement.<init>:(Ljava/lang/String;Ljakarta/servlet/HttpConstraintElement;)V
16: astore 8
start local 8 17: aload 2
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 4 18: iinc 5 1
StackMap locals:
StackMap stack:
19: iload 5
iload 6
if_icmplt 8
20: StackMap locals: jakarta.servlet.ServletSecurityElement jakarta.servlet.annotation.ServletSecurity java.util.List jakarta.servlet.annotation.HttpMethodConstraint[]
StackMap stack:
aload 0
aload 2
invokevirtual jakarta.servlet.ServletSecurityElement.addHttpMethodConstraints:(Ljava/util/Collection;)V
21: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljakarta/servlet/ServletSecurityElement;
0 22 1 annotation Ljakarta/servlet/annotation/ServletSecurity;
5 22 2 l Ljava/util/List<Ljakarta/servlet/HttpMethodConstraintElement;>;
6 22 3 constraints [Ljakarta/servlet/annotation/HttpMethodConstraint;
9 18 4 constraint Ljakarta/servlet/annotation/HttpMethodConstraint;
17 18 8 e Ljakarta/servlet/HttpMethodConstraintElement;
MethodParameters:
Name Flags
annotation
public java.util.Collection<jakarta.servlet.HttpMethodConstraintElement> getHttpMethodConstraints();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.HashSet
dup
aload 0
getfield jakarta.servlet.ServletSecurityElement.methodConstraints:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 1
start local 1 1: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljakarta/servlet/ServletSecurityElement;
1 2 1 result Ljava/util/Collection<Ljakarta/servlet/HttpMethodConstraintElement;>;
Signature: ()Ljava/util/Collection<Ljakarta/servlet/HttpMethodConstraintElement;>;
public java.util.Collection<java.lang.String> getMethodNames();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.HashSet
dup
aload 0
getfield jakarta.servlet.ServletSecurityElement.methodConstraints:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 1
start local 1 1: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljakarta/servlet/ServletSecurityElement;
1 2 1 result Ljava/util/Collection<Ljava/lang/String;>;
Signature: ()Ljava/util/Collection<Ljava/lang/String;>;
private void addHttpMethodConstraints(java.util.Collection<jakarta.servlet.HttpMethodConstraintElement>);
descriptor: (Ljava/util/Collection;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 10
StackMap locals: jakarta.servlet.ServletSecurityElement java.util.Collection top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jakarta.servlet.HttpMethodConstraintElement
astore 2
start local 2 4: aload 2
invokevirtual jakarta.servlet.HttpMethodConstraintElement.getMethodName:()Ljava/lang/String;
astore 4
start local 4 5: aload 0
getfield jakarta.servlet.ServletSecurityElement.methodConstraints:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 9
6: new java.lang.IllegalArgumentException
dup
7: new java.lang.StringBuilder
dup
ldc "Duplicate method name: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: jakarta.servlet.ServletSecurityElement java.util.Collection jakarta.servlet.HttpMethodConstraintElement java.util.Iterator java.lang.String
StackMap stack:
aload 0
getfield jakarta.servlet.ServletSecurityElement.methodConstraints:Ljava/util/Map;
aload 4
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 end local 2 10: StackMap locals: jakarta.servlet.ServletSecurityElement java.util.Collection top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljakarta/servlet/ServletSecurityElement;
0 12 1 httpMethodConstraints Ljava/util/Collection<Ljakarta/servlet/HttpMethodConstraintElement;>;
4 10 2 constraint Ljakarta/servlet/HttpMethodConstraintElement;
5 10 4 method Ljava/lang/String;
Signature: (Ljava/util/Collection<Ljakarta/servlet/HttpMethodConstraintElement;>;)V
MethodParameters:
Name Flags
httpMethodConstraints
}
SourceFile: "ServletSecurityElement.java"
InnerClasses:
public final EmptyRoleSemantic = jakarta.servlet.annotation.ServletSecurity$EmptyRoleSemantic of jakarta.servlet.annotation.ServletSecurity
public final TransportGuarantee = jakarta.servlet.annotation.ServletSecurity$TransportGuarantee of jakarta.servlet.annotation.ServletSecurity