public class org.glassfish.jersey.server.internal.inject.ParamInjectionResolver<A extends java.lang.annotation.Annotation> implements org.glassfish.jersey.internal.inject.InjectionResolver<A>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.glassfish.jersey.server.internal.inject.ParamInjectionResolver
super_class: java.lang.Object
{
private final org.glassfish.jersey.server.spi.internal.ValueParamProvider valueParamProvider;
descriptor: Lorg/glassfish/jersey/server/spi/internal/ValueParamProvider;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Class<A> annotation;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<TA;>;
private final javax.inject.Provider<org.glassfish.jersey.server.ContainerRequest> request;
descriptor: Ljavax/inject/Provider;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljavax/inject/Provider<Lorg/glassfish/jersey/server/ContainerRequest;>;
public void <init>(org.glassfish.jersey.server.spi.internal.ValueParamProvider, java.lang.Class<A>, javax.inject.Provider<org.glassfish.jersey.server.ContainerRequest>);
descriptor: (Lorg/glassfish/jersey/server/spi/internal/ValueParamProvider;Ljava/lang/Class;Ljavax/inject/Provider;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.glassfish.jersey.server.internal.inject.ParamInjectionResolver.valueParamProvider:Lorg/glassfish/jersey/server/spi/internal/ValueParamProvider;
2: aload 0
aload 2
putfield org.glassfish.jersey.server.internal.inject.ParamInjectionResolver.annotation:Ljava/lang/Class;
3: aload 0
aload 3
putfield org.glassfish.jersey.server.internal.inject.ParamInjectionResolver.request:Ljavax/inject/Provider;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/glassfish/jersey/server/internal/inject/ParamInjectionResolver<TA;>;
0 5 1 valueParamProvider Lorg/glassfish/jersey/server/spi/internal/ValueParamProvider;
0 5 2 annotation Ljava/lang/Class<TA;>;
0 5 3 request Ljavax/inject/Provider<Lorg/glassfish/jersey/server/ContainerRequest;>;
Signature: (Lorg/glassfish/jersey/server/spi/internal/ValueParamProvider;Ljava/lang/Class<TA;>;Ljavax/inject/Provider<Lorg/glassfish/jersey/server/ContainerRequest;>;)V
MethodParameters:
Name Flags
valueParamProvider
annotation
request
public java.lang.Object resolve(org.glassfish.jersey.internal.inject.Injectee);
descriptor: (Lorg/glassfish/jersey/internal/inject/Injectee;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.glassfish.jersey.internal.inject.Injectee.getParent:()Ljava/lang/reflect/AnnotatedElement;
astore 2
start local 2 1: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljava/lang/reflect/Constructor;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
2: aload 2
checkcast java.lang.reflect.Constructor
invokevirtual java.lang.reflect.Constructor.getParameterAnnotations:()[[Ljava/lang/annotation/Annotation;
aload 1
invokeinterface org.glassfish.jersey.internal.inject.Injectee.getPosition:()I
aaload
astore 3
start local 3 3: goto 5
end local 3 4: StackMap locals: java.lang.reflect.AnnotatedElement
StackMap stack:
aload 2
invokeinterface java.lang.reflect.AnnotatedElement.getDeclaredAnnotations:()[Ljava/lang/annotation/Annotation;
astore 3
start local 3 5: StackMap locals: java.lang.annotation.Annotation[]
StackMap stack:
aload 1
invokeinterface org.glassfish.jersey.internal.inject.Injectee.getInjecteeClass:()Ljava/lang/Class;
astore 4
start local 4 6: aload 1
invokeinterface org.glassfish.jersey.internal.inject.Injectee.getRequiredType:()Ljava/lang/reflect/Type;
astore 5
start local 5 7: aload 1
invokeinterface org.glassfish.jersey.internal.inject.Injectee.isFactory:()Z
ifeq 10
8: aload 5
iconst_0
invokestatic org.glassfish.jersey.internal.util.ReflectionHelper.getTypeArgument:(Ljava/lang/reflect/Type;I)Ljava/lang/reflect/Type;
astore 6
start local 6 9: goto 11
end local 6 10: StackMap locals: java.lang.Class java.lang.reflect.Type
StackMap stack:
aload 5
astore 6
start local 6 11: StackMap locals: java.lang.reflect.Type
StackMap stack:
aload 6
invokestatic org.glassfish.jersey.internal.util.ReflectionHelper.erasure:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
astore 7
start local 7 12: aload 4
13: aload 4
14: aload 0
aload 1
invokevirtual org.glassfish.jersey.server.internal.inject.ParamInjectionResolver.hasEncodedAnnotation:(Lorg/glassfish/jersey/internal/inject/Injectee;)Z
15: aload 7
16: aload 6
17: aload 3
18: invokestatic org.glassfish.jersey.server.model.Parameter.create:(Ljava/lang/Class;Ljava/lang/Class;ZLjava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;)Lorg/glassfish/jersey/model/Parameter;
checkcast org.glassfish.jersey.server.model.Parameter
astore 8
start local 8 19: aload 0
getfield org.glassfish.jersey.server.internal.inject.ParamInjectionResolver.valueParamProvider:Lorg/glassfish/jersey/server/spi/internal/ValueParamProvider;
aload 8
invokeinterface org.glassfish.jersey.server.spi.internal.ValueParamProvider.getValueProvider:(Lorg/glassfish/jersey/server/model/Parameter;)Ljava/util/function/Function;
astore 9
start local 9 20: aload 9
ifnull 24
21: aload 1
invokeinterface org.glassfish.jersey.internal.inject.Injectee.isFactory:()Z
ifeq 23
22: aload 0
aload 9
invokedynamic get(Lorg/glassfish/jersey/server/internal/inject/ParamInjectionResolver;Ljava/util/function/Function;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/glassfish/jersey/server/internal/inject/ParamInjectionResolver.lambda$0(Ljava/util/function/Function;)Ljava/lang/Object; (7)
()Ljava/lang/Object;
areturn
23: StackMap locals: java.lang.Class org.glassfish.jersey.server.model.Parameter java.util.function.Function
StackMap stack:
aload 9
aload 0
getfield org.glassfish.jersey.server.internal.inject.ParamInjectionResolver.request:Ljavax/inject/Provider;
invokeinterface javax.inject.Provider.get:()Ljava/lang/Object;
checkcast org.glassfish.jersey.server.ContainerRequest
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
24: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 9 end local 8 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 25 0 this Lorg/glassfish/jersey/server/internal/inject/ParamInjectionResolver<TA;>;
0 25 1 injectee Lorg/glassfish/jersey/internal/inject/Injectee;
1 25 2 annotated Ljava/lang/reflect/AnnotatedElement;
3 4 3 annotations [Ljava/lang/annotation/Annotation;
5 25 3 annotations [Ljava/lang/annotation/Annotation;
6 25 4 componentClass Ljava/lang/Class;
7 25 5 genericType Ljava/lang/reflect/Type;
9 10 6 targetGenericType Ljava/lang/reflect/Type;
11 25 6 targetGenericType Ljava/lang/reflect/Type;
12 25 7 targetType Ljava/lang/Class<*>;
19 25 8 parameter Lorg/glassfish/jersey/server/model/Parameter;
20 25 9 valueProvider Ljava/util/function/Function<Lorg/glassfish/jersey/server/ContainerRequest;*>;
MethodParameters:
Name Flags
injectee
private boolean hasEncodedAnnotation(org.glassfish.jersey.internal.inject.Injectee);
descriptor: (Lorg/glassfish/jersey/internal/inject/Injectee;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.glassfish.jersey.internal.inject.Injectee.getParent:()Ljava/lang/reflect/AnnotatedElement;
astore 2
start local 2 1: aload 2
instanceof java.lang.reflect.Constructor
istore 3
start local 3 2: aload 2
instanceof java.lang.reflect.Method
istore 4
start local 4 3: iload 3
ifne 4
iload 4
ifeq 14
4: StackMap locals: java.lang.reflect.AnnotatedElement int int
StackMap stack:
iload 4
ifeq 7
5: aload 2
checkcast java.lang.reflect.Method
invokevirtual java.lang.reflect.Method.getParameterAnnotations:()[[Ljava/lang/annotation/Annotation;
aload 1
invokeinterface org.glassfish.jersey.internal.inject.Injectee.getPosition:()I
aaload
astore 5
start local 5 6: goto 8
end local 5 7: StackMap locals:
StackMap stack:
aload 2
checkcast java.lang.reflect.Constructor
invokevirtual java.lang.reflect.Constructor.getParameterAnnotations:()[[Ljava/lang/annotation/Annotation;
aload 1
invokeinterface org.glassfish.jersey.internal.inject.Injectee.getPosition:()I
aaload
astore 5
start local 5 8: StackMap locals: java.lang.annotation.Annotation[]
StackMap stack:
aload 5
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 13
StackMap locals: org.glassfish.jersey.server.internal.inject.ParamInjectionResolver org.glassfish.jersey.internal.inject.Injectee java.lang.reflect.AnnotatedElement int int java.lang.annotation.Annotation[] top int int java.lang.annotation.Annotation[]
StackMap stack:
9: aload 9
iload 7
aaload
astore 6
start local 6 10: aload 6
invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
ldc Ljavax/ws/rs/Encoded;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 12
11: iconst_1
ireturn
end local 6 12: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
13: iload 7
iload 8
if_icmplt 9
end local 5 14: StackMap locals: org.glassfish.jersey.server.internal.inject.ParamInjectionResolver org.glassfish.jersey.internal.inject.Injectee java.lang.reflect.AnnotatedElement int int
StackMap stack:
aload 2
ldc Ljavax/ws/rs/Encoded;
invokeinterface java.lang.reflect.AnnotatedElement.isAnnotationPresent:(Ljava/lang/Class;)Z
ifeq 16
15: iconst_1
ireturn
16: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.glassfish.jersey.internal.inject.Injectee.getInjecteeClass:()Ljava/lang/Class;
astore 5
start local 5 17: aload 5
ldc Ljavax/ws/rs/Encoded;
invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
ireturn
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 18 0 this Lorg/glassfish/jersey/server/internal/inject/ParamInjectionResolver<TA;>;
0 18 1 injectee Lorg/glassfish/jersey/internal/inject/Injectee;
1 18 2 element Ljava/lang/reflect/AnnotatedElement;
2 18 3 isConstructor Z
3 18 4 isMethod Z
6 7 5 annotations [Ljava/lang/annotation/Annotation;
8 14 5 annotations [Ljava/lang/annotation/Annotation;
10 12 6 annotation Ljava/lang/annotation/Annotation;
17 18 5 clazz Ljava/lang/Class<*>;
MethodParameters:
Name Flags
injectee
public boolean isConstructorParameterIndicator();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/jersey/server/internal/inject/ParamInjectionResolver<TA;>;
public boolean isMethodParameterIndicator();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/jersey/server/internal/inject/ParamInjectionResolver<TA;>;
public java.lang.Class<A> getAnnotation();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.jersey.server.internal.inject.ParamInjectionResolver.annotation:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/jersey/server/internal/inject/ParamInjectionResolver<TA;>;
Signature: ()Ljava/lang/Class<TA;>;
private java.lang.Object lambda$0(java.util.function.Function);
descriptor: (Ljava/util/function/Function;)Ljava/lang/Object;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 1
aload 0
getfield org.glassfish.jersey.server.internal.inject.ParamInjectionResolver.request:Ljavax/inject/Provider;
invokeinterface javax.inject.Provider.get:()Ljava/lang/Object;
checkcast org.glassfish.jersey.server.ContainerRequest
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/jersey/server/internal/inject/ParamInjectionResolver<TA;>;
}
Signature: <A::Ljava/lang/annotation/Annotation;>Ljava/lang/Object;Lorg/glassfish/jersey/internal/inject/InjectionResolver<TA;>;
SourceFile: "ParamInjectionResolver.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles