class io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory
super_class: java.lang.Object
{
private final boolean postConstructPresent;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(io.ebean.config.DatabaseConfig);
descriptor: (Lio/ebean/config/DatabaseConfig;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokevirtual io.ebean.config.DatabaseConfig.getClassLoadConfig:()Lio/ebean/config/ClassLoadConfig;
invokevirtual io.ebean.config.ClassLoadConfig.isJavaxPostConstructPresent:()Z
putfield io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory.postConstructPresent:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/ebeaninternal/server/deploy/BeanLifecycleAdapterFactory;
0 3 1 config Lio/ebean/config/DatabaseConfig;
MethodParameters:
Name Flags
config
void addLifecycleMethods(io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor<?>);
descriptor: (Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor;)V
flags: (0x0000)
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor.getBeanType:()Ljava/lang/Class;
invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
astore 2
start local 2 1: new io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$MethodsHolder
dup
invokespecial io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$MethodsHolder.<init>:()V
astore 3
start local 3 2: aload 2
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 6
StackMap locals: io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor java.lang.reflect.Method[] io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$MethodsHolder top int int java.lang.reflect.Method[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: aload 3
aload 4
aload 0
getfield io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory.postConstructPresent:Z
invokevirtual io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$MethodsHolder.checkMethod:(Ljava/lang/reflect/Method;Z)V
end local 4 5: iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
iload 6
if_icmplt 3
7: aload 3
invokevirtual io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$MethodsHolder.hasPersistMethods:()Z
ifeq 9
8: aload 1
new io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$PersistAdapter
dup
new io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$PersistMethodsHolder
dup
aload 3
invokespecial io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$PersistMethodsHolder.<init>:(Lio/ebeaninternal/server/deploy/BeanLifecycleAdapterFactory$MethodsHolder;)V
invokespecial io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$PersistAdapter.<init>:(Lio/ebeaninternal/server/deploy/BeanLifecycleAdapterFactory$PersistMethodsHolder;)V
invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor.addPersistController:(Lio/ebean/event/BeanPersistController;)V
9: StackMap locals: io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor java.lang.reflect.Method[] io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$MethodsHolder
StackMap stack:
aload 3
getfield io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$MethodsHolder.postLoads:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 11
10: aload 1
new io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$PostLoadAdapter
dup
aload 3
getfield io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$MethodsHolder.postLoads:Ljava/util/List;
invokespecial io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$PostLoadAdapter.<init>:(Ljava/util/List;)V
invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor.addPostLoad:(Lio/ebean/event/BeanPostLoad;)V
11: StackMap locals:
StackMap stack:
aload 3
getfield io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$MethodsHolder.postConstructs:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 13
12: aload 1
new io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$PostConstructAdapter
dup
aload 3
getfield io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$MethodsHolder.postConstructs:Ljava/util/List;
invokespecial io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$PostConstructAdapter.<init>:(Ljava/util/List;)V
invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor.addPostConstructListener:(Lio/ebean/event/BeanPostConstructListener;)V
13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lio/ebeaninternal/server/deploy/BeanLifecycleAdapterFactory;
0 14 1 deployDesc Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor<*>;
1 14 2 methods [Ljava/lang/reflect/Method;
2 14 3 methodHolder Lio/ebeaninternal/server/deploy/BeanLifecycleAdapterFactory$MethodsHolder;
4 5 4 m Ljava/lang/reflect/Method;
Signature: (Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor<*>;)V
MethodParameters:
Name Flags
deployDesc
private static java.lang.reflect.Method[] toArray(java.util.List<java.lang.reflect.Method>);
descriptor: (Ljava/util/List;)[Ljava/lang/reflect/Method;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
anewarray java.lang.reflect.Method
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.reflect.Method[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 methodList Ljava/util/List<Ljava/lang/reflect/Method;>;
Signature: (Ljava/util/List<Ljava/lang/reflect/Method;>;)[Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
methodList
private static java.lang.RuntimeException unwrapException(java.lang.ReflectiveOperationException);
descriptor: (Ljava/lang/ReflectiveOperationException;)Ljava/lang/RuntimeException;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
instanceof java.lang.reflect.InvocationTargetException
ifeq 5
1: aload 0
checkcast java.lang.reflect.InvocationTargetException
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
astore 1
start local 1 2: aload 1
instanceof java.lang.RuntimeException
ifeq 4
3: aload 1
checkcast java.lang.RuntimeException
areturn
4: StackMap locals: java.lang.Throwable
StackMap stack:
new javax.persistence.PersistenceException
dup
ldc "Error invoking lifecycle method"
aload 1
invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
end local 1 5: StackMap locals:
StackMap stack:
new javax.persistence.PersistenceException
dup
ldc "Error invoking lifecycle method"
aload 0
invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 e Ljava/lang/ReflectiveOperationException;
2 5 1 targetException Ljava/lang/Throwable;
MethodParameters:
Name Flags
e
}
SourceFile: "BeanLifecycleAdapterFactory.java"
NestMembers:
io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$MethodsHolder io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$PersistAdapter io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$PersistMethodsHolder io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$PostConstructAdapter io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$PostLoadAdapter
InnerClasses:
private MethodsHolder = io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$MethodsHolder of io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory
private PersistAdapter = io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$PersistAdapter of io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory
private PersistMethodsHolder = io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$PersistMethodsHolder of io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory
private PostConstructAdapter = io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$PostConstructAdapter of io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory
private PostLoadAdapter = io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory$PostLoadAdapter of io.ebeaninternal.server.deploy.BeanLifecycleAdapterFactory