class org.hibernate.engine.spi.ActionQueue$InsertActionSorter implements org.hibernate.engine.spi.ExecutableList$Sorter<org.hibernate.action.internal.AbstractEntityInsertAction>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.hibernate.engine.spi.ActionQueue$InsertActionSorter
super_class: java.lang.Object
{
public static final org.hibernate.engine.spi.ActionQueue$InsertActionSorter INSTANCE;
descriptor: Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private java.util.Map<java.lang.String, java.lang.Integer> latestBatches;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
private java.util.Map<java.lang.Object, java.lang.Integer> entityBatchNumber;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Integer;>;
private java.util.Map<java.lang.Integer, java.util.List<org.hibernate.action.internal.AbstractEntityInsertAction>> actionBatches;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/util/List<Lorg/hibernate/action/internal/AbstractEntityInsertAction;>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.hibernate.engine.spi.ActionQueue$InsertActionSorter
dup
invokespecial org.hibernate.engine.spi.ActionQueue$InsertActionSorter.<init>:()V
putstatic org.hibernate.engine.spi.ActionQueue$InsertActionSorter.INSTANCE:Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter;
public void sort(java.util.List<org.hibernate.action.internal.AbstractEntityInsertAction>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/Map;
1: aload 0
new java.util.HashMap
dup
aload 1
invokeinterface java.util.List.size:()I
iconst_1
iadd
fconst_1
invokespecial java.util.HashMap.<init>:(IF)V
putfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.entityBatchNumber:Ljava/util/Map;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.actionBatches:Ljava/util/Map;
3: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 14
StackMap locals: org.hibernate.engine.spi.ActionQueue$InsertActionSorter java.util.List top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.hibernate.action.internal.AbstractEntityInsertAction
astore 2
start local 2 5: aload 2
invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.getEntityName:()Ljava/lang/String;
astore 4
start local 4 6: aload 2
invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.getInstance:()Ljava/lang/Object;
astore 5
start local 5 7: aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 10
8: aload 0
aload 2
aload 4
invokevirtual org.hibernate.engine.spi.ActionQueue$InsertActionSorter.findBatchNumber:(Lorg/hibernate/action/internal/AbstractEntityInsertAction;Ljava/lang/String;)Ljava/lang/Integer;
astore 6
start local 6 9: goto 12
end local 6 10: StackMap locals: org.hibernate.engine.spi.ActionQueue$InsertActionSorter java.util.List org.hibernate.action.internal.AbstractEntityInsertAction java.util.Iterator java.lang.String java.lang.Object
StackMap stack:
aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.actionBatches:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 6
start local 6 11: aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/Map;
aload 4
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: StackMap locals: java.lang.Integer
StackMap stack:
aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.entityBatchNumber:Ljava/util/Map;
aload 5
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: aload 0
aload 6
aload 2
invokevirtual org.hibernate.engine.spi.ActionQueue$InsertActionSorter.addToBatch:(Ljava/lang/Integer;Lorg/hibernate/action/internal/AbstractEntityInsertAction;)V
end local 6 end local 5 end local 4 end local 2 14: StackMap locals: org.hibernate.engine.spi.ActionQueue$InsertActionSorter java.util.List top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
15: aload 1
invokeinterface java.util.List.clear:()V
16: iconst_0
istore 2
start local 2 17: goto 21
18: StackMap locals: org.hibernate.engine.spi.ActionQueue$InsertActionSorter java.util.List int
StackMap stack:
aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.actionBatches:Ljava/util/Map;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 19: aload 1
aload 3
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
end local 3 20: iinc 2 1
StackMap locals:
StackMap stack:
21: iload 2
aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.actionBatches:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
if_icmplt 18
end local 2 22: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter;
0 23 1 insertions Ljava/util/List<Lorg/hibernate/action/internal/AbstractEntityInsertAction;>;
5 14 2 action Lorg/hibernate/action/internal/AbstractEntityInsertAction;
6 14 4 entityName Ljava/lang/String;
7 14 5 currentEntity Ljava/lang/Object;
9 10 6 batchNumber Ljava/lang/Integer;
11 14 6 batchNumber Ljava/lang/Integer;
17 22 2 i I
19 20 3 batch Ljava/util/List<Lorg/hibernate/action/internal/AbstractEntityInsertAction;>;
Signature: (Ljava/util/List<Lorg/hibernate/action/internal/AbstractEntityInsertAction;>;)V
MethodParameters:
Name Flags
insertions
private java.lang.Integer findBatchNumber(org.hibernate.action.internal.AbstractEntityInsertAction, java.lang.String);
descriptor: (Lorg/hibernate/action/internal/AbstractEntityInsertAction;Ljava/lang/String;)Ljava/lang/Integer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 3
start local 3 1: aload 1
invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.getState:()[Ljava/lang/Object;
astore 4
start local 4 2: aload 1
invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.getPersister:()Lorg/hibernate/persister/entity/EntityPersister;
invokeinterface org.hibernate.persister.entity.EntityPersister.getClassMetadata:()Lorg/hibernate/metadata/ClassMetadata;
invokeinterface org.hibernate.metadata.ClassMetadata.getPropertyTypes:()[Lorg/hibernate/type/Type;
astore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 14
5: StackMap locals: org.hibernate.engine.spi.ActionQueue$InsertActionSorter org.hibernate.action.internal.AbstractEntityInsertAction java.lang.String java.lang.Integer java.lang.Object[] org.hibernate.type.Type[] int
StackMap stack:
aload 4
iload 6
aaload
astore 7
start local 7 6: aload 5
iload 6
aaload
astore 8
start local 8 7: aload 8
invokeinterface org.hibernate.type.Type.isEntityType:()Z
ifeq 13
aload 7
ifnull 13
8: aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.entityBatchNumber:Ljava/util/Map;
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 9
start local 9 9: aload 9
ifnull 13
aload 9
aload 3
invokevirtual java.lang.Integer.compareTo:(Ljava/lang/Integer;)I
ifle 13
10: aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.actionBatches:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 3
11: aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.latestBatches:Ljava/util/Map;
aload 2
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: goto 15
end local 9 end local 8 end local 7 13: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
14: iload 6
aload 4
arraylength
if_icmplt 5
end local 6 15: StackMap locals:
StackMap stack:
aload 3
areturn
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 16 0 this Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter;
0 16 1 action Lorg/hibernate/action/internal/AbstractEntityInsertAction;
0 16 2 entityName Ljava/lang/String;
1 16 3 latestBatchNumberForType Ljava/lang/Integer;
2 16 4 propertyValues [Ljava/lang/Object;
3 16 5 propertyTypes [Lorg/hibernate/type/Type;
4 15 6 i I
6 13 7 value Ljava/lang/Object;
7 13 8 type Lorg/hibernate/type/Type;
9 13 9 associationBatchNumber Ljava/lang/Integer;
MethodParameters:
Name Flags
action
entityName
private void addToBatch(java.lang.Integer, org.hibernate.action.internal.AbstractEntityInsertAction);
descriptor: (Ljava/lang/Integer;Lorg/hibernate/action/internal/AbstractEntityInsertAction;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.actionBatches:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 1: aload 3
ifnonnull 4
2: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 3
3: aload 0
getfield org.hibernate.engine.spi.ActionQueue$InsertActionSorter.actionBatches:Ljava/util/Map;
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: java.util.List
StackMap stack:
aload 3
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hibernate/engine/spi/ActionQueue$InsertActionSorter;
0 6 1 batchNumber Ljava/lang/Integer;
0 6 2 action Lorg/hibernate/action/internal/AbstractEntityInsertAction;
1 6 3 actions Ljava/util/List<Lorg/hibernate/action/internal/AbstractEntityInsertAction;>;
MethodParameters:
Name Flags
batchNumber
action
}
Signature: Ljava/lang/Object;Lorg/hibernate/engine/spi/ExecutableList$Sorter<Lorg/hibernate/action/internal/AbstractEntityInsertAction;>;
SourceFile: "ActionQueue.java"
NestHost: org.hibernate.engine.spi.ActionQueue
InnerClasses:
private InsertActionSorter = org.hibernate.engine.spi.ActionQueue$InsertActionSorter of org.hibernate.engine.spi.ActionQueue
public abstract Sorter = org.hibernate.engine.spi.ExecutableList$Sorter of org.hibernate.engine.spi.ExecutableList