public class org.hibernate.event.internal.OnUpdateVisitor 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.OnUpdateVisitor
super_class: org.hibernate.event.internal.ReattachVisitor
{
void <init>(org.hibernate.event.spi.EventSource, java.io.Serializable, java.lang.Object);
descriptor: (Lorg/hibernate/event/spi/EventSource;Ljava/io/Serializable;Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 // org.hibernate.event.internal.OnUpdateVisitor this
start local 1 // org.hibernate.event.spi.EventSource session
start local 2 // java.io.Serializable key
start local 3 // java.lang.Object owner
0: .line 30
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 31
return
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.OnUpdateVisitor this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/event/internal/OnUpdateVisitor;
0 2 1 session Lorg/hibernate/event/spi/EventSource;
0 2 2 key Ljava/io/Serializable;
0 2 3 owner Ljava/lang/Object;
MethodParameters:
Name Flags
session
key
owner
java.lang.Object processCollection(java.lang.Object, org.hibernate.type.CollectionType);
descriptor: (Ljava/lang/Object;Lorg/hibernate/type/CollectionType;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=4, locals=7, args_size=3
start local 0 // org.hibernate.event.internal.OnUpdateVisitor this
start local 1 // java.lang.Object collection
start local 2 // org.hibernate.type.CollectionType type
0: .line 36
aload 1 /* collection */
getstatic org.hibernate.type.CollectionType.UNFETCHED_COLLECTION:Ljava/lang/Object;
if_acmpne 2
1: .line 37
aconst_null
areturn
2: .line 40
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual org.hibernate.event.internal.OnUpdateVisitor.getSession:()Lorg/hibernate/event/spi/EventSource;
astore 3 /* session */
start local 3 // org.hibernate.event.spi.EventSource session
3: .line 41
aload 3 /* session */
invokeinterface org.hibernate.event.spi.EventSource.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
aload 2 /* type */
invokevirtual org.hibernate.type.CollectionType.getRole:()Ljava/lang/String;
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getCollectionPersister:(Ljava/lang/String;)Lorg/hibernate/persister/collection/CollectionPersister;
astore 4 /* persister */
start local 4 // org.hibernate.persister.collection.CollectionPersister persister
4: .line 43
aload 0 /* this */
aload 4 /* persister */
invokevirtual org.hibernate.event.internal.OnUpdateVisitor.extractCollectionKeyFromOwner:(Lorg/hibernate/persister/collection/CollectionPersister;)Ljava/io/Serializable;
astore 5 /* collectionKey */
start local 5 // java.io.Serializable collectionKey
5: .line 44
aload 1 /* collection */
ifnull 14
aload 1 /* collection */
instanceof org.hibernate.collection.spi.PersistentCollection
ifeq 14
6: .line 45
aload 1 /* collection */
checkcast org.hibernate.collection.spi.PersistentCollection
astore 6 /* wrapper */
start local 6 // org.hibernate.collection.spi.PersistentCollection wrapper
7: .line 46
aload 6 /* wrapper */
aload 3 /* session */
invokeinterface org.hibernate.collection.spi.PersistentCollection.setCurrentSession:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Z
ifeq 12
8: .line 48
aload 6 /* wrapper */
aload 4 /* persister */
aload 5 /* collectionKey */
invokestatic org.hibernate.event.internal.OnUpdateVisitor.isOwnerUnchanged:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;)Z
ifne 10
9: .line 51
aload 0 /* this */
aload 4 /* persister */
aload 5 /* collectionKey */
aload 3 /* session */
invokevirtual org.hibernate.event.internal.OnUpdateVisitor.removeCollection:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;Lorg/hibernate/event/spi/EventSource;)V
10: .line 53
StackMap locals: org.hibernate.event.internal.OnUpdateVisitor java.lang.Object org.hibernate.type.CollectionType org.hibernate.event.spi.EventSource org.hibernate.persister.collection.CollectionPersister java.io.Serializable org.hibernate.collection.spi.PersistentCollection
StackMap stack:
aload 0 /* this */
aload 6 /* wrapper */
aload 2 /* type */
invokevirtual org.hibernate.event.internal.OnUpdateVisitor.reattachCollection:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/type/CollectionType;)V
11: .line 54
goto 15
12: .line 59
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 4 /* persister */
aload 5 /* collectionKey */
aload 3 /* session */
invokevirtual org.hibernate.event.internal.OnUpdateVisitor.removeCollection:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;Lorg/hibernate/event/spi/EventSource;)V
end local 6 // org.hibernate.collection.spi.PersistentCollection wrapper
13: .line 61
goto 15
14: .line 66
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 4 /* persister */
aload 5 /* collectionKey */
aload 3 /* session */
invokevirtual org.hibernate.event.internal.OnUpdateVisitor.removeCollection:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;Lorg/hibernate/event/spi/EventSource;)V
15: .line 69
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 5 // java.io.Serializable collectionKey
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.OnUpdateVisitor this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/hibernate/event/internal/OnUpdateVisitor;
0 16 1 collection Ljava/lang/Object;
0 16 2 type Lorg/hibernate/type/CollectionType;
3 16 3 session Lorg/hibernate/event/spi/EventSource;
4 16 4 persister Lorg/hibernate/persister/collection/CollectionPersister;
5 16 5 collectionKey Ljava/io/Serializable;
7 13 6 wrapper Lorg/hibernate/collection/spi/PersistentCollection;
Exceptions:
throws org.hibernate.HibernateException
MethodParameters:
Name Flags
collection
type
}
SourceFile: "OnUpdateVisitor.java"