class io.ebeaninternal.server.persist.DefaultPersister$DraftHandler<T>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.ebeaninternal.server.persist.DefaultPersister$DraftHandler
super_class: java.lang.Object
{
final io.ebeaninternal.server.deploy.BeanDescriptor<T> desc;
descriptor: Lio/ebeaninternal/server/deploy/BeanDescriptor;
flags: (0x0010) ACC_FINAL
Signature: Lio/ebeaninternal/server/deploy/BeanDescriptor<TT;>;
final io.ebean.Transaction transaction;
descriptor: Lio/ebean/Transaction;
flags: (0x0010) ACC_FINAL
final java.util.List<T> draftUpdates;
descriptor: Ljava/util/List;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/List<TT;>;
java.lang.Object id;
descriptor: Ljava/lang/Object;
flags: (0x0000)
boolean insert;
descriptor: Z
flags: (0x0000)
java.util.Map<?, T> destBeans;
descriptor: Ljava/util/Map;
flags: (0x0000)
Signature: Ljava/util/Map<*TT;>;
final io.ebeaninternal.server.persist.DefaultPersister this$0;
descriptor: Lio/ebeaninternal/server/persist/DefaultPersister;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(io.ebeaninternal.server.deploy.BeanDescriptor<T>, io.ebean.Transaction);
descriptor: (Lio/ebeaninternal/server/persist/DefaultPersister;Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebean/Transaction;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.this$0:Lio/ebeaninternal/server/persist/DefaultPersister;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.draftUpdates:Ljava/util/List;
2: aload 0
aload 2
putfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
3: aload 0
aload 3
putfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.transaction:Lio/ebean/Transaction;
4: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/ebeaninternal/server/persist/DefaultPersister$DraftHandler<TT;>;
0 5 2 desc Lio/ebeaninternal/server/deploy/BeanDescriptor<TT;>;
0 5 3 transaction Lio/ebean/Transaction;
Signature: (Lio/ebeaninternal/server/deploy/BeanDescriptor<TT;>;Lio/ebean/Transaction;)V
MethodParameters:
Name Flags
this$0 final
desc
transaction
java.util.List<T> getDrafts();
descriptor: ()Ljava/util/List;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.draftUpdates:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/ebeaninternal/server/persist/DefaultPersister$DraftHandler<TT;>;
Signature: ()Ljava/util/List<TT;>;
void resetDraft();
descriptor: (Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
aload 1
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.draftReset:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.draftUpdates:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/ebeaninternal/server/persist/DefaultPersister$DraftHandler<TT;>;
0 3 1 draftBean TT;
Signature: (TT;)V
MethodParameters:
Name Flags
draftBean
void updateDrafts(io.ebean.Transaction, io.ebeaninternal.server.deploy.BeanManager<T>);
descriptor: (Lio/ebean/Transaction;Lio/ebeaninternal/server/deploy/BeanManager;)V
flags: (0x0000)
Code:
stack=8, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.draftUpdates:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 6
1: getstatic io.ebeaninternal.server.persist.DefaultPersister.PUB:Lorg/slf4j/Logger;
ldc "publish - update dirty status on [{}] drafts"
aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.draftUpdates:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
2: aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.draftUpdates:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: io.ebeaninternal.server.persist.DefaultPersister$DraftHandler io.ebean.Transaction io.ebeaninternal.server.deploy.BeanManager top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Object
astore 3
start local 3 4: aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.this$0:Lio/ebeaninternal/server/persist/DefaultPersister;
aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.this$0:Lio/ebeaninternal/server/persist/DefaultPersister;
aload 3
aload 1
aconst_null
aload 2
getstatic io.ebeaninternal.server.core.PersistRequest$Type.UPDATE:Lio/ebeaninternal/server/core/PersistRequest$Type;
iconst_0
invokevirtual io.ebeaninternal.server.persist.DefaultPersister.createRequest:(Ljava/lang/Object;Lio/ebean/Transaction;Ljava/lang/Object;Lio/ebeaninternal/server/deploy/BeanManager;Lio/ebeaninternal/server/core/PersistRequest$Type;I)Lio/ebeaninternal/server/core/PersistRequestBean;
invokevirtual io.ebeaninternal.server.persist.DefaultPersister.update:(Lio/ebeaninternal/server/core/PersistRequestBean;)V
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: StackMap locals: io.ebeaninternal.server.persist.DefaultPersister$DraftHandler io.ebean.Transaction io.ebeaninternal.server.deploy.BeanManager
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/ebeaninternal/server/persist/DefaultPersister$DraftHandler<TT;>;
0 7 1 transaction Lio/ebean/Transaction;
0 7 2 mgr Lio/ebeaninternal/server/deploy/BeanManager<TT;>;
4 5 3 draftUpdate TT;
Signature: (Lio/ebean/Transaction;Lio/ebeaninternal/server/deploy/BeanManager<TT;>;)V
MethodParameters:
Name Flags
transaction
mgr
java.util.List<T> fetchSourceBeans(io.ebean.Query<T>, boolean);
descriptor: (Lio/ebean/Query;Z)Ljava/util/List;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
aload 1
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.draftQueryOptimise:(Lio/ebean/Query;)V
1: iload 2
ifeq 3
2: aload 1
invokeinterface io.ebean.Query.asDraft:()Lio/ebean/Query;
pop
3: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.this$0:Lio/ebeaninternal/server/persist/DefaultPersister;
getfield io.ebeaninternal.server.persist.DefaultPersister.server:Lio/ebeaninternal/api/SpiEbeanServer;
aload 1
aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.transaction:Lio/ebean/Transaction;
invokeinterface io.ebeaninternal.api.SpiEbeanServer.findList:(Lio/ebean/Query;Lio/ebean/Transaction;)Ljava/util/List;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/ebeaninternal/server/persist/DefaultPersister$DraftHandler<TT;>;
0 4 1 query Lio/ebean/Query<TT;>;
0 4 2 asDraft Z
Signature: (Lio/ebean/Query<TT;>;Z)Ljava/util/List<TT;>;
MethodParameters:
Name Flags
query
asDraft
void fetchDestinationBeans(java.util.List<T>, );
descriptor: (Ljava/util/List;Z)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.this$0:Lio/ebeaninternal/server/persist/DefaultPersister;
aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
aload 1
invokevirtual io.ebeaninternal.server.persist.DefaultPersister.getBeanIds:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Ljava/util/List;)Ljava/util/List;
astore 3
start local 3 1: aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.this$0:Lio/ebeaninternal/server/persist/DefaultPersister;
getfield io.ebeaninternal.server.persist.DefaultPersister.server:Lio/ebeaninternal/api/SpiEbeanServer;
aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getBeanType:()Ljava/lang/Class;
invokeinterface io.ebeaninternal.api.SpiEbeanServer.find:(Ljava/lang/Class;)Lio/ebean/Query;
invokeinterface io.ebean.Query.where:()Lio/ebean/ExpressionList;
aload 3
invokeinterface io.ebean.ExpressionList.idIn:(Ljava/util/Collection;)Lio/ebean/ExpressionList;
invokeinterface io.ebean.ExpressionList.query:()Lio/ebean/Query;
astore 4
start local 4 2: iload 2
ifeq 4
3: aload 4
invokeinterface io.ebean.Query.asDraft:()Lio/ebean/Query;
pop
4: StackMap locals: java.util.List io.ebean.Query
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
aload 4
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.draftQueryOptimise:(Lio/ebean/Query;)V
5: aload 0
aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.this$0:Lio/ebeaninternal/server/persist/DefaultPersister;
getfield io.ebeaninternal.server.persist.DefaultPersister.server:Lio/ebeaninternal/api/SpiEbeanServer;
aload 4
aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.transaction:Lio/ebean/Transaction;
invokeinterface io.ebeaninternal.api.SpiEbeanServer.findMap:(Lio/ebean/Query;Lio/ebean/Transaction;)Ljava/util/Map;
putfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.destBeans:Ljava/util/Map;
6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/ebeaninternal/server/persist/DefaultPersister$DraftHandler<TT;>;
0 7 1 sourceBeans Ljava/util/List<TT;>;
0 7 2 asDraft Z
1 7 3 ids Ljava/util/List<Ljava/lang/Object;>;
2 7 4 destQuery Lio/ebean/Query<TT;>;
Signature: (Ljava/util/List<TT;>;Z)V
MethodParameters:
Name Flags
sourceBeans
asDraft
T publishToDestinationBean();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
aload 1
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getBeanId:(Ljava/lang/Object;)Ljava/lang/Object;
putfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.id:Ljava/lang/Object;
1: aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.destBeans:Ljava/util/Map;
aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.id:Ljava/lang/Object;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 2: aload 0
aload 2
ifnonnull 3
iconst_1
goto 4
StackMap locals: io.ebeaninternal.server.persist.DefaultPersister$DraftHandler java.lang.Object java.lang.Object
StackMap stack: io.ebeaninternal.server.persist.DefaultPersister$DraftHandler
3: iconst_0
StackMap locals: io.ebeaninternal.server.persist.DefaultPersister$DraftHandler java.lang.Object java.lang.Object
StackMap stack: io.ebeaninternal.server.persist.DefaultPersister$DraftHandler int
4: putfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.insert:Z
5: aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.desc:Lio/ebeaninternal/server/deploy/BeanDescriptor;
aload 1
aload 2
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.publish:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/ebeaninternal/server/persist/DefaultPersister$DraftHandler<TT;>;
0 6 1 sourceBean TT;
2 6 2 destBean TT;
Signature: (TT;)TT;
MethodParameters:
Name Flags
sourceBean
boolean isInsert();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.insert:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/ebeaninternal/server/persist/DefaultPersister$DraftHandler<TT;>;
java.lang.Object getId();
descriptor: ()Ljava/lang/Object;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.persist.DefaultPersister$DraftHandler.id:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/ebeaninternal/server/persist/DefaultPersister$DraftHandler<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "DefaultPersister.java"
NestHost: io.ebeaninternal.server.persist.DefaultPersister
InnerClasses:
public final Type = io.ebeaninternal.server.core.PersistRequest$Type of io.ebeaninternal.server.core.PersistRequest
DraftHandler = io.ebeaninternal.server.persist.DefaultPersister$DraftHandler of io.ebeaninternal.server.persist.DefaultPersister