abstract class io.ebeaninternal.server.persist.MergeNode
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: io.ebeaninternal.server.persist.MergeNode
super_class: java.lang.Object
{
private final java.lang.String fullPath;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final io.ebeaninternal.server.deploy.BeanDescriptor<?> targetDescriptor;
descriptor: Lio/ebeaninternal/server/deploy/BeanDescriptor;
flags: (0x0010) ACC_FINAL
Signature: Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
private java.util.Map<java.lang.String, io.ebeaninternal.server.persist.MergeNode> children;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Lio/ebeaninternal/server/persist/MergeNode;>;
void <init>(java.lang.String, io.ebeaninternal.server.deploy.BeanPropertyAssoc<?>);
descriptor: (Ljava/lang/String;Lio/ebeaninternal/server/deploy/BeanPropertyAssoc;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.ebeaninternal.server.persist.MergeNode.fullPath:Ljava/lang/String;
2: aload 0
aload 2
invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.getTargetDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
putfield io.ebeaninternal.server.persist.MergeNode.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/ebeaninternal/server/persist/MergeNode;
0 4 1 fullPath Ljava/lang/String;
0 4 2 property Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<*>;
Signature: (Ljava/lang/String;Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<*>;)V
MethodParameters:
Name Flags
fullPath
property
abstract void merge(io.ebeaninternal.server.persist.MergeRequest);
descriptor: (Lio/ebeaninternal/server/persist/MergeRequest;)V
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
request
io.ebeaninternal.server.persist.MergeNode addChild(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Lio/ebeaninternal/server/persist/MergeNode;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield io.ebeaninternal.server.persist.MergeNode.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
aload 2
invokestatic io.ebeaninternal.server.persist.MergeHandler.createMergeNode:(Ljava/lang/String;Lio/ebeaninternal/server/deploy/BeanDescriptor;Ljava/lang/String;)Lio/ebeaninternal/server/persist/MergeNode;
astore 3
start local 3 1: aload 0
getfield io.ebeaninternal.server.persist.MergeNode.children:Ljava/util/Map;
ifnonnull 3
2: aload 0
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield io.ebeaninternal.server.persist.MergeNode.children:Ljava/util/Map;
3: StackMap locals: io.ebeaninternal.server.persist.MergeNode
StackMap stack:
aload 0
getfield io.ebeaninternal.server.persist.MergeNode.children:Ljava/util/Map;
aload 2
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 3
areturn
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/MergeNode;
0 5 1 fullPath Ljava/lang/String;
0 5 2 path Ljava/lang/String;
1 5 3 childNode Lio/ebeaninternal/server/persist/MergeNode;
MethodParameters:
Name Flags
fullPath
path
io.ebeaninternal.server.persist.MergeNode get(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/ebeaninternal/server/persist/MergeNode;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.ebeaninternal.server.persist.MergeNode.children:Ljava/util/Map;
ifnull 2
1: aload 0
getfield io.ebeaninternal.server.persist.MergeNode.children:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.ebeaninternal.server.persist.MergeNode
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/ebeaninternal/server/persist/MergeNode;
0 3 1 path Ljava/lang/String;
MethodParameters:
Name Flags
path
java.util.Map<java.lang.Object, io.ebean.bean.EntityBean> toMap(java.util.Collection);
descriptor: (Ljava/util/Collection;)Ljava/util/Map;
flags: (0x0000)
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 1: aload 1
ifnull 8
2: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: io.ebeaninternal.server.persist.MergeNode java.util.Collection java.util.Map top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 3
start local 3 4: aload 3
checkcast io.ebean.bean.EntityBean
astore 5
start local 5 5: aload 0
getfield io.ebeaninternal.server.persist.MergeNode.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
aload 5
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getId:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
astore 6
start local 6 6: aload 2
aload 6
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 end local 5 end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: StackMap locals: io.ebeaninternal.server.persist.MergeNode java.util.Collection java.util.Map
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/ebeaninternal/server/persist/MergeNode;
0 9 1 outlines Ljava/util/Collection;
1 9 2 outlineMap Ljava/util/Map<Ljava/lang/Object;Lio/ebean/bean/EntityBean;>;
4 7 3 out Ljava/lang/Object;
5 7 5 outlineBean Lio/ebean/bean/EntityBean;
6 7 6 outlineId Ljava/lang/Object;
Signature: (Ljava/util/Collection;)Ljava/util/Map<Ljava/lang/Object;Lio/ebean/bean/EntityBean;>;
MethodParameters:
Name Flags
outlines
void addSelectId(io.ebean.Query<?>);
descriptor: (Lio/ebean/Query;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.ebeaninternal.server.persist.MergeNode.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getIdProperty:()Lio/ebeaninternal/server/deploy/BeanProperty;
astore 2
start local 2 1: aload 1
aload 0
getfield io.ebeaninternal.server.persist.MergeNode.fullPath:Ljava/lang/String;
aload 2
invokevirtual io.ebeaninternal.server.deploy.BeanProperty.getName:()Ljava/lang/String;
invokeinterface io.ebean.Query.fetch:(Ljava/lang/String;Ljava/lang/String;)Lio/ebean/Query;
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/ebeaninternal/server/persist/MergeNode;
0 3 1 query Lio/ebean/Query<*>;
1 3 2 idProperty Lio/ebeaninternal/server/deploy/BeanProperty;
Signature: (Lio/ebean/Query<*>;)V
MethodParameters:
Name Flags
query
void cascade(io.ebean.bean.EntityBean, io.ebean.bean.EntityBean, io.ebeaninternal.server.persist.MergeRequest);
descriptor: (Lio/ebean/bean/EntityBean;Lio/ebean/bean/EntityBean;Lio/ebeaninternal/server/persist/MergeRequest;)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.ebeaninternal.server.persist.MergeNode.children:Ljava/util/Map;
ifnull 6
aload 0
getfield io.ebeaninternal.server.persist.MergeNode.children:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifne 6
1: aload 3
aload 1
aload 2
invokevirtual io.ebeaninternal.server.persist.MergeRequest.sub:(Lio/ebean/bean/EntityBean;Lio/ebean/bean/EntityBean;)Lio/ebeaninternal/server/persist/MergeRequest;
astore 4
start local 4 2: aload 0
getfield io.ebeaninternal.server.persist.MergeNode.children:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 5
StackMap locals: io.ebeaninternal.server.persist.MergeNode io.ebean.bean.EntityBean io.ebean.bean.EntityBean io.ebeaninternal.server.persist.MergeRequest io.ebeaninternal.server.persist.MergeRequest top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.ebeaninternal.server.persist.MergeNode
astore 5
start local 5 4: aload 5
aload 4
invokevirtual io.ebeaninternal.server.persist.MergeNode.merge:(Lio/ebeaninternal/server/persist/MergeRequest;)V
end local 5 5: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 4 6: StackMap locals: io.ebeaninternal.server.persist.MergeNode io.ebean.bean.EntityBean io.ebean.bean.EntityBean io.ebeaninternal.server.persist.MergeRequest
StackMap stack:
return
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/MergeNode;
0 7 1 entityBean Lio/ebean/bean/EntityBean;
0 7 2 outlineBean Lio/ebean/bean/EntityBean;
0 7 3 request Lio/ebeaninternal/server/persist/MergeRequest;
2 6 4 sub Lio/ebeaninternal/server/persist/MergeRequest;
4 5 5 node Lio/ebeaninternal/server/persist/MergeNode;
MethodParameters:
Name Flags
entityBean
outlineBean
request
}
SourceFile: "MergeNode.java"