class org.springframework.util.AutoPopulatingList$ReflectiveElementFactory<E> implements org.springframework.util.AutoPopulatingList$ElementFactory<E>, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.util.AutoPopulatingList$ReflectiveElementFactory
super_class: java.lang.Object
{
private final java.lang.Class<? extends E> elementClass;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<+TE;>;
public void <init>(java.lang.Class<? extends E>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.springframework.util.AutoPopulatingList$ReflectiveElementFactory this
start local 1 // java.lang.Class elementClass
0: .line 286
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 287
aload 1 /* elementClass */
ldc "Element class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: .line 288
aload 1 /* elementClass */
invokevirtual java.lang.Class.isInterface:()Z
ifeq 3
iconst_0
goto 4
StackMap locals: org.springframework.util.AutoPopulatingList$ReflectiveElementFactory java.lang.Class
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: ldc "Element class must not be an interface type"
invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
5: .line 289
aload 1 /* elementClass */
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isAbstract:(I)Z
ifeq 6
iconst_0
goto 7
StackMap locals:
StackMap stack:
6: iconst_1
StackMap locals:
StackMap stack: int
7: ldc "Element class cannot be an abstract class"
invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
8: .line 290
aload 0 /* this */
aload 1 /* elementClass */
putfield org.springframework.util.AutoPopulatingList$ReflectiveElementFactory.elementClass:Ljava/lang/Class;
9: .line 291
return
end local 1 // java.lang.Class elementClass
end local 0 // org.springframework.util.AutoPopulatingList$ReflectiveElementFactory this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/util/AutoPopulatingList$ReflectiveElementFactory<TE;>;
0 10 1 elementClass Ljava/lang/Class<+TE;>;
Signature: (Ljava/lang/Class<+TE;>;)V
MethodParameters:
Name Flags
elementClass
public E createElement();
descriptor: (I)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 // org.springframework.util.AutoPopulatingList$ReflectiveElementFactory this
start local 1 // int index
0: .line 296
aload 0 /* this */
getfield org.springframework.util.AutoPopulatingList$ReflectiveElementFactory.elementClass:Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokestatic org.springframework.util.ReflectionUtils.accessibleConstructor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
1: areturn
2: .line 298
StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
astore 2 /* ex */
start local 2 // java.lang.NoSuchMethodException ex
3: .line 299
new org.springframework.util.AutoPopulatingList$ElementInstantiationException
dup
4: .line 300
new java.lang.StringBuilder
dup
ldc "No default constructor on element class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield org.springframework.util.AutoPopulatingList$ReflectiveElementFactory.elementClass:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2 /* ex */
5: .line 299
invokespecial org.springframework.util.AutoPopulatingList$ElementInstantiationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 // java.lang.NoSuchMethodException ex
6: .line 302
StackMap locals:
StackMap stack: java.lang.InstantiationException
astore 2 /* ex */
start local 2 // java.lang.InstantiationException ex
7: .line 303
new org.springframework.util.AutoPopulatingList$ElementInstantiationException
dup
8: .line 304
new java.lang.StringBuilder
dup
ldc "Unable to instantiate element class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield org.springframework.util.AutoPopulatingList$ReflectiveElementFactory.elementClass:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2 /* ex */
9: .line 303
invokespecial org.springframework.util.AutoPopulatingList$ElementInstantiationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 // java.lang.InstantiationException ex
10: .line 306
StackMap locals:
StackMap stack: java.lang.IllegalAccessException
astore 2 /* ex */
start local 2 // java.lang.IllegalAccessException ex
11: .line 307
new org.springframework.util.AutoPopulatingList$ElementInstantiationException
dup
12: .line 308
new java.lang.StringBuilder
dup
ldc "Could not access element constructor: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield org.springframework.util.AutoPopulatingList$ReflectiveElementFactory.elementClass:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2 /* ex */
13: .line 307
invokespecial org.springframework.util.AutoPopulatingList$ElementInstantiationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 // java.lang.IllegalAccessException ex
14: .line 310
StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 2 /* ex */
start local 2 // java.lang.reflect.InvocationTargetException ex
15: .line 311
new org.springframework.util.AutoPopulatingList$ElementInstantiationException
dup
16: .line 312
new java.lang.StringBuilder
dup
ldc "Failed to invoke element constructor: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* this */
getfield org.springframework.util.AutoPopulatingList$ReflectiveElementFactory.elementClass:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2 /* ex */
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
17: .line 311
invokespecial org.springframework.util.AutoPopulatingList$ElementInstantiationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 // java.lang.reflect.InvocationTargetException ex
end local 1 // int index
end local 0 // org.springframework.util.AutoPopulatingList$ReflectiveElementFactory this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/springframework/util/AutoPopulatingList$ReflectiveElementFactory<TE;>;
0 18 1 index I
3 6 2 ex Ljava/lang/NoSuchMethodException;
7 10 2 ex Ljava/lang/InstantiationException;
11 14 2 ex Ljava/lang/IllegalAccessException;
15 18 2 ex Ljava/lang/reflect/InvocationTargetException;
Exception table:
from to target type
0 1 2 Class java.lang.NoSuchMethodException
0 1 6 Class java.lang.InstantiationException
0 1 10 Class java.lang.IllegalAccessException
0 1 14 Class java.lang.reflect.InvocationTargetException
Signature: (I)TE;
MethodParameters:
Name Flags
index
}
Signature: <E:Ljava/lang/Object;>Ljava/lang/Object;Lorg/springframework/util/AutoPopulatingList$ElementFactory<TE;>;Ljava/io/Serializable;
SourceFile: "AutoPopulatingList.java"
NestHost: org.springframework.util.AutoPopulatingList
InnerClasses:
public abstract ElementFactory = org.springframework.util.AutoPopulatingList$ElementFactory of org.springframework.util.AutoPopulatingList
public ElementInstantiationException = org.springframework.util.AutoPopulatingList$ElementInstantiationException of org.springframework.util.AutoPopulatingList
private ReflectiveElementFactory = org.springframework.util.AutoPopulatingList$ReflectiveElementFactory of org.springframework.util.AutoPopulatingList