class org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer extends org.hibernate.loader.collection.BatchingCollectionInitializer
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer
super_class: org.hibernate.loader.collection.BatchingCollectionInitializer
{
private final int[] batchSizes;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.hibernate.loader.Loader[] loaders;
descriptor: [Lorg/hibernate/loader/Loader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.hibernate.persister.collection.QueryableCollection, int[], org.hibernate.loader.Loader[]);
descriptor: (Lorg/hibernate/persister/collection/QueryableCollection;[I[Lorg/hibernate/loader/Loader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 // org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer this
start local 1 // org.hibernate.persister.collection.QueryableCollection persister
start local 2 // int[] batchSizes
start local 3 // org.hibernate.loader.Loader[] loaders
0: .line 65
aload 0 /* this */
aload 1 /* persister */
invokespecial org.hibernate.loader.collection.BatchingCollectionInitializer.<init>:(Lorg/hibernate/persister/collection/QueryableCollection;)V
1: .line 67
aload 0 /* this */
aload 2 /* batchSizes */
putfield org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer.batchSizes:[I
2: .line 68
aload 0 /* this */
aload 3 /* loaders */
putfield org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer.loaders:[Lorg/hibernate/loader/Loader;
3: .line 69
return
end local 3 // org.hibernate.loader.Loader[] loaders
end local 2 // int[] batchSizes
end local 1 // org.hibernate.persister.collection.QueryableCollection persister
end local 0 // org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/hibernate/loader/collection/PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer;
0 4 1 persister Lorg/hibernate/persister/collection/QueryableCollection;
0 4 2 batchSizes [I
0 4 3 loaders [Lorg/hibernate/loader/Loader;
MethodParameters:
Name Flags
persister
batchSizes
loaders
public void initialize(java.io.Serializable, org.hibernate.engine.spi.SharedSessionContractImplementor);
descriptor: (Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=3
start local 0 // org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer this
start local 1 // java.io.Serializable id
start local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
0: .line 73
aload 2 /* session */
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
1: .line 74
invokeinterface org.hibernate.engine.spi.PersistenceContext.getBatchFetchQueue:()Lorg/hibernate/engine/spi/BatchFetchQueue;
2: .line 75
aload 0 /* this */
invokevirtual org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer.collectionPersister:()Lorg/hibernate/persister/collection/QueryableCollection;
aload 1 /* id */
aload 0 /* this */
getfield org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer.batchSizes:[I
iconst_0
iaload
invokevirtual org.hibernate.engine.spi.BatchFetchQueue.getCollectionBatch:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;I)[Ljava/io/Serializable;
3: .line 73
astore 3 /* batch */
start local 3 // java.io.Serializable[] batch
4: .line 76
aload 3 /* batch */
invokestatic org.hibernate.internal.util.collections.ArrayHelper.countNonNull:([Ljava/io/Serializable;)I
istore 4 /* numberOfIds */
start local 4 // int numberOfIds
5: .line 77
iload 4 /* numberOfIds */
iconst_1
if_icmpgt 8
6: .line 78
aload 0 /* this */
getfield org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer.loaders:[Lorg/hibernate/loader/Loader;
aload 0 /* this */
getfield org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer.batchSizes:[I
arraylength
iconst_1
isub
aaload
aload 2 /* session */
aload 1 /* id */
aload 0 /* this */
invokevirtual org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer.collectionPersister:()Lorg/hibernate/persister/collection/QueryableCollection;
invokeinterface org.hibernate.persister.collection.QueryableCollection.getKeyType:()Lorg/hibernate/type/Type;
invokevirtual org.hibernate.loader.Loader.loadCollection:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/io/Serializable;Lorg/hibernate/type/Type;)V
7: .line 79
return
8: .line 83
StackMap locals: java.io.Serializable[] int
StackMap stack:
aload 0 /* this */
getfield org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer.batchSizes:[I
arraylength
iconst_1
isub
istore 5 /* indexToUse */
start local 5 // int indexToUse
9: .line 84
iconst_0
istore 6 /* i */
start local 6 // int i
10: goto 14
11: .line 85
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer.batchSizes:[I
iload 6 /* i */
iaload
iload 4 /* numberOfIds */
if_icmplt 15
12: .line 86
iload 6 /* i */
istore 5 /* indexToUse */
13: .line 84
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
14: iload 6 /* i */
aload 0 /* this */
getfield org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer.batchSizes:[I
arraylength
iconst_1
isub
if_icmplt 11
end local 6 // int i
15: .line 93
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer.batchSizes:[I
iload 5 /* indexToUse */
iaload
anewarray java.io.Serializable
astore 6 /* idsToLoad */
start local 6 // java.io.Serializable[] idsToLoad
16: .line 94
aload 3 /* batch */
iconst_0
aload 6 /* idsToLoad */
iconst_0
iload 4 /* numberOfIds */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: .line 95
iload 4 /* numberOfIds */
istore 7 /* i */
start local 7 // int i
18: goto 21
19: .line 96
StackMap locals: java.io.Serializable[] int
StackMap stack:
aload 6 /* idsToLoad */
iload 7 /* i */
aload 1 /* id */
aastore
20: .line 95
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
21: iload 7 /* i */
aload 0 /* this */
getfield org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer.batchSizes:[I
iload 5 /* indexToUse */
iaload
if_icmplt 19
end local 7 // int i
22: .line 99
aload 0 /* this */
getfield org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer.loaders:[Lorg/hibernate/loader/Loader;
iload 5 /* indexToUse */
aaload
aload 2 /* session */
aload 6 /* idsToLoad */
aload 0 /* this */
invokevirtual org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer.collectionPersister:()Lorg/hibernate/persister/collection/QueryableCollection;
invokeinterface org.hibernate.persister.collection.QueryableCollection.getKeyType:()Lorg/hibernate/type/Type;
invokevirtual org.hibernate.loader.Loader.loadCollectionBatch:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;[Ljava/io/Serializable;Lorg/hibernate/type/Type;)V
23: .line 100
return
end local 6 // java.io.Serializable[] idsToLoad
end local 5 // int indexToUse
end local 4 // int numberOfIds
end local 3 // java.io.Serializable[] batch
end local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
end local 1 // java.io.Serializable id
end local 0 // org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer this
LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/hibernate/loader/collection/PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer;
0 24 1 id Ljava/io/Serializable;
0 24 2 session Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
4 24 3 batch [Ljava/io/Serializable;
5 24 4 numberOfIds I
9 24 5 indexToUse I
10 15 6 i I
16 24 6 idsToLoad [Ljava/io/Serializable;
18 22 7 i I
Exceptions:
throws org.hibernate.HibernateException
MethodParameters:
Name Flags
id
session
}
SourceFile: "PaddedBatchingCollectionInitializerBuilder.java"
NestHost: org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder
InnerClasses:
private PaddedBatchingCollectionInitializer = org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder$PaddedBatchingCollectionInitializer of org.hibernate.loader.collection.PaddedBatchingCollectionInitializerBuilder