public abstract class com.sun.xml.internal.ws.util.InjectionPlan<T, R>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.xml.internal.ws.util.InjectionPlan
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/xml/internal/ws/util/InjectionPlan<TT;TR;>;
public abstract void inject(T, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: (TT;TR;)V
MethodParameters:
Name Flags
instance
resource
public void inject(T, java.util.concurrent.Callable<R>);
descriptor: (Ljava/lang/Object;Ljava/util/concurrent/Callable;)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
aload 1
aload 2
invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
invokevirtual com.sun.xml.internal.ws.util.InjectionPlan.inject:(Ljava/lang/Object;Ljava/lang/Object;)V
1: goto 4
StackMap locals:
StackMap stack: java.lang.Exception
2: astore 3
start local 3 3: new javax.xml.ws.WebServiceException
dup
aload 3
invokespecial javax.xml.ws.WebServiceException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/xml/internal/ws/util/InjectionPlan<TT;TR;>;
0 5 1 instance TT;
0 5 2 resource Ljava/util/concurrent/Callable<TR;>;
3 4 3 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
Signature: (TT;Ljava/util/concurrent/Callable<TR;>;)V
MethodParameters:
Name Flags
instance
resource
private static void invokeMethod(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]);
descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ifnonnull 1
return
1: StackMap locals:
StackMap stack:
new com.sun.xml.internal.ws.util.InjectionPlan$1
dup
aload 0
aload 1
aload 2
invokespecial com.sun.xml.internal.ws.util.InjectionPlan$1.<init>:(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 method Ljava/lang/reflect/Method;
0 3 1 instance Ljava/lang/Object;
0 3 2 args [Ljava/lang/Object;
MethodParameters:
Name Flags
method final
instance final
args final
public static <T, R> com.sun.xml.internal.ws.util.InjectionPlan<T, R> buildInjectionPlan(java.lang.Class<? extends T>, java.lang.Class<R>, boolean);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;Z)Lcom/sun/xml/internal/ws/util/InjectionPlan;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 0
astore 4
start local 4 2: goto 18
3: StackMap locals: java.util.List java.lang.Class
StackMap stack:
aload 4
invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 16
StackMap locals: java.lang.Class java.lang.Class int java.util.List java.lang.Class top int int java.lang.reflect.Field[]
StackMap stack:
4: aload 8
iload 6
aaload
astore 5
start local 5 5: aload 5
ldc Ljavax/annotation/Resource;
invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast javax.annotation.Resource
astore 9
start local 9 6: aload 9
ifnull 15
7: aload 9
aload 5
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
8: new java.lang.StringBuilder
dup
ldc "Incorrect type for field"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: aload 1
10: invokestatic com.sun.xml.internal.ws.util.InjectionPlan.isInjectionPoint:(Ljavax/annotation/Resource;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Z
11: ifeq 15
12: iload 2
ifeq 14
aload 5
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifne 14
13: new javax.xml.ws.WebServiceException
dup
new java.lang.StringBuilder
dup
ldc "Static resource "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " cannot be injected to non-static "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.xml.ws.WebServiceException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals: java.lang.Class java.lang.Class int java.util.List java.lang.Class java.lang.reflect.Field int int java.lang.reflect.Field[] javax.annotation.Resource
StackMap stack:
aload 3
new com.sun.xml.internal.ws.util.InjectionPlan$FieldInjectionPlan
dup
aload 5
invokespecial com.sun.xml.internal.ws.util.InjectionPlan$FieldInjectionPlan.<init>:(Ljava/lang/reflect/Field;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 5 15: StackMap locals: java.lang.Class java.lang.Class int java.util.List java.lang.Class top int int java.lang.reflect.Field[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
iload 7
if_icmplt 4
17: aload 4
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 4
18: StackMap locals: java.lang.Class java.lang.Class int java.util.List java.lang.Class
StackMap stack:
aload 4
ldc Ljava/lang/Object;
if_acmpne 3
19: aload 0
astore 4
20: goto 39
21: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 37
StackMap locals: java.lang.Class java.lang.Class int java.util.List java.lang.Class top int int java.lang.reflect.Method[]
StackMap stack:
22: aload 8
iload 6
aaload
astore 5
start local 5 23: aload 5
ldc Ljavax/annotation/Resource;
invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast javax.annotation.Resource
astore 9
start local 9 24: aload 9
ifnull 36
25: aload 5
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 10
start local 10 26: aload 10
arraylength
iconst_1
if_icmpeq 28
27: new javax.xml.ws.WebServiceException
dup
new java.lang.StringBuilder
dup
ldc "Incorrect no of arguments for method "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.xml.ws.WebServiceException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals: java.lang.Class java.lang.Class int java.util.List java.lang.Class java.lang.reflect.Method int int java.lang.reflect.Method[] javax.annotation.Resource java.lang.Class[]
StackMap stack:
aload 9
aload 10
iconst_0
aaload
29: new java.lang.StringBuilder
dup
ldc "Incorrect argument types for method"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
30: aload 1
31: invokestatic com.sun.xml.internal.ws.util.InjectionPlan.isInjectionPoint:(Ljavax/annotation/Resource;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Z
32: ifeq 36
33: iload 2
ifeq 35
aload 5
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifne 35
34: new javax.xml.ws.WebServiceException
dup
new java.lang.StringBuilder
dup
ldc "Static resource "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " cannot be injected to non-static "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.xml.ws.WebServiceException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
aload 3
new com.sun.xml.internal.ws.util.InjectionPlan$MethodInjectionPlan
dup
aload 5
invokespecial com.sun.xml.internal.ws.util.InjectionPlan$MethodInjectionPlan.<init>:(Ljava/lang/reflect/Method;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 9 end local 5 36: StackMap locals: java.lang.Class java.lang.Class int java.util.List java.lang.Class top int int java.lang.reflect.Method[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
37: iload 6
iload 7
if_icmplt 22
38: aload 4
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 4
39: StackMap locals: java.lang.Class java.lang.Class int java.util.List java.lang.Class
StackMap stack:
aload 4
ldc Ljava/lang/Object;
if_acmpne 21
40: new com.sun.xml.internal.ws.util.InjectionPlan$Compositor
dup
aload 3
invokespecial com.sun.xml.internal.ws.util.InjectionPlan$Compositor.<init>:(Ljava/util/Collection;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 clazz Ljava/lang/Class<+TT;>;
0 41 1 resourceType Ljava/lang/Class<TR;>;
0 41 2 isStatic Z
1 41 3 plan Ljava/util/List<Lcom/sun/xml/internal/ws/util/InjectionPlan<TT;TR;>;>;
2 41 4 cl Ljava/lang/Class<*>;
5 15 5 field Ljava/lang/reflect/Field;
6 15 9 resource Ljavax/annotation/Resource;
23 36 5 method Ljava/lang/reflect/Method;
24 36 9 resource Ljavax/annotation/Resource;
26 36 10 paramTypes [Ljava/lang/Class;
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>(Ljava/lang/Class<+TT;>;Ljava/lang/Class<TR;>;Z)Lcom/sun/xml/internal/ws/util/InjectionPlan<TT;TR;>;
MethodParameters:
Name Flags
clazz
resourceType
isStatic
private static boolean isInjectionPoint(javax.annotation.Resource, java.lang.Class, java.lang.String, java.lang.Class);
descriptor: (Ljavax/annotation/Resource;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokeinterface javax.annotation.Resource.type:()Ljava/lang/Class;
astore 4
start local 4 1: aload 4
ldc Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 3
2: aload 1
aload 3
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
3: StackMap locals: java.lang.Class
StackMap stack:
aload 4
aload 3
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 7
4: aload 1
aload 3
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
new javax.xml.ws.WebServiceException
dup
aload 2
invokespecial javax.xml.ws.WebServiceException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 resource Ljavax/annotation/Resource;
0 8 1 fieldType Ljava/lang/Class;
0 8 2 errorMessage Ljava/lang/String;
0 8 3 resourceType Ljava/lang/Class;
1 8 4 t Ljava/lang/Class;
MethodParameters:
Name Flags
resource
fieldType
errorMessage
resourceType
}
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "InjectionPlan.java"
NestMembers:
com.sun.xml.internal.ws.util.InjectionPlan$1 com.sun.xml.internal.ws.util.InjectionPlan$Compositor com.sun.xml.internal.ws.util.InjectionPlan$FieldInjectionPlan com.sun.xml.internal.ws.util.InjectionPlan$FieldInjectionPlan$1 com.sun.xml.internal.ws.util.InjectionPlan$MethodInjectionPlan
InnerClasses:
com.sun.xml.internal.ws.util.InjectionPlan$1
private Compositor = com.sun.xml.internal.ws.util.InjectionPlan$Compositor of com.sun.xml.internal.ws.util.InjectionPlan
public FieldInjectionPlan = com.sun.xml.internal.ws.util.InjectionPlan$FieldInjectionPlan of com.sun.xml.internal.ws.util.InjectionPlan
public MethodInjectionPlan = com.sun.xml.internal.ws.util.InjectionPlan$MethodInjectionPlan of com.sun.xml.internal.ws.util.InjectionPlan