public final class org.hibernate.action.internal.CollectionRemoveAction extends org.hibernate.action.internal.CollectionAction
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.hibernate.action.internal.CollectionRemoveAction
super_class: org.hibernate.action.internal.CollectionAction
{
private final java.lang.Object affectedOwner;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean emptySnapshot;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(org.hibernate.collection.spi.PersistentCollection, org.hibernate.persister.collection.CollectionPersister, java.io.Serializable, boolean, org.hibernate.engine.spi.SharedSessionContractImplementor);
descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;ZLorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 2
aload 1
aload 3
aload 5
invokespecial org.hibernate.action.internal.CollectionAction.<init>:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
1: aload 1
ifnonnull 3
2: new org.hibernate.AssertionFailure
dup
ldc "collection == null"
invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.hibernate.action.internal.CollectionRemoveAction org.hibernate.collection.spi.PersistentCollection org.hibernate.persister.collection.CollectionPersister java.io.Serializable int org.hibernate.engine.spi.SharedSessionContractImplementor
StackMap stack:
aload 0
iload 4
putfield org.hibernate.action.internal.CollectionRemoveAction.emptySnapshot:Z
4: aload 0
aload 5
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
aload 1
invokeinterface org.hibernate.engine.spi.PersistenceContext.getLoadedCollectionOwnerOrNull:(Lorg/hibernate/collection/spi/PersistentCollection;)Ljava/lang/Object;
putfield org.hibernate.action.internal.CollectionRemoveAction.affectedOwner:Ljava/lang/Object;
5: return
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 6 0 this Lorg/hibernate/action/internal/CollectionRemoveAction;
0 6 1 collection Lorg/hibernate/collection/spi/PersistentCollection;
0 6 2 persister Lorg/hibernate/persister/collection/CollectionPersister;
0 6 3 id Ljava/io/Serializable;
0 6 4 emptySnapshot Z
0 6 5 session Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
MethodParameters:
Name Flags
collection final
persister final
id final
emptySnapshot final
session final
public void <init>(java.lang.Object, org.hibernate.persister.collection.CollectionPersister, java.io.Serializable, boolean, org.hibernate.engine.spi.SharedSessionContractImplementor);
descriptor: (Ljava/lang/Object;Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;ZLorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 2
aconst_null
aload 3
aload 5
invokespecial org.hibernate.action.internal.CollectionAction.<init>:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
1: aload 1
ifnonnull 3
2: new org.hibernate.AssertionFailure
dup
ldc "affectedOwner == null"
invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.hibernate.action.internal.CollectionRemoveAction java.lang.Object org.hibernate.persister.collection.CollectionPersister java.io.Serializable int org.hibernate.engine.spi.SharedSessionContractImplementor
StackMap stack:
aload 0
iload 4
putfield org.hibernate.action.internal.CollectionRemoveAction.emptySnapshot:Z
4: aload 0
aload 1
putfield org.hibernate.action.internal.CollectionRemoveAction.affectedOwner:Ljava/lang/Object;
5: return
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 6 0 this Lorg/hibernate/action/internal/CollectionRemoveAction;
0 6 1 affectedOwner Ljava/lang/Object;
0 6 2 persister Lorg/hibernate/persister/collection/CollectionPersister;
0 6 3 id Ljava/io/Serializable;
0 6 4 emptySnapshot Z
0 6 5 session Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
MethodParameters:
Name Flags
affectedOwner final
persister final
id final
emptySnapshot final
session final
public void execute();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.preRemove:()V
1: aload 0
getfield org.hibernate.action.internal.CollectionRemoveAction.emptySnapshot:Z
ifne 3
2: aload 0
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.getPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
aload 0
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.getKey:()Ljava/io/Serializable;
aload 0
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.getSession:()Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
invokeinterface org.hibernate.persister.collection.CollectionPersister.remove:(Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.getCollection:()Lorg/hibernate/collection/spi/PersistentCollection;
astore 1
start local 1 4: aload 1
ifnull 6
5: aload 0
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.getSession:()Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
aload 1
invokeinterface org.hibernate.engine.spi.PersistenceContext.getCollectionEntry:(Lorg/hibernate/collection/spi/PersistentCollection;)Lorg/hibernate/engine/spi/CollectionEntry;
aload 1
invokevirtual org.hibernate.engine.spi.CollectionEntry.afterAction:(Lorg/hibernate/collection/spi/PersistentCollection;)V
6: StackMap locals: org.hibernate.collection.spi.PersistentCollection
StackMap stack:
aload 0
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.evict:()V
7: aload 0
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.postRemove:()V
8: aload 0
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.getSession:()Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/spi/StatisticsImplementor;
invokeinterface org.hibernate.stat.spi.StatisticsImplementor.isStatisticsEnabled:()Z
ifeq 10
9: aload 0
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.getSession:()Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/spi/StatisticsImplementor;
aload 0
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.getPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
invokeinterface org.hibernate.persister.collection.CollectionPersister.getRole:()Ljava/lang/String;
invokeinterface org.hibernate.stat.spi.StatisticsImplementor.removeCollection:(Ljava/lang/String;)V
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/hibernate/action/internal/CollectionRemoveAction;
4 11 1 collection Lorg/hibernate/collection/spi/PersistentCollection;
Exceptions:
throws org.hibernate.HibernateException
private void preRemove();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
getstatic org.hibernate.event.spi.EventType.PRE_COLLECTION_REMOVE:Lorg/hibernate/event/spi/EventType;
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.listenerGroup:(Lorg/hibernate/event/spi/EventType;)Lorg/hibernate/event/service/spi/EventListenerGroup;
astore 1
start local 1 1: aload 1
invokeinterface org.hibernate.event.service.spi.EventListenerGroup.isEmpty:()Z
ifeq 3
2: return
3: StackMap locals: org.hibernate.event.service.spi.EventListenerGroup
StackMap stack:
new org.hibernate.event.spi.PreCollectionRemoveEvent
dup
4: aload 0
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.getPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
5: aload 0
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.getCollection:()Lorg/hibernate/collection/spi/PersistentCollection;
6: aload 0
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.eventSource:()Lorg/hibernate/event/spi/EventSource;
7: aload 0
getfield org.hibernate.action.internal.CollectionRemoveAction.affectedOwner:Ljava/lang/Object;
8: invokespecial org.hibernate.event.spi.PreCollectionRemoveEvent.<init>:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/event/spi/EventSource;Ljava/lang/Object;)V
astore 2
start local 2 9: aload 1
invokeinterface org.hibernate.event.service.spi.EventListenerGroup.listeners:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 12
StackMap locals: org.hibernate.action.internal.CollectionRemoveAction org.hibernate.event.service.spi.EventListenerGroup org.hibernate.event.spi.PreCollectionRemoveEvent top java.util.Iterator
StackMap stack:
10: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.hibernate.event.spi.PreCollectionRemoveEventListener
astore 3
start local 3 11: aload 3
aload 2
invokeinterface org.hibernate.event.spi.PreCollectionRemoveEventListener.onPreRemoveCollection:(Lorg/hibernate/event/spi/PreCollectionRemoveEvent;)V
end local 3 12: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/hibernate/action/internal/CollectionRemoveAction;
1 14 1 listenerGroup Lorg/hibernate/event/service/spi/EventListenerGroup<Lorg/hibernate/event/spi/PreCollectionRemoveEventListener;>;
9 14 2 event Lorg/hibernate/event/spi/PreCollectionRemoveEvent;
11 12 3 listener Lorg/hibernate/event/spi/PreCollectionRemoveEventListener;
private void postRemove();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
getstatic org.hibernate.event.spi.EventType.POST_COLLECTION_REMOVE:Lorg/hibernate/event/spi/EventType;
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.listenerGroup:(Lorg/hibernate/event/spi/EventType;)Lorg/hibernate/event/service/spi/EventListenerGroup;
astore 1
start local 1 1: aload 1
invokeinterface org.hibernate.event.service.spi.EventListenerGroup.isEmpty:()Z
ifeq 3
2: return
3: StackMap locals: org.hibernate.event.service.spi.EventListenerGroup
StackMap stack:
new org.hibernate.event.spi.PostCollectionRemoveEvent
dup
4: aload 0
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.getPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
5: aload 0
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.getCollection:()Lorg/hibernate/collection/spi/PersistentCollection;
6: aload 0
invokevirtual org.hibernate.action.internal.CollectionRemoveAction.eventSource:()Lorg/hibernate/event/spi/EventSource;
7: aload 0
getfield org.hibernate.action.internal.CollectionRemoveAction.affectedOwner:Ljava/lang/Object;
8: invokespecial org.hibernate.event.spi.PostCollectionRemoveEvent.<init>:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/event/spi/EventSource;Ljava/lang/Object;)V
astore 2
start local 2 9: aload 1
invokeinterface org.hibernate.event.service.spi.EventListenerGroup.listeners:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 12
StackMap locals: org.hibernate.action.internal.CollectionRemoveAction org.hibernate.event.service.spi.EventListenerGroup org.hibernate.event.spi.PostCollectionRemoveEvent top java.util.Iterator
StackMap stack:
10: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.hibernate.event.spi.PostCollectionRemoveEventListener
astore 3
start local 3 11: aload 3
aload 2
invokeinterface org.hibernate.event.spi.PostCollectionRemoveEventListener.onPostRemoveCollection:(Lorg/hibernate/event/spi/PostCollectionRemoveEvent;)V
end local 3 12: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/hibernate/action/internal/CollectionRemoveAction;
1 14 1 listenerGroup Lorg/hibernate/event/service/spi/EventListenerGroup<Lorg/hibernate/event/spi/PostCollectionRemoveEventListener;>;
9 14 2 event Lorg/hibernate/event/spi/PostCollectionRemoveEvent;
11 12 3 listener Lorg/hibernate/event/spi/PostCollectionRemoveEventListener;
}
SourceFile: "CollectionRemoveAction.java"