public class io.dropwizard.auth.AuthDynamicFeature implements javax.ws.rs.container.DynamicFeature
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.dropwizard.auth.AuthDynamicFeature
super_class: java.lang.Object
{
private final javax.ws.rs.container.ContainerRequestFilter authFilter;
descriptor: Ljavax/ws/rs/container/ContainerRequestFilter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Class<? extends javax.ws.rs.container.ContainerRequestFilter> authFilterClass;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<+Ljavax/ws/rs/container/ContainerRequestFilter;>;
public void <init>(javax.ws.rs.container.ContainerRequestFilter);
descriptor: (Ljavax/ws/rs/container/ContainerRequestFilter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.dropwizard.auth.AuthDynamicFeature.authFilter:Ljavax/ws/rs/container/ContainerRequestFilter;
2: aload 0
aconst_null
putfield io.dropwizard.auth.AuthDynamicFeature.authFilterClass:Ljava/lang/Class;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/dropwizard/auth/AuthDynamicFeature;
0 4 1 authFilter Ljavax/ws/rs/container/ContainerRequestFilter;
MethodParameters:
Name Flags
authFilter
public void <init>(java.lang.Class<? extends javax.ws.rs.container.ContainerRequestFilter>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield io.dropwizard.auth.AuthDynamicFeature.authFilter:Ljavax/ws/rs/container/ContainerRequestFilter;
2: aload 0
aload 1
putfield io.dropwizard.auth.AuthDynamicFeature.authFilterClass:Ljava/lang/Class;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/dropwizard/auth/AuthDynamicFeature;
0 4 1 authFilterClass Ljava/lang/Class<+Ljavax/ws/rs/container/ContainerRequestFilter;>;
Signature: (Ljava/lang/Class<+Ljavax/ws/rs/container/ContainerRequestFilter;>;)V
MethodParameters:
Name Flags
authFilterClass
public void configure(javax.ws.rs.container.ResourceInfo, javax.ws.rs.core.FeatureContext);
descriptor: (Ljavax/ws/rs/container/ResourceInfo;Ljavax/ws/rs/core/FeatureContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=3
start local 0 start local 1 start local 2 0: new org.glassfish.jersey.server.model.AnnotatedMethod
dup
aload 1
invokeinterface javax.ws.rs.container.ResourceInfo.getResourceMethod:()Ljava/lang/reflect/Method;
invokespecial org.glassfish.jersey.server.model.AnnotatedMethod.<init>:(Ljava/lang/reflect/Method;)V
astore 3
start local 3 1: aload 3
invokevirtual org.glassfish.jersey.server.model.AnnotatedMethod.getParameterAnnotations:()[[Ljava/lang/annotation/Annotation;
astore 4
start local 4 2: aload 3
invokevirtual org.glassfish.jersey.server.model.AnnotatedMethod.getParameterTypes:()[Ljava/lang/Class;
astore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 16
5: StackMap locals: io.dropwizard.auth.AuthDynamicFeature javax.ws.rs.container.ResourceInfo javax.ws.rs.core.FeatureContext org.glassfish.jersey.server.model.AnnotatedMethod java.lang.annotation.Annotation[][] java.lang.Class[] int
StackMap stack:
aload 4
iload 6
aaload
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 14
StackMap locals: io.dropwizard.auth.AuthDynamicFeature javax.ws.rs.container.ResourceInfo javax.ws.rs.core.FeatureContext org.glassfish.jersey.server.model.AnnotatedMethod java.lang.annotation.Annotation[][] java.lang.Class[] int top int int java.lang.annotation.Annotation[]
StackMap stack:
6: aload 10
iload 8
aaload
astore 7
start local 7 7: aload 7
instanceof io.dropwizard.auth.Auth
ifeq 13
8: aload 5
iload 6
aaload
ldc Ljava/util/Optional;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 11
aload 0
getfield io.dropwizard.auth.AuthDynamicFeature.authFilter:Ljavax/ws/rs/container/ContainerRequestFilter;
ifnull 11
9: aload 2
new io.dropwizard.auth.WebApplicationExceptionCatchingFilter
dup
aload 0
getfield io.dropwizard.auth.AuthDynamicFeature.authFilter:Ljavax/ws/rs/container/ContainerRequestFilter;
invokespecial io.dropwizard.auth.WebApplicationExceptionCatchingFilter.<init>:(Ljavax/ws/rs/container/ContainerRequestFilter;)V
invokeinterface javax.ws.rs.core.FeatureContext.register:(Ljava/lang/Object;)Ljavax/ws/rs/core/Configurable;
pop
10: return
11: StackMap locals: io.dropwizard.auth.AuthDynamicFeature javax.ws.rs.container.ResourceInfo javax.ws.rs.core.FeatureContext org.glassfish.jersey.server.model.AnnotatedMethod java.lang.annotation.Annotation[][] java.lang.Class[] int java.lang.annotation.Annotation int int java.lang.annotation.Annotation[]
StackMap stack:
aload 0
aload 2
invokevirtual io.dropwizard.auth.AuthDynamicFeature.registerAuthFilter:(Ljavax/ws/rs/core/FeatureContext;)V
12: return
end local 7 13: StackMap locals: io.dropwizard.auth.AuthDynamicFeature javax.ws.rs.container.ResourceInfo javax.ws.rs.core.FeatureContext org.glassfish.jersey.server.model.AnnotatedMethod java.lang.annotation.Annotation[][] java.lang.Class[] int top int int java.lang.annotation.Annotation[]
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
14: iload 8
iload 9
if_icmplt 6
15: iinc 6 1
StackMap locals: io.dropwizard.auth.AuthDynamicFeature javax.ws.rs.container.ResourceInfo javax.ws.rs.core.FeatureContext org.glassfish.jersey.server.model.AnnotatedMethod java.lang.annotation.Annotation[][] java.lang.Class[] int
StackMap stack:
16: iload 6
aload 4
arraylength
if_icmplt 5
end local 6 17: aload 1
invokeinterface javax.ws.rs.container.ResourceInfo.getResourceClass:()Ljava/lang/Class;
ldc Ljavax/annotation/security/RolesAllowed;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnonnull 20
18: aload 1
invokeinterface javax.ws.rs.container.ResourceInfo.getResourceClass:()Ljava/lang/Class;
ldc Ljavax/annotation/security/PermitAll;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnonnull 20
19: iconst_0
goto 21
StackMap locals:
StackMap stack:
20: iconst_1
StackMap locals:
StackMap stack: int
21: istore 6
start local 6 22: aload 3
ldc Ljavax/annotation/security/RolesAllowed;
invokevirtual org.glassfish.jersey.server.model.AnnotatedMethod.isAnnotationPresent:(Ljava/lang/Class;)Z
ifne 25
aload 3
ldc Ljavax/annotation/security/DenyAll;
invokevirtual org.glassfish.jersey.server.model.AnnotatedMethod.isAnnotationPresent:(Ljava/lang/Class;)Z
ifne 25
23: aload 3
ldc Ljavax/annotation/security/PermitAll;
invokevirtual org.glassfish.jersey.server.model.AnnotatedMethod.isAnnotationPresent:(Ljava/lang/Class;)Z
ifne 25
24: iconst_0
goto 26
StackMap locals: int
StackMap stack:
25: iconst_1
StackMap locals:
StackMap stack: int
26: istore 7
start local 7 27: iload 6
ifne 28
iload 7
ifeq 29
28: StackMap locals: int
StackMap stack:
aload 0
aload 2
invokevirtual io.dropwizard.auth.AuthDynamicFeature.registerAuthFilter:(Ljavax/ws/rs/core/FeatureContext;)V
29: StackMap locals:
StackMap stack:
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 30 0 this Lio/dropwizard/auth/AuthDynamicFeature;
0 30 1 resourceInfo Ljavax/ws/rs/container/ResourceInfo;
0 30 2 context Ljavax/ws/rs/core/FeatureContext;
1 30 3 am Lorg/glassfish/jersey/server/model/AnnotatedMethod;
2 30 4 parameterAnnotations [[Ljava/lang/annotation/Annotation;
3 30 5 parameterTypes [Ljava/lang/Class;
4 17 6 i I
7 13 7 annotation Ljava/lang/annotation/Annotation;
22 30 6 annotationOnClass Z
27 30 7 annotationOnMethod Z
MethodParameters:
Name Flags
resourceInfo
context
private void registerAuthFilter(javax.ws.rs.core.FeatureContext);
descriptor: (Ljavax/ws/rs/core/FeatureContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.dropwizard.auth.AuthDynamicFeature.authFilter:Ljavax/ws/rs/container/ContainerRequestFilter;
ifnull 3
1: aload 1
aload 0
getfield io.dropwizard.auth.AuthDynamicFeature.authFilter:Ljavax/ws/rs/container/ContainerRequestFilter;
invokeinterface javax.ws.rs.core.FeatureContext.register:(Ljava/lang/Object;)Ljavax/ws/rs/core/Configurable;
pop
2: goto 5
StackMap locals:
StackMap stack:
3: aload 0
getfield io.dropwizard.auth.AuthDynamicFeature.authFilterClass:Ljava/lang/Class;
ifnull 5
4: aload 1
aload 0
getfield io.dropwizard.auth.AuthDynamicFeature.authFilterClass:Ljava/lang/Class;
invokeinterface javax.ws.rs.core.FeatureContext.register:(Ljava/lang/Class;)Ljavax/ws/rs/core/Configurable;
pop
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/dropwizard/auth/AuthDynamicFeature;
0 6 1 context Ljavax/ws/rs/core/FeatureContext;
MethodParameters:
Name Flags
context
}
SourceFile: "AuthDynamicFeature.java"