abstract class io.ebeaninternal.server.transaction.TransactionFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: io.ebeaninternal.server.transaction.TransactionFactory
  super_class: java.lang.Object
{
  final io.ebeaninternal.server.transaction.TransactionManager manager;
    descriptor: Lio/ebeaninternal/server/transaction/TransactionManager;
    flags: (0x0010) ACC_FINAL

  void <init>(io.ebeaninternal.server.transaction.TransactionManager);
    descriptor: (Lio/ebeaninternal/server/transaction/TransactionManager;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.transaction.TransactionFactory this
        start local 1 // io.ebeaninternal.server.transaction.TransactionManager manager
         0: .line 17
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 18
            aload 0 /* this */
            aload 1 /* manager */
            putfield io.ebeaninternal.server.transaction.TransactionFactory.manager:Lio/ebeaninternal/server/transaction/TransactionManager;
         2: .line 19
            return
        end local 1 // io.ebeaninternal.server.transaction.TransactionManager manager
        end local 0 // io.ebeaninternal.server.transaction.TransactionFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/ebeaninternal/server/transaction/TransactionFactory;
            0    3     1  manager  Lio/ebeaninternal/server/transaction/TransactionManager;
    MethodParameters:
         Name  Flags
      manager  

  abstract io.ebeaninternal.api.SpiTransaction createReadOnlyTransaction(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/ebeaninternal/api/SpiTransaction;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      tenantId  

  abstract io.ebeaninternal.api.SpiTransaction createTransaction(boolean, int);
    descriptor: (ZI)Lio/ebeaninternal/api/SpiTransaction;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      explicit        
      isolationLevel  

  io.ebeaninternal.api.SpiTransaction setIsolationLevel(io.ebeaninternal.api.SpiTransaction, boolean, int);
    descriptor: (Lio/ebeaninternal/api/SpiTransaction;ZI)Lio/ebeaninternal/api/SpiTransaction;
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // io.ebeaninternal.server.transaction.TransactionFactory this
        start local 1 // io.ebeaninternal.api.SpiTransaction t
        start local 2 // boolean explicit
        start local 3 // int isolationLevel
         0: .line 38
            iload 3 /* isolationLevel */
            iconst_m1
            if_icmple 7
         1: .line 39
            aload 1 /* t */
            invokeinterface io.ebeaninternal.api.SpiTransaction.getConnection:()Ljava/sql/Connection;
            astore 4 /* connection */
        start local 4 // java.sql.Connection connection
         2: .line 41
            aload 4 /* connection */
            iload 3 /* isolationLevel */
            invokeinterface java.sql.Connection.setTransactionIsolation:(I)V
         3: .line 42
            goto 7
      StackMap locals: io.ebeaninternal.server.transaction.TransactionFactory io.ebeaninternal.api.SpiTransaction int int java.sql.Connection
      StackMap stack: java.sql.SQLException
         4: astore 5 /* e */
        start local 5 // java.sql.SQLException e
         5: .line 43
            aload 4 /* connection */
            invokestatic io.ebean.util.JdbcClose.close:(Ljava/sql/Connection;)V
         6: .line 44
            new javax.persistence.PersistenceException
            dup
            aload 5 /* e */
            invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.sql.SQLException e
        end local 4 // java.sql.Connection connection
         7: .line 48
      StackMap locals:
      StackMap stack:
            iload 2 /* explicit */
            ifeq 9
            aload 0 /* this */
            getfield io.ebeaninternal.server.transaction.TransactionFactory.manager:Lio/ebeaninternal/server/transaction/TransactionManager;
            invokevirtual io.ebeaninternal.server.transaction.TransactionManager.log:()Lio/ebeaninternal/api/SpiLogManager;
            invokeinterface io.ebeaninternal.api.SpiLogManager.txn:()Lio/ebeaninternal/api/SpiLogger;
            invokeinterface io.ebeaninternal.api.SpiLogger.isTrace:()Z
            ifeq 9
         8: .line 49
            aload 0 /* this */
            getfield io.ebeaninternal.server.transaction.TransactionFactory.manager:Lio/ebeaninternal/server/transaction/TransactionManager;
            invokevirtual io.ebeaninternal.server.transaction.TransactionManager.log:()Lio/ebeaninternal/api/SpiLogManager;
            invokeinterface io.ebeaninternal.api.SpiLogManager.txn:()Lio/ebeaninternal/api/SpiLogger;
            new java.lang.StringBuilder
            dup
            aload 1 /* t */
            invokeinterface io.ebeaninternal.api.SpiTransaction.getLogPrefix:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Begin"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface io.ebeaninternal.api.SpiLogger.trace:(Ljava/lang/String;)V
         9: .line 52
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            areturn
        end local 3 // int isolationLevel
        end local 2 // boolean explicit
        end local 1 // io.ebeaninternal.api.SpiTransaction t
        end local 0 // io.ebeaninternal.server.transaction.TransactionFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lio/ebeaninternal/server/transaction/TransactionFactory;
            0   10     1               t  Lio/ebeaninternal/api/SpiTransaction;
            0   10     2        explicit  Z
            0   10     3  isolationLevel  I
            2    7     4      connection  Ljava/sql/Connection;
            5    7     5               e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.sql.SQLException
    MethodParameters:
                Name  Flags
      t               
      explicit        
      isolationLevel  
}
SourceFile: "TransactionFactory.java"