public class com.caucho.burlap.server.BurlapSkeleton extends com.caucho.services.server.AbstractSkeleton
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.caucho.burlap.server.BurlapSkeleton
super_class: com.caucho.services.server.AbstractSkeleton
{
private static final java.util.logging.Logger log;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.lang.Object _service;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/caucho/burlap/server/BurlapSkeleton;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
1: putstatic com.caucho.burlap.server.BurlapSkeleton.log:Ljava/util/logging/Logger;
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.Object, java.lang.Class);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokespecial com.caucho.services.server.AbstractSkeleton.<init>:(Ljava/lang/Class;)V
1: aload 0
aload 1
putfield com.caucho.burlap.server.BurlapSkeleton._service:Ljava/lang/Object;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/caucho/burlap/server/BurlapSkeleton;
0 3 1 service Ljava/lang/Object;
0 3 2 apiClass Ljava/lang/Class;
MethodParameters:
Name Flags
service
apiClass
public void <init>(java.lang.Class);
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
aload 1
invokespecial com.caucho.services.server.AbstractSkeleton.<init>:(Ljava/lang/Class;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/caucho/burlap/server/BurlapSkeleton;
0 2 1 apiClass Ljava/lang/Class;
MethodParameters:
Name Flags
apiClass
public void invoke(com.caucho.burlap.io.BurlapInput, com.caucho.burlap.io.BurlapOutput);
descriptor: (Lcom/caucho/burlap/io/BurlapInput;Lcom/caucho/burlap/io/BurlapOutput;)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 0
getfield com.caucho.burlap.server.BurlapSkeleton._service:Ljava/lang/Object;
aload 1
aload 2
invokevirtual com.caucho.burlap.server.BurlapSkeleton.invoke:(Ljava/lang/Object;Lcom/caucho/burlap/io/BurlapInput;Lcom/caucho/burlap/io/BurlapOutput;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/caucho/burlap/server/BurlapSkeleton;
0 2 1 in Lcom/caucho/burlap/io/BurlapInput;
0 2 2 out Lcom/caucho/burlap/io/BurlapOutput;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
in
out
public void invoke(java.lang.Object, com.caucho.burlap.io.BurlapInput, com.caucho.burlap.io.BurlapOutput);
descriptor: (Ljava/lang/Object;Lcom/caucho/burlap/io/BurlapInput;Lcom/caucho/burlap/io/BurlapOutput;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual com.caucho.burlap.io.BurlapInput.readCall:()I
pop
1: invokestatic com.caucho.services.server.ServiceContext.getContext:()Lcom/caucho/services/server/ServiceContext;
astore 4
start local 4 2: goto 5
start local 5 3: StackMap locals: com.caucho.services.server.ServiceContext java.lang.String
StackMap stack:
aload 2
invokevirtual com.caucho.burlap.io.BurlapInput.readObject:()Ljava/lang/Object;
astore 6
start local 6 4: aload 4
aload 5
aload 6
invokevirtual com.caucho.services.server.ServiceContext.addHeader:(Ljava/lang/String;Ljava/lang/Object;)V
end local 6 end local 5 5: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.caucho.burlap.io.BurlapInput.readHeader:()Ljava/lang/String;
dup
astore 5
start local 5 6: ifnonnull 3
7: aload 2
invokevirtual com.caucho.burlap.io.BurlapInput.readMethod:()Ljava/lang/String;
astore 6
start local 6 8: aload 0
aload 6
invokevirtual com.caucho.burlap.server.BurlapSkeleton.getMethod:(Ljava/lang/String;)Ljava/lang/reflect/Method;
astore 7
start local 7 9: getstatic com.caucho.burlap.server.BurlapSkeleton.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 11
10: getstatic com.caucho.burlap.server.BurlapSkeleton.log:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " invoking "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
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/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
11: StackMap locals: java.lang.String java.lang.String java.lang.reflect.Method
StackMap stack:
aload 7
ifnonnull 34
12: ldc "_burlap_getAttribute"
aload 2
invokevirtual com.caucho.burlap.io.BurlapInput.getMethod:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
13: aload 2
invokevirtual com.caucho.burlap.io.BurlapInput.readString:()Ljava/lang/String;
astore 8
start local 8 14: aload 2
invokevirtual com.caucho.burlap.io.BurlapInput.completeCall:()V
15: aconst_null
astore 9
start local 9 16: ldc "java.api.class"
aload 8
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
17: aload 0
invokevirtual com.caucho.burlap.server.BurlapSkeleton.getAPIClassName:()Ljava/lang/String;
astore 9
goto 22
18: StackMap locals: java.lang.String java.lang.String
StackMap stack:
ldc "java.home.class"
aload 8
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
19: aload 0
invokevirtual com.caucho.burlap.server.BurlapSkeleton.getHomeClassName:()Ljava/lang/String;
astore 9
goto 22
20: StackMap locals:
StackMap stack:
ldc "java.object.class"
aload 8
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
21: aload 0
invokevirtual com.caucho.burlap.server.BurlapSkeleton.getObjectClassName:()Ljava/lang/String;
astore 9
22: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.caucho.burlap.io.BurlapOutput.startReply:()V
23: aload 3
aload 9
invokevirtual com.caucho.burlap.io.BurlapOutput.writeObject:(Ljava/lang/Object;)V
24: aload 3
invokevirtual com.caucho.burlap.io.BurlapOutput.completeReply:()V
25: return
end local 9 end local 8 26: StackMap locals:
StackMap stack:
aload 7
ifnonnull 34
27: aload 3
invokevirtual com.caucho.burlap.io.BurlapOutput.startReply:()V
28: aload 3
ldc "NoSuchMethodException"
29: new java.lang.StringBuilder
dup
ldc "The service has no method named: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual com.caucho.burlap.io.BurlapInput.getMethod:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
30: aconst_null
31: invokevirtual com.caucho.burlap.io.BurlapOutput.writeFault:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
32: aload 3
invokevirtual com.caucho.burlap.io.BurlapOutput.completeReply:()V
33: return
34: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 8
start local 8 35: aload 8
arraylength
anewarray java.lang.Object
astore 9
start local 9 36: iconst_0
istore 10
start local 10 37: goto 40
38: StackMap locals: java.lang.Class[] java.lang.Object[] int
StackMap stack:
aload 9
iload 10
aload 2
aload 8
iload 10
aaload
invokevirtual com.caucho.burlap.io.BurlapInput.readObject:(Ljava/lang/Class;)Ljava/lang/Object;
aastore
39: iinc 10 1
StackMap locals:
StackMap stack:
40: iload 10
aload 8
arraylength
if_icmplt 38
end local 10 41: aload 2
invokevirtual com.caucho.burlap.io.BurlapInput.completeCall:()V
42: aconst_null
astore 10
start local 10 43: aload 7
aload 1
aload 9
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 10
44: goto 59
StackMap locals: com.caucho.burlap.server.BurlapSkeleton java.lang.Object com.caucho.burlap.io.BurlapInput com.caucho.burlap.io.BurlapOutput com.caucho.services.server.ServiceContext java.lang.String java.lang.String java.lang.reflect.Method java.lang.Class[] java.lang.Object[] java.lang.Object
StackMap stack: java.lang.Throwable
45: astore 11
start local 11 46: getstatic com.caucho.burlap.server.BurlapSkeleton.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
47: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "() failed with exception:\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
48: aload 11
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
49: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
50: aload 11
51: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
52: aload 11
instanceof java.lang.reflect.InvocationTargetException
ifeq 55
53: aload 11
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
instanceof java.lang.Exception
ifeq 55
54: aload 11
checkcast java.lang.reflect.InvocationTargetException
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
astore 11
55: StackMap locals: java.lang.Throwable
StackMap stack:
aload 3
invokevirtual com.caucho.burlap.io.BurlapOutput.startReply:()V
56: aload 3
ldc "ServiceException"
aload 11
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
aload 11
invokevirtual com.caucho.burlap.io.BurlapOutput.writeFault:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
57: aload 3
invokevirtual com.caucho.burlap.io.BurlapOutput.completeReply:()V
58: return
end local 11 59: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.caucho.burlap.io.BurlapOutput.startReply:()V
60: aload 3
aload 10
invokevirtual com.caucho.burlap.io.BurlapOutput.writeObject:(Ljava/lang/Object;)V
61: aload 3
invokevirtual com.caucho.burlap.io.BurlapOutput.completeReply:()V
62: return
end local 10 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 63 0 this Lcom/caucho/burlap/server/BurlapSkeleton;
0 63 1 service Ljava/lang/Object;
0 63 2 in Lcom/caucho/burlap/io/BurlapInput;
0 63 3 out Lcom/caucho/burlap/io/BurlapOutput;
2 63 4 context Lcom/caucho/services/server/ServiceContext;
3 5 5 header Ljava/lang/String;
6 63 5 header Ljava/lang/String;
4 5 6 value Ljava/lang/Object;
8 63 6 methodName Ljava/lang/String;
9 63 7 method Ljava/lang/reflect/Method;
14 26 8 attrName Ljava/lang/String;
16 26 9 value Ljava/lang/String;
35 63 8 args [Ljava/lang/Class;
36 63 9 values [Ljava/lang/Object;
37 41 10 i I
43 63 10 result Ljava/lang/Object;
46 59 11 e Ljava/lang/Throwable;
Exception table:
from to target type
43 44 45 Class java.lang.Throwable
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
service
in
out
}
SourceFile: "BurlapSkeleton.java"