public class io.ebeaninternal.server.persist.SaveManyBeans extends io.ebeaninternal.server.persist.SaveManyBase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.ebeaninternal.server.persist.SaveManyBeans
super_class: io.ebeaninternal.server.persist.SaveManyBase
{
private static final org.slf4j.Logger log;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final boolean cascade;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean publish;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.ebeaninternal.server.deploy.BeanDescriptor<?> targetDescriptor;
descriptor: Lio/ebeaninternal/server/deploy/BeanDescriptor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
private final boolean isMap;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean saveRecurseSkippable;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.ebeaninternal.server.persist.DeleteMode deleteMode;
descriptor: Lio/ebeaninternal/server/persist/DeleteMode;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean untouchedBeanCollection;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Collection<?> collection;
descriptor: Ljava/util/Collection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Collection<*>;
private int sortOrder;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/ebeaninternal/server/persist/SaveManyBeans;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic io.ebeaninternal.server.persist.SaveManyBeans.log:Lorg/slf4j/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(io.ebeaninternal.server.persist.DefaultPersister, boolean, io.ebeaninternal.server.deploy.BeanPropertyAssocMany<?>, io.ebean.bean.EntityBean, io.ebeaninternal.server.core.PersistRequestBean<?>);
descriptor: (Lio/ebeaninternal/server/persist/DefaultPersister;ZLio/ebeaninternal/server/deploy/BeanPropertyAssocMany;Lio/ebean/bean/EntityBean;Lio/ebeaninternal/server/core/PersistRequestBean;)V
flags: (0x0000)
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
iload 2
aload 3
aload 4
aload 5
invokespecial io.ebeaninternal.server.persist.SaveManyBase.<init>:(Lio/ebeaninternal/server/persist/DefaultPersister;ZLio/ebeaninternal/server/deploy/BeanPropertyAssocMany;Lio/ebean/bean/EntityBean;Lio/ebeaninternal/server/core/PersistRequestBean;)V
1: aload 0
aload 3
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getCascadeInfo:()Lio/ebeaninternal/server/deploy/BeanCascadeInfo;
invokevirtual io.ebeaninternal.server.deploy.BeanCascadeInfo.isSave:()Z
putfield io.ebeaninternal.server.persist.SaveManyBeans.cascade:Z
2: aload 0
aload 5
invokevirtual io.ebeaninternal.server.core.PersistRequestBean.isPublish:()Z
putfield io.ebeaninternal.server.persist.SaveManyBeans.publish:Z
3: aload 0
aload 3
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getTargetDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
putfield io.ebeaninternal.server.persist.SaveManyBeans.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
4: aload 0
aload 3
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getManyType:()Lio/ebeaninternal/server/deploy/ManyType;
invokevirtual io.ebeaninternal.server.deploy.ManyType.isMap:()Z
putfield io.ebeaninternal.server.persist.SaveManyBeans.isMap:Z
5: aload 0
aload 3
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.isSaveRecurseSkippable:()Z
putfield io.ebeaninternal.server.persist.SaveManyBeans.saveRecurseSkippable:Z
6: aload 0
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.isSoftDelete:()Z
ifeq 7
getstatic io.ebeaninternal.server.persist.DeleteMode.SOFT:Lio/ebeaninternal/server/persist/DeleteMode;
goto 8
StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans io.ebeaninternal.server.persist.DefaultPersister int io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebean.bean.EntityBean io.ebeaninternal.server.core.PersistRequestBean
StackMap stack: io.ebeaninternal.server.persist.SaveManyBeans
7: getstatic io.ebeaninternal.server.persist.DeleteMode.HARD:Lio/ebeaninternal/server/persist/DeleteMode;
StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans io.ebeaninternal.server.persist.DefaultPersister int io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebean.bean.EntityBean io.ebeaninternal.server.core.PersistRequestBean
StackMap stack: io.ebeaninternal.server.persist.SaveManyBeans io.ebeaninternal.server.persist.DeleteMode
8: putfield io.ebeaninternal.server.persist.SaveManyBeans.deleteMode:Lio/ebeaninternal/server/persist/DeleteMode;
9: aload 0
aload 0
invokevirtual io.ebeaninternal.server.persist.SaveManyBeans.untouchedBeanCollection:()Z
putfield io.ebeaninternal.server.persist.SaveManyBeans.untouchedBeanCollection:Z
10: aload 0
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.cascade:Z
ifeq 11
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.value:Ljava/lang/Object;
invokestatic io.ebeaninternal.server.deploy.BeanCollectionUtil.getActualEntries:(Ljava/lang/Object;)Ljava/util/Collection;
goto 12
StackMap locals:
StackMap stack: io.ebeaninternal.server.persist.SaveManyBeans
11: aconst_null
StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans io.ebeaninternal.server.persist.DefaultPersister int io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebean.bean.EntityBean io.ebeaninternal.server.core.PersistRequestBean
StackMap stack: io.ebeaninternal.server.persist.SaveManyBeans java.util.Collection
12: putfield io.ebeaninternal.server.persist.SaveManyBeans.collection:Ljava/util/Collection;
13: return
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 14 0 this Lio/ebeaninternal/server/persist/SaveManyBeans;
0 14 1 persister Lio/ebeaninternal/server/persist/DefaultPersister;
0 14 2 insertedParent Z
0 14 3 many Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<*>;
0 14 4 parentBean Lio/ebean/bean/EntityBean;
0 14 5 request Lio/ebeaninternal/server/core/PersistRequestBean<*>;
Signature: (Lio/ebeaninternal/server/persist/DefaultPersister;ZLio/ebeaninternal/server/deploy/BeanPropertyAssocMany<*>;Lio/ebean/bean/EntityBean;Lio/ebeaninternal/server/core/PersistRequestBean<*>;)V
MethodParameters:
Name Flags
persister
insertedParent
many
parentBean
request
private boolean untouchedBeanCollection();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.value:Ljava/lang/Object;
instanceof io.ebean.bean.BeanCollection
ifeq 1
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.value:Ljava/lang/Object;
checkcast io.ebean.bean.BeanCollection
invokeinterface io.ebean.bean.BeanCollection.wasTouched:()Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/ebeaninternal/server/persist/SaveManyBeans;
void save();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.hasJoinTable:()Z
ifeq 9
1: aload 0
invokevirtual io.ebeaninternal.server.persist.SaveManyBeans.isSaveIntersection:()Z
istore 1
start local 1 2: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.cascade:Z
ifeq 4
3: aload 0
invokevirtual io.ebeaninternal.server.persist.SaveManyBeans.saveAssocManyDetails:()V
4: StackMap locals: int
StackMap stack:
iload 1
ifeq 7
5: aload 0
invokevirtual io.ebeaninternal.server.persist.SaveManyBeans.saveAssocManyIntersection:()V
6: goto 13
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.ebeaninternal.server.persist.SaveManyBeans.resetModifyState:()V
end local 1 8: goto 13
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.ebeaninternal.server.persist.SaveManyBeans.isModifyListenMode:()Z
ifne 10
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.hasOrderColumn:()Z
ifeq 11
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.ebeaninternal.server.persist.SaveManyBeans.removeAssocManyOrphans:()V
11: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.cascade:Z
ifeq 13
12: aload 0
invokevirtual io.ebeaninternal.server.persist.SaveManyBeans.saveAssocManyDetails:()V
13: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.insertedParent:Z
ifne 15
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.untouchedBeanCollection:Z
ifne 15
14: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.request:Lio/ebeaninternal/server/core/PersistRequestBean;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
invokevirtual io.ebeaninternal.server.core.PersistRequestBean.addUpdatedManyForL2Cache:(Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;)V
15: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/ebeaninternal/server/persist/SaveManyBeans;
2 8 1 saveIntersectionFromThisDirection Z
private boolean isSaveIntersection();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.isManyToMany:()Z
ifne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.transaction:Lio/ebeaninternal/api/SpiTransaction;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getIntersectionTableJoin:()Lio/ebeaninternal/server/deploy/TableJoin;
invokevirtual io.ebeaninternal.server.deploy.TableJoin.getTable:()Ljava/lang/String;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getBeanDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.rootName:()Ljava/lang/String;
invokeinterface io.ebeaninternal.api.SpiTransaction.isSaveAssocManyIntersection:(Ljava/lang/String;Ljava/lang/String;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/ebeaninternal/server/persist/SaveManyBeans;
private boolean isModifyListenMode();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic io.ebean.bean.BeanCollection$ModifyListenMode.REMOVALS:Lio/ebean/bean/BeanCollection$ModifyListenMode;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getModifyListenMode:()Lio/ebean/bean/BeanCollection$ModifyListenMode;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/ebeaninternal/server/persist/SaveManyBeans;
private void saveAssocManyDetails();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.collection:Ljava/util/Collection;
ifnull 2
1: aload 0
invokevirtual io.ebeaninternal.server.persist.SaveManyBeans.processDetails:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/ebeaninternal/server/persist/SaveManyBeans;
private void processDetails();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.hasOrderColumn:()Z
istore 2
start local 2 2: iload 2
ifeq 6
3: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.insertedParent:Z
ifne 5
aload 0
invokevirtual io.ebeaninternal.server.persist.SaveManyBeans.canSkipForOrderColumn:()Z
ifeq 5
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.saveRecurseSkippable:Z
ifeq 5
4: return
5: StackMap locals: io.ebeaninternal.server.deploy.BeanProperty int
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getOrderColumn:()Lio/ebeaninternal/server/deploy/BeanProperty;
astore 1
6: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.insertedParent:Z
ifeq 8
7: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.collection:Ljava/util/Collection;
invokeinterface java.util.Collection.size:()I
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.preAllocateIds:(I)V
8: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.insertedParent:Z
ifne 11
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.isOrphanRemoval:()Z
ifeq 11
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.request:Lio/ebeaninternal/server/core/PersistRequestBean;
invokevirtual io.ebeaninternal.server.core.PersistRequestBean.isForcedUpdate:()Z
ifeq 11
9: aload 0
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.collection:Ljava/util/Collection;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.isMap:Z
invokevirtual io.ebeaninternal.server.persist.SaveManyBeans.collectIds:(Ljava/util/Collection;Lio/ebeaninternal/server/deploy/BeanDescriptor;Z)Ljava/util/List;
astore 3
start local 3 10: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.persister:Lio/ebeaninternal/server/persist/DefaultPersister;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.transaction:Lio/ebeaninternal/api/SpiTransaction;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getBeanDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.parentBean:Lio/ebean/bean/EntityBean;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
aload 3
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.deleteMode:Lio/ebeaninternal/server/persist/DeleteMode;
invokevirtual io.ebeaninternal.server.persist.DefaultPersister.deleteManyDetails:(Lio/ebeaninternal/api/SpiTransaction;Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebean/bean/EntityBean;Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;Ljava/util/List;Lio/ebeaninternal/server/persist/DeleteMode;)V
end local 3 11: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.transaction:Lio/ebeaninternal/api/SpiTransaction;
iconst_1
invokeinterface io.ebeaninternal.api.SpiTransaction.depth:(I)V
12: aload 0
aload 1
invokevirtual io.ebeaninternal.server.persist.SaveManyBeans.saveAllBeans:(Lio/ebeaninternal/server/deploy/BeanProperty;)V
13: iload 2
ifeq 15
14: aload 0
invokevirtual io.ebeaninternal.server.persist.SaveManyBeans.resetModifyState:()V
15: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.transaction:Lio/ebeaninternal/api/SpiTransaction;
iconst_m1
invokeinterface io.ebeaninternal.api.SpiTransaction.depth:(I)V
16: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lio/ebeaninternal/server/persist/SaveManyBeans;
1 17 1 orderColumn Lio/ebeaninternal/server/deploy/BeanProperty;
2 17 2 hasOrderColumn Z
10 11 3 detailIds Ljava/util/List<Ljava/lang/Object;>;
private void saveAllBeans(io.ebeaninternal.server.deploy.BeanProperty);
descriptor: (Lio/ebeaninternal/server/deploy/BeanProperty;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.collection:Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 30
StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans io.ebeaninternal.server.deploy.BeanProperty java.lang.Object top top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 4
start local 4 3: aload 0
dup
getfield io.ebeaninternal.server.persist.SaveManyBeans.sortOrder:I
iconst_1
iadd
putfield io.ebeaninternal.server.persist.SaveManyBeans.sortOrder:I
4: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.isMap:Z
ifeq 8
5: aload 4
checkcast java.util.Map$Entry
astore 6
start local 6 6: aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
astore 2
7: aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
astore 4
end local 6 8: StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans io.ebeaninternal.server.deploy.BeanProperty java.lang.Object top java.lang.Object java.util.Iterator
StackMap stack:
aload 4
instanceof io.ebean.bean.EntityBean
ifeq 30
9: aload 4
checkcast io.ebean.bean.EntityBean
astore 6
start local 6 10: aload 6
invokeinterface io.ebean.bean.EntityBean._ebean_getIntercept:()Lio/ebean/bean/EntityBeanIntercept;
astore 7
start local 7 11: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.hasJoinTable:()Z
ifeq 14
12: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
aload 7
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.isReference:(Lio/ebean/bean/EntityBeanIntercept;)Z
istore 3
start local 3 13: goto 25
end local 3 14: StackMap locals: io.ebean.bean.EntityBean io.ebean.bean.EntityBeanIntercept
StackMap stack:
aload 1
ifnull 17
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.sortOrder:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 6
invokevirtual io.ebeaninternal.server.deploy.BeanProperty.getValue:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 17
15: aload 1
aload 6
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.sortOrder:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual io.ebeaninternal.server.deploy.BeanProperty.setValue:(Lio/ebean/bean/EntityBean;Ljava/lang/Object;)V
16: aload 7
iconst_1
invokevirtual io.ebean.bean.EntityBeanIntercept.setDirty:(Z)V
17: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
aload 7
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.isReference:(Lio/ebean/bean/EntityBeanIntercept;)Z
ifeq 20
18: iconst_1
istore 3
start local 3 19: goto 25
end local 3 StackMap locals:
StackMap stack:
20: aload 7
invokevirtual io.ebean.bean.EntityBeanIntercept.isNewOrDirty:()Z
ifeq 24
21: iconst_0
istore 3
start local 3 22: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.parentBean:Lio/ebean/bean/EntityBean;
aload 6
aload 2
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.setJoinValuesToChild:(Lio/ebean/bean/EntityBean;Lio/ebean/bean/EntityBean;Ljava/lang/Object;)V
23: goto 25
end local 3 24: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.saveRecurseSkippable:Z
istore 3
start local 3 25: StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans io.ebeaninternal.server.deploy.BeanProperty java.lang.Object int java.lang.Object java.util.Iterator io.ebean.bean.EntityBean io.ebean.bean.EntityBeanIntercept
StackMap stack:
iload 3
ifne 30
26: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.persister:Lio/ebeaninternal/server/persist/DefaultPersister;
aload 6
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.transaction:Lio/ebeaninternal/api/SpiTransaction;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.parentBean:Lio/ebean/bean/EntityBean;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.request:Lio/ebeaninternal/server/core/PersistRequestBean;
invokevirtual io.ebeaninternal.server.core.PersistRequestBean.getFlags:()I
invokevirtual io.ebeaninternal.server.persist.DefaultPersister.saveRecurse:(Lio/ebean/bean/EntityBean;Lio/ebean/Transaction;Ljava/lang/Object;I)V
27: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.hasOrderColumn:()Z
ifeq 30
28: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getBeanDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
astore 8
start local 8 29: aload 8
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.transaction:Lio/ebeaninternal/api/SpiTransaction;
invokeinterface io.ebeaninternal.api.SpiTransaction.getPersistenceContext:()Lio/ebean/bean/PersistenceContext;
aload 8
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.parentBean:Lio/ebean/bean/EntityBean;
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getId:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.contextClear:(Lio/ebean/bean/PersistenceContext;Ljava/lang/Object;)V
end local 8 end local 7 end local 6 end local 4 end local 3 30: StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans io.ebeaninternal.server.deploy.BeanProperty java.lang.Object top top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
31: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lio/ebeaninternal/server/persist/SaveManyBeans;
0 32 1 orderColumn Lio/ebeaninternal/server/deploy/BeanProperty;
1 32 2 mapKeyValue Ljava/lang/Object;
13 14 3 skipSavingThisBean Z
19 20 3 skipSavingThisBean Z
22 24 3 skipSavingThisBean Z
25 30 3 skipSavingThisBean Z
3 30 4 detailBean Ljava/lang/Object;
6 8 6 entry Ljava/util/Map$Entry<**>;
10 30 6 detail Lio/ebean/bean/EntityBean;
11 30 7 ebi Lio/ebean/bean/EntityBeanIntercept;
29 30 8 beanDescriptor Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
MethodParameters:
Name Flags
orderColumn
private boolean canSkipForOrderColumn();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.untouchedBeanCollection:Z
ifeq 1
aload 0
invokevirtual io.ebeaninternal.server.persist.SaveManyBeans.noDirtyBeans:()Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/ebeaninternal/server/persist/SaveManyBeans;
private boolean noDirtyBeans();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.collection:Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 1
start local 1 2: aload 1
instanceof io.ebean.bean.EntityBean
ifeq 4
aload 1
checkcast io.ebean.bean.EntityBean
invokeinterface io.ebean.bean.EntityBean._ebean_getIntercept:()Lio/ebean/bean/EntityBeanIntercept;
invokevirtual io.ebean.bean.EntityBeanIntercept.isDirty:()Z
ifeq 4
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/ebeaninternal/server/persist/SaveManyBeans;
2 4 1 bean Ljava/lang/Object;
private boolean hasNewOrDirtyBeans();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.collection:Ljava/util/Collection;
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.collection:Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 6
StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans top java.util.Iterator
StackMap stack:
3: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 1
start local 1 4: aload 1
instanceof io.ebean.bean.EntityBean
ifeq 6
aload 1
checkcast io.ebean.bean.EntityBean
invokeinterface io.ebean.bean.EntityBean._ebean_getIntercept:()Lio/ebean/bean/EntityBeanIntercept;
invokevirtual io.ebean.bean.EntityBeanIntercept.isNewOrDirty:()Z
ifeq 6
5: iconst_1
ireturn
end local 1 6: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/ebeaninternal/server/persist/SaveManyBeans;
4 6 1 bean Ljava/lang/Object;
private java.util.List<java.lang.Object> collectIds(java.util.Collection<?>, io.ebeaninternal.server.deploy.BeanDescriptor<?>, boolean);
descriptor: (Ljava/util/Collection;Lio/ebeaninternal/server/deploy/BeanDescriptor;Z)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 1: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 9
StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans java.util.Collection io.ebeaninternal.server.deploy.BeanDescriptor int java.util.List top java.util.Iterator
StackMap stack:
2: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 5
start local 5 3: iload 3
ifeq 5
4: aload 5
checkcast java.util.Map$Entry
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
astore 5
5: StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans java.util.Collection io.ebeaninternal.server.deploy.BeanDescriptor int java.util.List java.lang.Object java.util.Iterator
StackMap stack:
aload 5
instanceof io.ebean.bean.EntityBean
ifeq 9
6: aload 2
aload 5
checkcast io.ebean.bean.EntityBean
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getId:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
astore 7
start local 7 7: aload 7
invokestatic io.ebeaninternal.server.persist.DmlUtil.isNullOrZero:(Ljava/lang/Object;)Z
ifne 9
8: aload 4
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 5 9: StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans java.util.Collection io.ebeaninternal.server.deploy.BeanDescriptor int java.util.List top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
10: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/ebeaninternal/server/persist/SaveManyBeans;
0 11 1 collection Ljava/util/Collection<*>;
0 11 2 targetDescriptor Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
0 11 3 isMap Z
1 11 4 detailIds Ljava/util/List<Ljava/lang/Object;>;
3 9 5 detailBean Ljava/lang/Object;
7 9 7 id Ljava/lang/Object;
Signature: (Ljava/util/Collection<*>;Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;Z)Ljava/util/List<Ljava/lang/Object;>;
MethodParameters:
Name Flags
collection
targetDescriptor
isMap
private void saveAssocManyIntersection();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.value:Ljava/lang/Object;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.request:Lio/ebeaninternal/server/core/PersistRequestBean;
invokevirtual io.ebeaninternal.server.core.PersistRequestBean.isQueueSaveMany:()Z
ifeq 5
3: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.request:Lio/ebeaninternal/server/core/PersistRequestBean;
aload 0
invokevirtual io.ebeaninternal.server.core.PersistRequestBean.addSaveMany:(Lio/ebeaninternal/server/persist/SaveMany;)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual io.ebeaninternal.server.persist.SaveManyBeans.saveAssocManyIntersection:(Z)V
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/ebeaninternal/server/persist/SaveManyBeans;
public void saveBatch();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual io.ebeaninternal.server.persist.SaveManyBeans.saveAssocManyIntersection:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/ebeaninternal/server/persist/SaveManyBeans;
private void saveAssocManyIntersection(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=2
start local 0 start local 1 0: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.request:Lio/ebeaninternal/server/core/PersistRequestBean;
invokevirtual io.ebeaninternal.server.core.PersistRequestBean.isForcedUpdate:()Z
istore 2
start local 2 1: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.value:Ljava/lang/Object;
instanceof io.ebean.bean.BeanCollection
ifeq 2
iconst_0
goto 3
StackMap locals: int
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: iload 3
ifne 5
iload 2
ifeq 6
5: StackMap locals: int
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.persister:Lio/ebeaninternal/server/persist/DefaultPersister;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.parentBean:Lio/ebean/bean/EntityBean;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.transaction:Lio/ebeaninternal/api/SpiTransaction;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.publish:Z
iload 1
invokevirtual io.ebeaninternal.server.persist.DefaultPersister.deleteManyIntersection:(Lio/ebean/bean/EntityBean;Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;Lio/ebeaninternal/api/SpiTransaction;ZZ)V
6: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 7: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.insertedParent:Z
ifne 8
iload 3
ifne 8
iload 2
ifeq 20
8: StackMap locals: java.util.Collection
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.value:Ljava/lang/Object;
instanceof java.util.Map
ifeq 11
9: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.value:Ljava/lang/Object;
checkcast java.util.Map
invokeinterface java.util.Map.values:()Ljava/util/Collection;
astore 5
start local 5 10: goto 15
end local 5 StackMap locals:
StackMap stack:
11: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.value:Ljava/lang/Object;
instanceof java.util.Collection
ifeq 14
12: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.value:Ljava/lang/Object;
checkcast java.util.Collection
astore 5
start local 5 13: goto 15
end local 5 14: StackMap locals:
StackMap stack:
new javax.persistence.PersistenceException
dup
new java.lang.StringBuilder
dup
ldc "Unhandled ManyToMany type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.value:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getFullBeanName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/String;)V
athrow
start local 5 15: StackMap locals: java.util.Collection
StackMap stack:
iload 3
ifne 27
16: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.value:Ljava/lang/Object;
checkcast io.ebean.bean.BeanCollection
astore 6
start local 6 17: aload 0
aload 6
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
invokevirtual io.ebeaninternal.server.persist.SaveManyBeans.setListenMode:(Lio/ebean/bean/BeanCollection;Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;)Z
pop
18: aload 6
invokeinterface io.ebean.bean.BeanCollection.modifyReset:()V
end local 6 19: goto 27
end local 5 20: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.value:Ljava/lang/Object;
checkcast io.ebean.bean.BeanCollection
astore 6
start local 6 21: aload 0
aload 6
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
invokevirtual io.ebeaninternal.server.persist.SaveManyBeans.setListenMode:(Lio/ebean/bean/BeanCollection;Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;)Z
ifeq 24
22: aload 6
invokeinterface io.ebean.bean.BeanCollection.getActualDetails:()Ljava/util/Collection;
astore 5
start local 5 23: goto 26
end local 5 24: StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans int int int java.util.Collection top io.ebean.bean.BeanCollection
StackMap stack:
aload 6
invokeinterface io.ebean.bean.BeanCollection.getModifyAdditions:()Ljava/util/Set;
astore 5
start local 5 25: aload 6
invokeinterface io.ebean.bean.BeanCollection.getModifyRemovals:()Ljava/util/Set;
astore 4
26: StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans int int int java.util.Collection java.util.Collection io.ebean.bean.BeanCollection
StackMap stack:
aload 6
invokeinterface io.ebean.bean.BeanCollection.modifyReset:()V
end local 6 27: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.transaction:Lio/ebeaninternal/api/SpiTransaction;
iconst_1
invokeinterface io.ebeaninternal.api.SpiTransaction.depth:(I)V
28: aload 5
ifnull 44
aload 5
invokeinterface java.util.Collection.isEmpty:()Z
ifne 44
29: aload 5
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 43
StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans int int int java.util.Collection java.util.Collection top java.util.Iterator
StackMap stack:
30: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 6
start local 6 31: aload 6
checkcast io.ebean.bean.EntityBean
astore 8
start local 8 32: aload 4
ifnull 38
aload 4
aload 8
invokeinterface java.util.Collection.remove:(Ljava/lang/Object;)Z
ifeq 38
33: new java.lang.StringBuilder
dup
ldc "Inserting and Deleting same object? "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 9
start local 9 34: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.transaction:Lio/ebeaninternal/api/SpiTransaction;
invokeinterface io.ebeaninternal.api.SpiTransaction.isLogSummary:()Z
ifeq 36
35: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.transaction:Lio/ebeaninternal/api/SpiTransaction;
aload 9
invokeinterface io.ebeaninternal.api.SpiTransaction.logSummary:(Ljava/lang/String;)V
36: StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans int int int java.util.Collection java.util.Collection java.lang.Object java.util.Iterator io.ebean.bean.EntityBean java.lang.String
StackMap stack:
getstatic io.ebeaninternal.server.persist.SaveManyBeans.log:Lorg/slf4j/Logger;
aload 9
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
end local 9 37: goto 43
38: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
aload 8
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.hasImportedId:(Lio/ebean/bean/EntityBean;)Z
ifne 40
39: new javax.persistence.PersistenceException
dup
new java.lang.StringBuilder
dup
ldc "ManyToMany bean "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " does not have an Id value."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/String;)V
athrow
40: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.parentBean:Lio/ebean/bean/EntityBean;
aload 8
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.publish:Z
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.buildManyToManyMapBean:(Lio/ebean/bean/EntityBean;Lio/ebean/bean/EntityBean;Z)Lio/ebeaninternal/server/deploy/IntersectionRow;
astore 9
start local 9 41: aload 9
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.server:Lio/ebeaninternal/api/SpiEbeanServer;
invokevirtual io.ebeaninternal.server.deploy.IntersectionRow.createInsert:(Lio/ebeaninternal/api/SpiEbeanServer;)Lio/ebeaninternal/api/SpiSqlUpdate;
astore 10
start local 10 42: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.persister:Lio/ebeaninternal/server/persist/DefaultPersister;
aload 10
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.transaction:Lio/ebeaninternal/api/SpiTransaction;
iload 1
invokevirtual io.ebeaninternal.server.persist.DefaultPersister.executeOrQueue:(Lio/ebeaninternal/api/SpiSqlUpdate;Lio/ebeaninternal/api/SpiTransaction;Z)V
end local 10 end local 9 end local 8 end local 6 43: StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans int int int java.util.Collection java.util.Collection top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 30
44: StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans int int int java.util.Collection java.util.Collection
StackMap stack:
aload 4
ifnull 52
aload 4
invokeinterface java.util.Collection.isEmpty:()Z
ifne 52
45: aload 4
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 51
StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans int int int java.util.Collection java.util.Collection top java.util.Iterator
StackMap stack:
46: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 6
start local 6 47: aload 6
checkcast io.ebean.bean.EntityBean
astore 8
start local 8 48: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.parentBean:Lio/ebean/bean/EntityBean;
aload 8
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.publish:Z
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.buildManyToManyMapBean:(Lio/ebean/bean/EntityBean;Lio/ebean/bean/EntityBean;Z)Lio/ebeaninternal/server/deploy/IntersectionRow;
astore 9
start local 9 49: aload 9
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.server:Lio/ebeaninternal/api/SpiEbeanServer;
getstatic io.ebeaninternal.server.persist.DeleteMode.HARD:Lio/ebeaninternal/server/persist/DeleteMode;
invokevirtual io.ebeaninternal.server.deploy.IntersectionRow.createDelete:(Lio/ebeaninternal/api/SpiEbeanServer;Lio/ebeaninternal/server/persist/DeleteMode;)Lio/ebeaninternal/api/SpiSqlUpdate;
astore 10
start local 10 50: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.persister:Lio/ebeaninternal/server/persist/DefaultPersister;
aload 10
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.transaction:Lio/ebeaninternal/api/SpiTransaction;
iload 1
invokevirtual io.ebeaninternal.server.persist.DefaultPersister.executeOrQueue:(Lio/ebeaninternal/api/SpiSqlUpdate;Lio/ebeaninternal/api/SpiTransaction;Z)V
end local 10 end local 9 end local 8 end local 6 51: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 46
52: StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans int int int java.util.Collection java.util.Collection
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.transaction:Lio/ebeaninternal/api/SpiTransaction;
iconst_m1
invokeinterface io.ebeaninternal.api.SpiTransaction.depth:(I)V
53: return
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 54 0 this Lio/ebeaninternal/server/persist/SaveManyBeans;
0 54 1 queue Z
1 54 2 forcedUpdate Z
4 54 3 vanillaCollection Z
7 54 4 deletions Ljava/util/Collection<*>;
10 11 5 additions Ljava/util/Collection<*>;
13 14 5 additions Ljava/util/Collection<*>;
15 20 5 additions Ljava/util/Collection<*>;
23 24 5 additions Ljava/util/Collection<*>;
25 54 5 additions Ljava/util/Collection<*>;
17 19 6 manyValue Lio/ebean/bean/BeanCollection<*>;
21 27 6 manyValue Lio/ebean/bean/BeanCollection<*>;
31 43 6 other Ljava/lang/Object;
32 43 8 otherBean Lio/ebean/bean/EntityBean;
34 37 9 m Ljava/lang/String;
41 43 9 intRow Lio/ebeaninternal/server/deploy/IntersectionRow;
42 43 10 sqlInsert Lio/ebeaninternal/api/SpiSqlUpdate;
47 51 6 other Ljava/lang/Object;
48 51 8 otherDelete Lio/ebean/bean/EntityBean;
49 51 9 intRow Lio/ebeaninternal/server/deploy/IntersectionRow;
50 51 10 sqlDelete Lio/ebeaninternal/api/SpiSqlUpdate;
MethodParameters:
Name Flags
queue
private void removeAssocManyOrphans();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.value:Ljava/lang/Object;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.value:Ljava/lang/Object;
instanceof io.ebean.bean.BeanCollection
ifeq 17
3: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.value:Ljava/lang/Object;
checkcast io.ebean.bean.BeanCollection
astore 1
start local 1 4: aload 1
invokeinterface io.ebean.bean.BeanCollection.getModifyRemovals:()Ljava/util/Set;
astore 2
start local 2 5: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.insertedParent:Z
ifeq 7
6: aload 1
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getModifyListenMode:()Lio/ebean/bean/BeanCollection$ModifyListenMode;
invokeinterface io.ebean.bean.BeanCollection.setModifyListening:(Lio/ebean/bean/BeanCollection$ModifyListenMode;)V
7: StackMap locals: io.ebean.bean.BeanCollection java.util.Set
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.hasOrderColumn:()Z
ifne 9
8: aload 1
invokeinterface io.ebean.bean.BeanCollection.modifyReset:()V
9: StackMap locals:
StackMap stack:
aload 2
ifnull 17
aload 2
invokeinterface java.util.Set.isEmpty:()Z
ifne 17
10: aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 16
StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans io.ebean.bean.BeanCollection java.util.Set top java.util.Iterator
StackMap stack:
11: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 3
start local 3 12: aload 3
instanceof io.ebean.bean.EntityBean
ifeq 16
13: aload 3
checkcast io.ebean.bean.EntityBean
astore 5
start local 5 14: aload 5
invokeinterface io.ebean.bean.EntityBean._ebean_intercept:()Lio/ebean/bean/EntityBeanIntercept;
invokevirtual io.ebean.bean.EntityBeanIntercept.isOrphanDelete:()Z
ifeq 16
15: aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.persister:Lio/ebeaninternal/server/persist/DefaultPersister;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.persister:Lio/ebeaninternal/server/persist/DefaultPersister;
aload 3
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.transaction:Lio/ebeaninternal/api/SpiTransaction;
aload 0
getfield io.ebeaninternal.server.persist.SaveManyBeans.request:Lio/ebeaninternal/server/core/PersistRequestBean;
invokevirtual io.ebeaninternal.server.core.PersistRequestBean.getFlags:()I
invokevirtual io.ebeaninternal.server.persist.DefaultPersister.createDeleteRemoved:(Ljava/lang/Object;Lio/ebean/Transaction;I)Lio/ebeaninternal/server/core/PersistRequestBean;
invokevirtual io.ebeaninternal.server.persist.DefaultPersister.deleteRequest:(Lio/ebeaninternal/server/core/PersistRequestBean;)I
pop
end local 5 end local 3 16: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
end local 2 end local 1 17: StackMap locals: io.ebeaninternal.server.persist.SaveManyBeans
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lio/ebeaninternal/server/persist/SaveManyBeans;
4 17 1 c Lio/ebean/bean/BeanCollection<*>;
5 17 2 modifyRemovals Ljava/util/Set<*>;
12 16 3 removedBean Ljava/lang/Object;
14 16 5 eb Lio/ebean/bean/EntityBean;
private boolean setListenMode(io.ebean.bean.BeanCollection<?>, io.ebeaninternal.server.deploy.BeanPropertyAssocMany<?>);
descriptor: (Lio/ebean/bean/BeanCollection;Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface io.ebean.bean.BeanCollection.getModifyListening:()Lio/ebean/bean/BeanCollection$ModifyListenMode;
astore 3
start local 3 1: aload 3
ifnonnull 4
2: aload 1
aload 2
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getModifyListenMode:()Lio/ebean/bean/BeanCollection$ModifyListenMode;
invokeinterface io.ebean.bean.BeanCollection.setModifyListening:(Lio/ebean/bean/BeanCollection$ModifyListenMode;)V
3: iconst_1
ireturn
4: StackMap locals: io.ebean.bean.BeanCollection$ModifyListenMode
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/ebeaninternal/server/persist/SaveManyBeans;
0 5 1 manyValue Lio/ebean/bean/BeanCollection<*>;
0 5 2 prop Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<*>;
1 5 3 mode Lio/ebean/bean/BeanCollection$ModifyListenMode;
Signature: (Lio/ebean/bean/BeanCollection<*>;Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<*>;)Z
MethodParameters:
Name Flags
manyValue
prop
}
SourceFile: "SaveManyBeans.java"
InnerClasses:
public final ModifyListenMode = io.ebean.bean.BeanCollection$ModifyListenMode of io.ebean.bean.BeanCollection
public abstract Entry = java.util.Map$Entry of java.util.Map