class com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters extends com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilder
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters
super_class: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilder
{
private java.lang.reflect.Method[] setters;
descriptor: [Ljava/lang/reflect/Method;
flags: (0x0002) ACC_PRIVATE
void <init>(java.lang.Class<?>, java.lang.String[]);
descriptor: (Ljava/lang/Class;[Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters this
start local 1 // java.lang.Class targetClass
start local 2 // java.lang.String[] itemNames
0: .line 1080
aload 0 /* this */
aload 1 /* targetClass */
aload 2 /* itemNames */
invokespecial com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilder.<init>:(Ljava/lang/Class;[Ljava/lang/String;)V
1: .line 1081
return
end local 2 // java.lang.String[] itemNames
end local 1 // java.lang.Class targetClass
end local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory$CompositeBuilderViaSetters;
0 2 1 targetClass Ljava/lang/Class<*>;
0 2 2 itemNames [Ljava/lang/String;
Signature: (Ljava/lang/Class<*>;[Ljava/lang/String;)V
MethodParameters:
Name Flags
targetClass
itemNames
java.lang.String applicable(java.lang.reflect.Method[]);
descriptor: ([Ljava/lang/reflect/Method;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=6, locals=9, args_size=2
start local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters this
start local 1 // java.lang.reflect.Method[] getters
0: .line 1085
aload 0 /* this */
invokevirtual com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters.getTargetClass:()Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
pop
1: .line 1086
goto 4
StackMap locals:
StackMap stack: java.lang.Exception
2: pop
3: .line 1087
ldc "does not have a public no-arg constructor"
areturn
4: .line 1090
StackMap locals:
StackMap stack:
aload 1 /* getters */
arraylength
anewarray java.lang.reflect.Method
astore 2 /* setters */
start local 2 // java.lang.reflect.Method[] setters
5: .line 1091
iconst_0
istore 3 /* i */
start local 3 // int i
6: goto 20
7: .line 1092
StackMap locals: java.lang.reflect.Method[] int
StackMap stack:
aload 1 /* getters */
iload 3 /* i */
aaload
astore 4 /* getter */
start local 4 // java.lang.reflect.Method getter
8: .line 1093
aload 4 /* getter */
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
astore 5 /* returnType */
start local 5 // java.lang.Class returnType
9: .line 1094
aload 4 /* getter */
invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.propertyName:(Ljava/lang/reflect/Method;)Ljava/lang/String;
astore 6 /* name */
start local 6 // java.lang.String name
10: .line 1095
new java.lang.StringBuilder
dup
ldc "set"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6 /* name */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7 /* setterName */
start local 7 // java.lang.String setterName
11: .line 1098
aload 0 /* this */
invokevirtual com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters.getTargetClass:()Ljava/lang/Class;
aload 7 /* setterName */
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 5 /* returnType */
aastore
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 8 /* setter */
start local 8 // java.lang.reflect.Method setter
12: .line 1099
aload 8 /* setter */
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 18
13: .line 1100
new java.lang.Exception
dup
invokespecial java.lang.Exception.<init>:()V
athrow
end local 8 // java.lang.reflect.Method setter
14: .line 1101
StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters java.lang.reflect.Method[] java.lang.reflect.Method[] int java.lang.reflect.Method java.lang.Class java.lang.String java.lang.String
StackMap stack: java.lang.Exception
pop
15: .line 1102
new java.lang.StringBuilder
dup
ldc "not all getters have corresponding setters ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: .line 1103
aload 4 /* getter */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: .line 1102
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
start local 8 // java.lang.reflect.Method setter
18: .line 1105
StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 2 /* setters */
iload 3 /* i */
aload 8 /* setter */
aastore
end local 8 // java.lang.reflect.Method setter
end local 7 // java.lang.String setterName
end local 6 // java.lang.String name
end local 5 // java.lang.Class returnType
end local 4 // java.lang.reflect.Method getter
19: .line 1091
iinc 3 /* i */ 1
StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters java.lang.reflect.Method[] java.lang.reflect.Method[] int
StackMap stack:
20: iload 3 /* i */
aload 1 /* getters */
arraylength
if_icmplt 7
end local 3 // int i
21: .line 1107
aload 0 /* this */
aload 2 /* setters */
putfield com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters.setters:[Ljava/lang/reflect/Method;
22: .line 1108
aconst_null
areturn
end local 2 // java.lang.reflect.Method[] setters
end local 1 // java.lang.reflect.Method[] getters
end local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters this
LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory$CompositeBuilderViaSetters;
0 23 1 getters [Ljava/lang/reflect/Method;
5 23 2 setters [Ljava/lang/reflect/Method;
6 21 3 i I
8 19 4 getter Ljava/lang/reflect/Method;
9 19 5 returnType Ljava/lang/Class<*>;
10 19 6 name Ljava/lang/String;
11 19 7 setterName Ljava/lang/String;
12 14 8 setter Ljava/lang/reflect/Method;
18 19 8 setter Ljava/lang/reflect/Method;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
11 14 14 Class java.lang.Exception
MethodParameters:
Name Flags
getters
java.lang.Object fromCompositeData(javax.management.openmbean.CompositeData, java.lang.String[], com.sun.jmx.mbeanserver.MXBeanMapping[]);
descriptor: (Ljavax/management/openmbean/CompositeData;[Ljava/lang/String;[Lcom/sun/jmx/mbeanserver/MXBeanMapping;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=6, locals=10, args_size=4
start local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters this
start local 1 // javax.management.openmbean.CompositeData cd
start local 2 // java.lang.String[] itemNames
start local 3 // com.sun.jmx.mbeanserver.MXBeanMapping[] converters
0: .line 1117
aload 0 /* this */
invokevirtual com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters.getTargetClass:()Ljava/lang/Class;
astore 5 /* targetClass */
start local 5 // java.lang.Class targetClass
1: .line 1118
aload 5 /* targetClass */
invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
2: .line 1120
aload 5 /* targetClass */
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
astore 6 /* tmp */
start local 6 // java.lang.Object tmp
3: .line 1121
aload 6 /* tmp */
astore 4 /* o */
start local 4 // java.lang.Object o
4: .line 1122
iconst_0
istore 7 /* i */
start local 7 // int i
5: goto 12
6: .line 1123
StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters javax.management.openmbean.CompositeData java.lang.String[] com.sun.jmx.mbeanserver.MXBeanMapping[] java.lang.Object java.lang.Class java.lang.Object int
StackMap stack:
aload 1 /* cd */
aload 2 /* itemNames */
iload 7 /* i */
aaload
invokeinterface javax.management.openmbean.CompositeData.containsKey:(Ljava/lang/String;)Z
ifeq 11
7: .line 1124
aload 1 /* cd */
aload 2 /* itemNames */
iload 7 /* i */
aaload
invokeinterface javax.management.openmbean.CompositeData.get:(Ljava/lang/String;)Ljava/lang/Object;
astore 8 /* openItem */
start local 8 // java.lang.Object openItem
8: .line 1126
aload 3 /* converters */
iload 7 /* i */
aaload
aload 8 /* openItem */
invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.fromOpenValue:(Ljava/lang/Object;)Ljava/lang/Object;
9: .line 1125
astore 9 /* javaItem */
start local 9 // java.lang.Object javaItem
10: .line 1127
aload 0 /* this */
getfield com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters.setters:[Ljava/lang/reflect/Method;
iload 7 /* i */
aaload
aload 4 /* o */
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 9 /* javaItem */
aastore
invokestatic sun.reflect.misc.MethodUtil.invoke:(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 9 // java.lang.Object javaItem
end local 8 // java.lang.Object openItem
11: .line 1122
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
12: iload 7 /* i */
aload 2 /* itemNames */
arraylength
if_icmplt 6
end local 7 // int i
end local 6 // java.lang.Object tmp
end local 5 // java.lang.Class targetClass
13: .line 1130
goto 16
end local 4 // java.lang.Object o
StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters javax.management.openmbean.CompositeData java.lang.String[] com.sun.jmx.mbeanserver.MXBeanMapping[]
StackMap stack: java.lang.Exception
14: astore 5 /* e */
start local 5 // java.lang.Exception e
15: .line 1131
aload 5 /* e */
invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.invalidObjectException:(Ljava/lang/Throwable;)Ljava/io/InvalidObjectException;
athrow
end local 5 // java.lang.Exception e
start local 4 // java.lang.Object o
16: .line 1133
StackMap locals: java.lang.Object
StackMap stack:
aload 4 /* o */
areturn
end local 4 // java.lang.Object o
end local 3 // com.sun.jmx.mbeanserver.MXBeanMapping[] converters
end local 2 // java.lang.String[] itemNames
end local 1 // javax.management.openmbean.CompositeData cd
end local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory$CompositeBuilderViaSetters;
0 17 1 cd Ljavax/management/openmbean/CompositeData;
0 17 2 itemNames [Ljava/lang/String;
0 17 3 converters [Lcom/sun/jmx/mbeanserver/MXBeanMapping;
4 14 4 o Ljava/lang/Object;
16 17 4 o Ljava/lang/Object;
1 13 5 targetClass Ljava/lang/Class<*>;
3 13 6 tmp Ljava/lang/Object;
5 13 7 i I
8 11 8 openItem Ljava/lang/Object;
10 11 9 javaItem Ljava/lang/Object;
15 16 5 e Ljava/lang/Exception;
Exception table:
from to target type
0 13 14 Class java.lang.Exception
Exceptions:
throws java.io.InvalidObjectException
MethodParameters:
Name Flags
cd
itemNames
converters
}
SourceFile: "DefaultMXBeanMappingFactory.java"
NestHost: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
InnerClasses:
private abstract CompositeBuilder = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilder of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
private CompositeBuilderViaSetters = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory