class io.ebeaninternal.server.persist.MergeNodeAssocOneToMany extends io.ebeaninternal.server.persist.MergeNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.ebeaninternal.server.persist.MergeNodeAssocOneToMany
super_class: io.ebeaninternal.server.persist.MergeNode
{
private final io.ebeaninternal.server.deploy.BeanPropertyAssocMany<?> many;
descriptor: Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<*>;
void <init>(java.lang.String, io.ebeaninternal.server.deploy.BeanPropertyAssocMany<?>);
descriptor: (Ljava/lang/String;Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 // io.ebeaninternal.server.persist.MergeNodeAssocOneToMany this
start local 1 // java.lang.String fullPath
start local 2 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany property
0: .line 17
aload 0 /* this */
aload 1 /* fullPath */
aload 2 /* property */
invokespecial io.ebeaninternal.server.persist.MergeNode.<init>:(Ljava/lang/String;Lio/ebeaninternal/server/deploy/BeanPropertyAssoc;)V
1: .line 18
aload 0 /* this */
aload 2 /* property */
putfield io.ebeaninternal.server.persist.MergeNodeAssocOneToMany.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
2: .line 19
return
end local 2 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany property
end local 1 // java.lang.String fullPath
end local 0 // io.ebeaninternal.server.persist.MergeNodeAssocOneToMany this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/ebeaninternal/server/persist/MergeNodeAssocOneToMany;
0 3 1 fullPath Ljava/lang/String;
0 3 2 property Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<*>;
Signature: (Ljava/lang/String;Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<*>;)V
MethodParameters:
Name Flags
fullPath
property
public void merge(io.ebeaninternal.server.persist.MergeRequest);
descriptor: (Lio/ebeaninternal/server/persist/MergeRequest;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=2
start local 0 // io.ebeaninternal.server.persist.MergeNodeAssocOneToMany this
start local 1 // io.ebeaninternal.server.persist.MergeRequest request
0: .line 24
aload 0 /* this */
getfield io.ebeaninternal.server.persist.MergeNodeAssocOneToMany.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
aload 1 /* request */
invokevirtual io.ebeaninternal.server.persist.MergeRequest.getBean:()Lio/ebean/bean/EntityBean;
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getRawCollection:(Lio/ebean/bean/EntityBean;)Ljava/util/Collection;
astore 2 /* beans */
start local 2 // java.util.Collection beans
1: .line 25
aload 0 /* this */
getfield io.ebeaninternal.server.persist.MergeNodeAssocOneToMany.many:Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
aload 1 /* request */
invokevirtual io.ebeaninternal.server.persist.MergeRequest.getOutline:()Lio/ebean/bean/EntityBean;
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getRawCollection:(Lio/ebean/bean/EntityBean;)Ljava/util/Collection;
astore 3 /* outlines */
start local 3 // java.util.Collection outlines
2: .line 27
aload 0 /* this */
aload 3 /* outlines */
invokevirtual io.ebeaninternal.server.persist.MergeNodeAssocOneToMany.toMap:(Ljava/util/Collection;)Ljava/util/Map;
astore 4 /* outlineIds */
start local 4 // java.util.Map outlineIds
3: .line 29
aload 2 /* beans */
ifnull 14
4: .line 30
aload 2 /* beans */
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 13
StackMap locals: io.ebeaninternal.server.persist.MergeNodeAssocOneToMany io.ebeaninternal.server.persist.MergeRequest java.util.Collection java.util.Collection java.util.Map top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 5 /* bean */
start local 5 // java.lang.Object bean
6: .line 31
aload 5 /* bean */
checkcast io.ebean.bean.EntityBean
astore 7 /* entityBean */
start local 7 // io.ebean.bean.EntityBean entityBean
7: .line 32
aload 0 /* this */
getfield io.ebeaninternal.server.persist.MergeNodeAssocOneToMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
aload 7 /* entityBean */
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getId:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
astore 8 /* beanId */
start local 8 // java.lang.Object beanId
8: .line 33
aload 8 /* beanId */
ifnull 13
9: .line 34
aload 4 /* outlineIds */
aload 8 /* beanId */
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.ebean.bean.EntityBean
astore 9 /* outlineBean */
start local 9 // io.ebean.bean.EntityBean outlineBean
10: .line 35
aload 9 /* outlineBean */
ifnull 13
11: .line 37
aload 7 /* entityBean */
invokeinterface io.ebean.bean.EntityBean._ebean_getIntercept:()Lio/ebean/bean/EntityBeanIntercept;
iconst_1
invokevirtual io.ebean.bean.EntityBeanIntercept.setForceUpdate:(Z)V
12: .line 38
aload 0 /* this */
aload 7 /* entityBean */
aload 9 /* outlineBean */
aload 1 /* request */
invokevirtual io.ebeaninternal.server.persist.MergeNodeAssocOneToMany.cascade:(Lio/ebean/bean/EntityBean;Lio/ebean/bean/EntityBean;Lio/ebeaninternal/server/persist/MergeRequest;)V
end local 9 // io.ebean.bean.EntityBean outlineBean
end local 8 // java.lang.Object beanId
end local 7 // io.ebean.bean.EntityBean entityBean
end local 5 // java.lang.Object bean
13: .line 30
StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
14: .line 45
StackMap locals: io.ebeaninternal.server.persist.MergeNodeAssocOneToMany io.ebeaninternal.server.persist.MergeRequest java.util.Collection java.util.Collection java.util.Map
StackMap stack:
aload 4 /* outlineIds */
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 17
StackMap locals: io.ebeaninternal.server.persist.MergeNodeAssocOneToMany io.ebeaninternal.server.persist.MergeRequest java.util.Collection java.util.Collection java.util.Map top java.util.Iterator
StackMap stack:
15: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.ebean.bean.EntityBean
astore 5 /* outlineBean */
start local 5 // io.ebean.bean.EntityBean outlineBean
16: .line 46
aload 1 /* request */
aload 5 /* outlineBean */
invokevirtual io.ebeaninternal.server.persist.MergeRequest.addDelete:(Lio/ebean/bean/EntityBean;)V
end local 5 // io.ebean.bean.EntityBean outlineBean
17: .line 45
StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
18: .line 48
return
end local 4 // java.util.Map outlineIds
end local 3 // java.util.Collection outlines
end local 2 // java.util.Collection beans
end local 1 // io.ebeaninternal.server.persist.MergeRequest request
end local 0 // io.ebeaninternal.server.persist.MergeNodeAssocOneToMany this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/ebeaninternal/server/persist/MergeNodeAssocOneToMany;
0 19 1 request Lio/ebeaninternal/server/persist/MergeRequest;
1 19 2 beans Ljava/util/Collection;
2 19 3 outlines Ljava/util/Collection;
3 19 4 outlineIds Ljava/util/Map<Ljava/lang/Object;Lio/ebean/bean/EntityBean;>;
6 13 5 bean Ljava/lang/Object;
7 13 7 entityBean Lio/ebean/bean/EntityBean;
8 13 8 beanId Ljava/lang/Object;
10 13 9 outlineBean Lio/ebean/bean/EntityBean;
16 17 5 outlineBean Lio/ebean/bean/EntityBean;
MethodParameters:
Name Flags
request
}
SourceFile: "MergeNodeAssocOneToMany.java"