public class org.hibernate.event.internal.OnReplicateVisitor extends org.hibernate.event.internal.ReattachVisitor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.event.internal.OnReplicateVisitor
super_class: org.hibernate.event.internal.ReattachVisitor
{
private boolean isUpdate;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
void <init>(org.hibernate.event.spi.EventSource, java.io.Serializable, java.lang.Object, boolean);
descriptor: (Lorg/hibernate/event/spi/EventSource;Ljava/io/Serializable;Ljava/lang/Object;Z)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=5
start local 0 // org.hibernate.event.internal.OnReplicateVisitor this
start local 1 // org.hibernate.event.spi.EventSource session
start local 2 // java.io.Serializable key
start local 3 // java.lang.Object owner
start local 4 // boolean isUpdate
0: .line 34
aload 0 /* this */
aload 1 /* session */
aload 2 /* key */
aload 3 /* owner */
invokespecial org.hibernate.event.internal.ReattachVisitor.<init>:(Lorg/hibernate/event/spi/EventSource;Ljava/io/Serializable;Ljava/lang/Object;)V
1: .line 35
aload 0 /* this */
iload 4 /* isUpdate */
putfield org.hibernate.event.internal.OnReplicateVisitor.isUpdate:Z
2: .line 36
return
end local 4 // boolean isUpdate
end local 3 // java.lang.Object owner
end local 2 // java.io.Serializable key
end local 1 // org.hibernate.event.spi.EventSource session
end local 0 // org.hibernate.event.internal.OnReplicateVisitor this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hibernate/event/internal/OnReplicateVisitor;
0 3 1 session Lorg/hibernate/event/spi/EventSource;
0 3 2 key Ljava/io/Serializable;
0 3 3 owner Ljava/lang/Object;
0 3 4 isUpdate Z
MethodParameters:
Name Flags
session
key
owner
isUpdate
public java.lang.Object processCollection(java.lang.Object, org.hibernate.type.CollectionType);
descriptor: (Ljava/lang/Object;Lorg/hibernate/type/CollectionType;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 // org.hibernate.event.internal.OnReplicateVisitor this
start local 1 // java.lang.Object collection
start local 2 // org.hibernate.type.CollectionType type
0: .line 40
aload 1 /* collection */
getstatic org.hibernate.type.CollectionType.UNFETCHED_COLLECTION:Ljava/lang/Object;
if_acmpne 2
1: .line 41
aconst_null
areturn
2: .line 44
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual org.hibernate.event.internal.OnReplicateVisitor.getSession:()Lorg/hibernate/event/spi/EventSource;
astore 3 /* session */
start local 3 // org.hibernate.event.spi.EventSource session
3: .line 45
aload 3 /* session */
invokeinterface org.hibernate.event.spi.EventSource.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
aload 2 /* type */
invokevirtual org.hibernate.type.CollectionType.getRole:()Ljava/lang/String;
invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.collectionPersister:(Ljava/lang/String;)Lorg/hibernate/persister/collection/CollectionPersister;
astore 4 /* persister */
start local 4 // org.hibernate.persister.collection.CollectionPersister persister
4: .line 47
aload 0 /* this */
getfield org.hibernate.event.internal.OnReplicateVisitor.isUpdate:Z
ifeq 6
5: .line 48
aload 0 /* this */
aload 4 /* persister */
aload 0 /* this */
aload 4 /* persister */
invokevirtual org.hibernate.event.internal.OnReplicateVisitor.extractCollectionKeyFromOwner:(Lorg/hibernate/persister/collection/CollectionPersister;)Ljava/io/Serializable;
aload 3 /* session */
invokevirtual org.hibernate.event.internal.OnReplicateVisitor.removeCollection:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;Lorg/hibernate/event/spi/EventSource;)V
6: .line 50
StackMap locals: org.hibernate.event.spi.EventSource org.hibernate.persister.collection.CollectionPersister
StackMap stack:
aload 1 /* collection */
ifnull 13
aload 1 /* collection */
instanceof org.hibernate.collection.spi.PersistentCollection
ifeq 13
7: .line 51
aload 1 /* collection */
checkcast org.hibernate.collection.spi.PersistentCollection
astore 5 /* wrapper */
start local 5 // org.hibernate.collection.spi.PersistentCollection wrapper
8: .line 52
aload 5 /* wrapper */
aload 3 /* session */
invokeinterface org.hibernate.collection.spi.PersistentCollection.setCurrentSession:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Z
pop
9: .line 53
aload 5 /* wrapper */
invokeinterface org.hibernate.collection.spi.PersistentCollection.wasInitialized:()Z
ifeq 12
10: .line 54
aload 3 /* session */
invokeinterface org.hibernate.event.spi.EventSource.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
aload 4 /* persister */
aload 5 /* wrapper */
invokeinterface org.hibernate.engine.spi.PersistenceContext.addNewCollection:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;)V
11: .line 55
goto 13
12: .line 57
StackMap locals: org.hibernate.collection.spi.PersistentCollection
StackMap stack:
aload 0 /* this */
aload 5 /* wrapper */
aload 2 /* type */
invokevirtual org.hibernate.event.internal.OnReplicateVisitor.reattachCollection:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/type/CollectionType;)V
end local 5 // org.hibernate.collection.spi.PersistentCollection wrapper
13: .line 67
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 // org.hibernate.persister.collection.CollectionPersister persister
end local 3 // org.hibernate.event.spi.EventSource session
end local 2 // org.hibernate.type.CollectionType type
end local 1 // java.lang.Object collection
end local 0 // org.hibernate.event.internal.OnReplicateVisitor this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/hibernate/event/internal/OnReplicateVisitor;
0 14 1 collection Ljava/lang/Object;
0 14 2 type Lorg/hibernate/type/CollectionType;
3 14 3 session Lorg/hibernate/event/spi/EventSource;
4 14 4 persister Lorg/hibernate/persister/collection/CollectionPersister;
8 13 5 wrapper Lorg/hibernate/collection/spi/PersistentCollection;
Exceptions:
throws org.hibernate.HibernateException
MethodParameters:
Name Flags
collection
type
}
SourceFile: "OnReplicateVisitor.java"