public class org.hibernate.bytecode.enhance.spi.interceptor.Helper
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.bytecode.enhance.spi.interceptor.Helper
super_class: java.lang.Object
{
private static final org.jboss.logging.Logger log;
descriptor: Lorg/jboss/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.hibernate.bytecode.enhance.spi.interceptor.Helper$Consumer consumer;
descriptor: Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Consumer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$org$hibernate$bytecode$enhance$spi$interceptor$Helper$Cause;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper;
invokestatic org.jboss.logging.Logger.getLogger:(Ljava/lang/Class;)Lorg/jboss/logging/Logger;
putstatic org.hibernate.bytecode.enhance.spi.interceptor.Helper.log:Lorg/jboss/logging/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.hibernate.bytecode.enhance.spi.interceptor.Helper$Consumer);
descriptor: (Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Consumer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.hibernate.bytecode.enhance.spi.interceptor.Helper.consumer:Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Consumer;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper;
0 3 1 consumer Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Consumer;
MethodParameters:
Name Flags
consumer
public <T> T performWork(org.hibernate.bytecode.enhance.spi.interceptor.Helper$LazyInitializationWork<T>);
descriptor: (Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$LazyInitializationWork;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hibernate.bytecode.enhance.spi.interceptor.Helper.consumer:Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Consumer;
invokeinterface org.hibernate.bytecode.enhance.spi.interceptor.Helper$Consumer.getLinkedSession:()Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: aload 2
ifnonnull 10
4: aload 0
getfield org.hibernate.bytecode.enhance.spi.interceptor.Helper.consumer:Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Consumer;
invokeinterface org.hibernate.bytecode.enhance.spi.interceptor.Helper$Consumer.allowLoadOutsideTransaction:()Z
ifeq 8
5: aload 0
aload 1
invokevirtual org.hibernate.bytecode.enhance.spi.interceptor.Helper.openTemporarySessionForLoading:(Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$LazyInitializationWork;)Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
astore 2
6: iconst_1
istore 3
7: goto 23
8: StackMap locals: org.hibernate.engine.spi.SharedSessionContractImplementor int int
StackMap stack:
aload 0
getstatic org.hibernate.bytecode.enhance.spi.interceptor.Helper$Cause.NO_SESSION:Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Cause;
aload 1
invokevirtual org.hibernate.bytecode.enhance.spi.interceptor.Helper.throwLazyInitializationException:(Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Cause;Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$LazyInitializationWork;)V
9: goto 23
10: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.isOpen:()Z
ifne 17
11: aload 0
getfield org.hibernate.bytecode.enhance.spi.interceptor.Helper.consumer:Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Consumer;
invokeinterface org.hibernate.bytecode.enhance.spi.interceptor.Helper$Consumer.allowLoadOutsideTransaction:()Z
ifeq 15
12: aload 0
aload 1
invokevirtual org.hibernate.bytecode.enhance.spi.interceptor.Helper.openTemporarySessionForLoading:(Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$LazyInitializationWork;)Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
astore 2
13: iconst_1
istore 3
14: goto 23
15: StackMap locals:
StackMap stack:
aload 0
getstatic org.hibernate.bytecode.enhance.spi.interceptor.Helper$Cause.CLOSED_SESSION:Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Cause;
aload 1
invokevirtual org.hibernate.bytecode.enhance.spi.interceptor.Helper.throwLazyInitializationException:(Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Cause;Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$LazyInitializationWork;)V
16: goto 23
17: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.isConnected:()Z
ifne 23
18: aload 0
getfield org.hibernate.bytecode.enhance.spi.interceptor.Helper.consumer:Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Consumer;
invokeinterface org.hibernate.bytecode.enhance.spi.interceptor.Helper$Consumer.allowLoadOutsideTransaction:()Z
ifeq 22
19: aload 0
aload 1
invokevirtual org.hibernate.bytecode.enhance.spi.interceptor.Helper.openTemporarySessionForLoading:(Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$LazyInitializationWork;)Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
astore 2
20: iconst_1
istore 3
21: goto 23
22: StackMap locals:
StackMap stack:
aload 0
getstatic org.hibernate.bytecode.enhance.spi.interceptor.Helper$Cause.DISCONNECTED_SESSION:Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Cause;
aload 1
invokevirtual org.hibernate.bytecode.enhance.spi.interceptor.Helper.throwLazyInitializationException:(Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Cause;Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$LazyInitializationWork;)V
23: StackMap locals:
StackMap stack:
iload 3
ifeq 27
24: aload 2
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getTransactionCoordinator:()Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.resource.transaction.spi.TransactionCoordinator.getTransactionCoordinatorBuilder:()Lorg/hibernate/resource/transaction/spi/TransactionCoordinatorBuilder;
invokeinterface org.hibernate.resource.transaction.spi.TransactionCoordinatorBuilder.isJta:()Z
istore 4
25: iload 4
ifne 27
26: aload 2
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.beginTransaction:()Lorg/hibernate/Transaction;
pop
27: StackMap locals:
StackMap stack:
aload 1
aload 2
iload 3
invokeinterface org.hibernate.bytecode.enhance.spi.interceptor.Helper$LazyInitializationWork.doWork:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Z)Ljava/lang/Object;
astore 6
28: iload 3
ifeq 40
29: iload 4
ifne 36
30: aload 2
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getTransaction:()Lorg/hibernate/Transaction;
invokeinterface org.hibernate.Transaction.commit:()V
31: goto 36
32: StackMap locals: org.hibernate.bytecode.enhance.spi.interceptor.Helper org.hibernate.bytecode.enhance.spi.interceptor.Helper$LazyInitializationWork org.hibernate.engine.spi.SharedSessionContractImplementor int int top java.lang.Object
StackMap stack: java.lang.Exception
pop
33: getstatic org.hibernate.bytecode.enhance.spi.interceptor.Helper.log:Lorg/jboss/logging/Logger;
34: ldc "Unable to commit JDBC transaction on temporary session used to load lazy collection associated to no session"
35: invokevirtual org.jboss.logging.Logger.warn:(Ljava/lang/Object;)V
36: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.close:()V
37: goto 40
38: StackMap locals:
StackMap stack: java.lang.Exception
pop
39: getstatic org.hibernate.bytecode.enhance.spi.interceptor.Helper.log:Lorg/jboss/logging/Logger;
ldc "Unable to close temporary session used to load lazy collection associated to no session"
invokevirtual org.jboss.logging.Logger.warn:(Ljava/lang/Object;)V
40: StackMap locals:
StackMap stack:
aload 6
areturn
41: StackMap locals: org.hibernate.bytecode.enhance.spi.interceptor.Helper org.hibernate.bytecode.enhance.spi.interceptor.Helper$LazyInitializationWork org.hibernate.engine.spi.SharedSessionContractImplementor int int
StackMap stack: java.lang.Throwable
astore 5
42: iload 3
ifeq 54
43: iload 4
ifne 50
44: aload 2
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getTransaction:()Lorg/hibernate/Transaction;
invokeinterface org.hibernate.Transaction.commit:()V
45: goto 50
46: StackMap locals: org.hibernate.bytecode.enhance.spi.interceptor.Helper org.hibernate.bytecode.enhance.spi.interceptor.Helper$LazyInitializationWork org.hibernate.engine.spi.SharedSessionContractImplementor int int java.lang.Throwable
StackMap stack: java.lang.Exception
pop
47: getstatic org.hibernate.bytecode.enhance.spi.interceptor.Helper.log:Lorg/jboss/logging/Logger;
48: ldc "Unable to commit JDBC transaction on temporary session used to load lazy collection associated to no session"
49: invokevirtual org.jboss.logging.Logger.warn:(Ljava/lang/Object;)V
50: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.close:()V
51: goto 54
52: StackMap locals:
StackMap stack: java.lang.Exception
pop
53: getstatic org.hibernate.bytecode.enhance.spi.interceptor.Helper.log:Lorg/jboss/logging/Logger;
ldc "Unable to close temporary session used to load lazy collection associated to no session"
invokevirtual org.jboss.logging.Logger.warn:(Ljava/lang/Object;)V
54: StackMap locals:
StackMap stack:
aload 5
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 55 0 this Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper;
0 55 1 lazyInitializationWork Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$LazyInitializationWork<TT;>;
1 55 2 session Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
2 55 3 isTempSession Z
3 55 4 isJta Z
Exception table:
from to target type
29 31 32 Class java.lang.Exception
36 37 38 Class java.lang.Exception
27 28 41 any
43 45 46 Class java.lang.Exception
50 51 52 Class java.lang.Exception
Signature: <T:Ljava/lang/Object;>(Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$LazyInitializationWork<TT;>;)TT;
MethodParameters:
Name Flags
lazyInitializationWork
private void throwLazyInitializationException(org.hibernate.bytecode.enhance.spi.interceptor.Helper$Cause, org.hibernate.bytecode.enhance.spi.interceptor.Helper$LazyInitializationWork);
descriptor: (Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Cause;Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$LazyInitializationWork;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.hibernate.bytecode.enhance.spi.interceptor.Helper.$SWITCH_TABLE$org$hibernate$bytecode$enhance$spi$interceptor$Helper$Cause:()[I
aload 1
invokevirtual org.hibernate.bytecode.enhance.spi.interceptor.Helper$Cause.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 1
2: 3
3: 5
4: 7
default: 9
}
1: StackMap locals:
StackMap stack:
ldc "no session and settings disallow loading outside the Session"
astore 3
start local 3 2: goto 10
end local 3 3: StackMap locals:
StackMap stack:
ldc "session is closed and settings disallow loading outside the Session"
astore 3
start local 3 4: goto 10
end local 3 5: StackMap locals:
StackMap stack:
ldc "session is disconnected and settings disallow loading outside the Session"
astore 3
start local 3 6: goto 10
end local 3 7: StackMap locals:
StackMap stack:
ldc "could not determine SessionFactory UUId to create temporary Session for loading"
astore 3
start local 3 8: goto 10
end local 3 9: StackMap locals:
StackMap stack:
ldc "<should never get here>"
astore 3
start local 3 10: StackMap locals: java.lang.String
StackMap stack:
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
11: ldc "Unable to perform requested lazy initialization [%s.%s] - %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
12: aload 2
invokeinterface org.hibernate.bytecode.enhance.spi.interceptor.Helper$LazyInitializationWork.getEntityName:()Ljava/lang/String;
aastore
dup
iconst_1
13: aload 2
invokeinterface org.hibernate.bytecode.enhance.spi.interceptor.Helper$LazyInitializationWork.getAttributeName:()Ljava/lang/String;
aastore
dup
iconst_2
14: aload 3
aastore
15: invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 4
start local 4 16: new org.hibernate.LazyInitializationException
dup
aload 4
invokespecial org.hibernate.LazyInitializationException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper;
0 17 1 cause Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Cause;
0 17 2 work Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$LazyInitializationWork;
2 3 3 reason Ljava/lang/String;
4 5 3 reason Ljava/lang/String;
6 7 3 reason Ljava/lang/String;
8 9 3 reason Ljava/lang/String;
10 17 3 reason Ljava/lang/String;
16 17 4 message Ljava/lang/String;
MethodParameters:
Name Flags
cause
work
private org.hibernate.engine.spi.SharedSessionContractImplementor openTemporarySessionForLoading(org.hibernate.bytecode.enhance.spi.interceptor.Helper$LazyInitializationWork);
descriptor: (Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$LazyInitializationWork;)Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hibernate.bytecode.enhance.spi.interceptor.Helper.consumer:Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Consumer;
invokeinterface org.hibernate.bytecode.enhance.spi.interceptor.Helper$Consumer.getSessionFactoryUuid:()Ljava/lang/String;
ifnonnull 2
1: aload 0
getstatic org.hibernate.bytecode.enhance.spi.interceptor.Helper$Cause.NO_SF_UUID:Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Cause;
aload 1
invokevirtual org.hibernate.bytecode.enhance.spi.interceptor.Helper.throwLazyInitializationException:(Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Cause;Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$LazyInitializationWork;)V
2: StackMap locals:
StackMap stack:
getstatic org.hibernate.internal.SessionFactoryRegistry.INSTANCE:Lorg/hibernate/internal/SessionFactoryRegistry;
aload 0
getfield org.hibernate.bytecode.enhance.spi.interceptor.Helper.consumer:Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Consumer;
invokeinterface org.hibernate.bytecode.enhance.spi.interceptor.Helper$Consumer.getSessionFactoryUuid:()Ljava/lang/String;
invokevirtual org.hibernate.internal.SessionFactoryRegistry.getSessionFactory:(Ljava/lang/String;)Lorg/hibernate/SessionFactory;
3: checkcast org.hibernate.engine.spi.SessionFactoryImplementor
astore 2
start local 2 4: aload 2
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.openSession:()Lorg/hibernate/Session;
checkcast org.hibernate.engine.spi.SharedSessionContractImplementor
astore 3
start local 3 5: aload 3
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
iconst_1
invokeinterface org.hibernate.engine.spi.PersistenceContext.setDefaultReadOnly:(Z)V
6: aload 3
getstatic org.hibernate.FlushMode.MANUAL:Lorg/hibernate/FlushMode;
invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.setHibernateFlushMode:(Lorg/hibernate/FlushMode;)V
7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper;
0 8 1 lazyInitializationWork Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$LazyInitializationWork;
4 8 2 sf Lorg/hibernate/engine/spi/SessionFactoryImplementor;
5 8 3 session Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
MethodParameters:
Name Flags
lazyInitializationWork
static int[] $SWITCH_TABLE$org$hibernate$bytecode$enhance$spi$interceptor$Helper$Cause();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.hibernate.bytecode.enhance.spi.interceptor.Helper.$SWITCH_TABLE$org$hibernate$bytecode$enhance$spi$interceptor$Helper$Cause:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.hibernate.bytecode.enhance.spi.interceptor.Helper$Cause.values:()[Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Cause;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.hibernate.bytecode.enhance.spi.interceptor.Helper$Cause.CLOSED_SESSION:Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Cause;
invokevirtual org.hibernate.bytecode.enhance.spi.interceptor.Helper$Cause.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.hibernate.bytecode.enhance.spi.interceptor.Helper$Cause.DISCONNECTED_SESSION:Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Cause;
invokevirtual org.hibernate.bytecode.enhance.spi.interceptor.Helper$Cause.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.hibernate.bytecode.enhance.spi.interceptor.Helper$Cause.NO_SESSION:Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Cause;
invokevirtual org.hibernate.bytecode.enhance.spi.interceptor.Helper$Cause.ordinal:()I
iconst_1
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.hibernate.bytecode.enhance.spi.interceptor.Helper$Cause.NO_SF_UUID:Lorg/hibernate/bytecode/enhance/spi/interceptor/Helper$Cause;
invokevirtual org.hibernate.bytecode.enhance.spi.interceptor.Helper$Cause.ordinal:()I
iconst_4
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
dup
putstatic org.hibernate.bytecode.enhance.spi.interceptor.Helper.$SWITCH_TABLE$org$hibernate$bytecode$enhance$spi$interceptor$Helper$Cause:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
}
SourceFile: "Helper.java"
NestMembers:
org.hibernate.bytecode.enhance.spi.interceptor.Helper$Cause org.hibernate.bytecode.enhance.spi.interceptor.Helper$Consumer org.hibernate.bytecode.enhance.spi.interceptor.Helper$LazyInitializationWork
InnerClasses:
final Cause = org.hibernate.bytecode.enhance.spi.interceptor.Helper$Cause of org.hibernate.bytecode.enhance.spi.interceptor.Helper
abstract Consumer = org.hibernate.bytecode.enhance.spi.interceptor.Helper$Consumer of org.hibernate.bytecode.enhance.spi.interceptor.Helper
abstract LazyInitializationWork = org.hibernate.bytecode.enhance.spi.interceptor.Helper$LazyInitializationWork of org.hibernate.bytecode.enhance.spi.interceptor.Helper