public class io.ebeaninternal.server.deploy.BeanTable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.ebeaninternal.server.deploy.BeanTable
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final io.ebeaninternal.server.deploy.BeanDescriptorMap owner;
    descriptor: Lio/ebeaninternal/server/deploy/BeanDescriptorMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Class<?> beanType;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private final java.lang.String baseTable;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.ebeaninternal.server.deploy.BeanProperty idProperty;
    descriptor: Lio/ebeaninternal/server/deploy/BeanProperty;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 22
            ldc Lio/ebeaninternal/server/deploy/BeanTable;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic io.ebeaninternal.server.deploy.BeanTable.logger:Lorg/slf4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(io.ebeaninternal.server.deploy.meta.DeployBeanTable, io.ebeaninternal.server.deploy.BeanDescriptorMap);
    descriptor: (Lio/ebeaninternal/server/deploy/meta/DeployBeanTable;Lio/ebeaninternal/server/deploy/BeanDescriptorMap;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanTable this
        start local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanTable mutable
        start local 2 // io.ebeaninternal.server.deploy.BeanDescriptorMap owner
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 39
            aload 0 /* this */
            aload 2 /* owner */
            putfield io.ebeaninternal.server.deploy.BeanTable.owner:Lio/ebeaninternal/server/deploy/BeanDescriptorMap;
         2: .line 40
            aload 0 /* this */
            aload 1 /* mutable */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanTable.getBeanType:()Ljava/lang/Class;
            putfield io.ebeaninternal.server.deploy.BeanTable.beanType:Ljava/lang/Class;
         3: .line 41
            aload 0 /* this */
            aload 1 /* mutable */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanTable.getBaseTable:()Ljava/lang/String;
            invokestatic io.ebeaninternal.server.core.InternString.intern:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.ebeaninternal.server.deploy.BeanTable.baseTable:Ljava/lang/String;
         4: .line 42
            aload 0 /* this */
            aload 1 /* mutable */
            aload 2 /* owner */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanTable.createIdProperty:(Lio/ebeaninternal/server/deploy/BeanDescriptorMap;)Lio/ebeaninternal/server/deploy/BeanProperty;
            putfield io.ebeaninternal.server.deploy.BeanTable.idProperty:Lio/ebeaninternal/server/deploy/BeanProperty;
         5: .line 43
            return
        end local 2 // io.ebeaninternal.server.deploy.BeanDescriptorMap owner
        end local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanTable mutable
        end local 0 // io.ebeaninternal.server.deploy.BeanTable this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lio/ebeaninternal/server/deploy/BeanTable;
            0    6     1  mutable  Lio/ebeaninternal/server/deploy/meta/DeployBeanTable;
            0    6     2    owner  Lio/ebeaninternal/server/deploy/BeanDescriptorMap;
    MethodParameters:
         Name  Flags
      mutable  
      owner    

  public void <init>(io.ebeaninternal.server.deploy.BeanDescriptorMap, java.lang.String, java.lang.Class<?>);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanDescriptorMap;Ljava/lang/String;Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.BeanTable this
        start local 1 // io.ebeaninternal.server.deploy.BeanDescriptorMap owner
        start local 2 // java.lang.String tableName
        start local 3 // java.lang.Class beanType
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 49
            aload 0 /* this */
            aload 1 /* owner */
            putfield io.ebeaninternal.server.deploy.BeanTable.owner:Lio/ebeaninternal/server/deploy/BeanDescriptorMap;
         2: .line 50
            aload 0 /* this */
            aload 3 /* beanType */
            putfield io.ebeaninternal.server.deploy.BeanTable.beanType:Ljava/lang/Class;
         3: .line 51
            aload 0 /* this */
            aload 2 /* tableName */
            putfield io.ebeaninternal.server.deploy.BeanTable.baseTable:Ljava/lang/String;
         4: .line 52
            aload 0 /* this */
            aconst_null
            putfield io.ebeaninternal.server.deploy.BeanTable.idProperty:Lio/ebeaninternal/server/deploy/BeanProperty;
         5: .line 53
            return
        end local 3 // java.lang.Class beanType
        end local 2 // java.lang.String tableName
        end local 1 // io.ebeaninternal.server.deploy.BeanDescriptorMap owner
        end local 0 // io.ebeaninternal.server.deploy.BeanTable this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lio/ebeaninternal/server/deploy/BeanTable;
            0    6     1      owner  Lio/ebeaninternal/server/deploy/BeanDescriptorMap;
            0    6     2  tableName  Ljava/lang/String;
            0    6     3   beanType  Ljava/lang/Class<*>;
    Signature: (Lio/ebeaninternal/server/deploy/BeanDescriptorMap;Ljava/lang/String;Ljava/lang/Class<*>;)V
    MethodParameters:
           Name  Flags
      owner      
      tableName  
      beanType   

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanTable this
         0: .line 57
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanTable.baseTable:Ljava/lang/String;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanTable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanTable;

  public java.lang.String getBaseTable();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanTable this
         0: .line 66
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanTable.baseTable:Ljava/lang/String;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanTable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanTable;

  public java.lang.String getUnqualifiedBaseTable();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanTable this
         0: .line 75
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanTable.baseTable:Ljava/lang/String;
            ldc "\\."
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* chunks */
        start local 1 // java.lang.String[] chunks
         1: .line 76
            aload 1 /* chunks */
            arraylength
            iconst_2
            if_icmpne 2
            aload 1 /* chunks */
            iconst_1
            aaload
            goto 3
      StackMap locals: java.lang.String[]
      StackMap stack:
         2: aload 1 /* chunks */
            iconst_0
            aaload
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // java.lang.String[] chunks
        end local 0 // io.ebeaninternal.server.deploy.BeanTable this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lio/ebeaninternal/server/deploy/BeanTable;
            1    4     1  chunks  [Ljava/lang/String;

  public io.ebeaninternal.server.deploy.BeanProperty getIdProperty();
    descriptor: ()Lio/ebeaninternal/server/deploy/BeanProperty;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanTable this
         0: .line 83
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanTable.idProperty:Lio/ebeaninternal/server/deploy/BeanProperty;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanTable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanTable;

  public java.lang.Class<?> getBeanType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanTable this
         0: .line 90
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanTable.beanType:Ljava/lang/Class;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanTable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanTable;
    Signature: ()Ljava/lang/Class<*>;

  public void createJoinColumn(java.lang.String, io.ebeaninternal.server.deploy.meta.DeployTableJoin, boolean, java.lang.String);
    descriptor: (Ljava/lang/String;Lio/ebeaninternal/server/deploy/meta/DeployTableJoin;ZLjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=11, args_size=5
        start local 0 // io.ebeaninternal.server.deploy.BeanTable this
        start local 1 // java.lang.String foreignKeyPrefix
        start local 2 // io.ebeaninternal.server.deploy.meta.DeployTableJoin join
        start local 3 // boolean reverse
        start local 4 // java.lang.String sqlFormulaSelect
         0: .line 95
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanTable.idProperty:Lio/ebeaninternal/server/deploy/BeanProperty;
            ifnonnull 2
         1: .line 96
            return
         2: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanTable.idProperty:Lio/ebeaninternal/server/deploy/BeanProperty;
            instanceof io.ebeaninternal.server.deploy.BeanPropertyAssocOne
            ifeq 11
         3: .line 100
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanTable.idProperty:Lio/ebeaninternal/server/deploy/BeanProperty;
            checkcast io.ebeaninternal.server.deploy.BeanPropertyAssocOne
            astore 5 /* assocOne */
        start local 5 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne assocOne
         4: .line 101
            aload 5 /* assocOne */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocOne.getProperties:()[Lio/ebeaninternal/server/deploy/BeanProperty;
            astore 6 /* props */
        start local 6 // io.ebeaninternal.server.deploy.BeanProperty[] props
         5: .line 102
            aload 6 /* props */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 9
      StackMap locals: io.ebeaninternal.server.deploy.BeanTable java.lang.String io.ebeaninternal.server.deploy.meta.DeployTableJoin int java.lang.String io.ebeaninternal.server.deploy.BeanPropertyAssocOne io.ebeaninternal.server.deploy.BeanProperty[] top int int io.ebeaninternal.server.deploy.BeanProperty[]
      StackMap stack:
         6: aload 10
            iload 8
            aaload
            astore 7 /* prop */
        start local 7 // io.ebeaninternal.server.deploy.BeanProperty prop
         7: .line 103
            aload 0 /* this */
            aload 1 /* foreignKeyPrefix */
            aload 2 /* join */
            iload 3 /* reverse */
            aload 4 /* sqlFormulaSelect */
            iconst_1
            aload 7 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.BeanTable.addToJoin:(Ljava/lang/String;Lio/ebeaninternal/server/deploy/meta/DeployTableJoin;ZLjava/lang/String;ZLio/ebeaninternal/server/deploy/BeanProperty;)V
        end local 7 // io.ebeaninternal.server.deploy.BeanProperty prop
         8: .line 102
            iinc 8 1
      StackMap locals:
      StackMap stack:
         9: iload 8
            iload 9
            if_icmplt 6
        end local 6 // io.ebeaninternal.server.deploy.BeanProperty[] props
        end local 5 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne assocOne
        10: .line 105
            goto 12
        11: .line 106
      StackMap locals: io.ebeaninternal.server.deploy.BeanTable java.lang.String io.ebeaninternal.server.deploy.meta.DeployTableJoin int java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* foreignKeyPrefix */
            aload 2 /* join */
            iload 3 /* reverse */
            aload 4 /* sqlFormulaSelect */
            iconst_0
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanTable.idProperty:Lio/ebeaninternal/server/deploy/BeanProperty;
            invokevirtual io.ebeaninternal.server.deploy.BeanTable.addToJoin:(Ljava/lang/String;Lio/ebeaninternal/server/deploy/meta/DeployTableJoin;ZLjava/lang/String;ZLio/ebeaninternal/server/deploy/BeanProperty;)V
        12: .line 108
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String sqlFormulaSelect
        end local 3 // boolean reverse
        end local 2 // io.ebeaninternal.server.deploy.meta.DeployTableJoin join
        end local 1 // java.lang.String foreignKeyPrefix
        end local 0 // io.ebeaninternal.server.deploy.BeanTable this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Lio/ebeaninternal/server/deploy/BeanTable;
            0   13     1  foreignKeyPrefix  Ljava/lang/String;
            0   13     2              join  Lio/ebeaninternal/server/deploy/meta/DeployTableJoin;
            0   13     3           reverse  Z
            0   13     4  sqlFormulaSelect  Ljava/lang/String;
            4   10     5          assocOne  Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne<*>;
            5   10     6             props  [Lio/ebeaninternal/server/deploy/BeanProperty;
            7    8     7              prop  Lio/ebeaninternal/server/deploy/BeanProperty;
    MethodParameters:
                  Name  Flags
      foreignKeyPrefix  
      join              
      reverse           
      sqlFormulaSelect  

  private void addToJoin(java.lang.String, io.ebeaninternal.server.deploy.meta.DeployTableJoin, boolean, java.lang.String, boolean, io.ebeaninternal.server.deploy.BeanProperty);
    descriptor: (Ljava/lang/String;Lio/ebeaninternal/server/deploy/meta/DeployTableJoin;ZLjava/lang/String;ZLio/ebeaninternal/server/deploy/BeanProperty;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=7
        start local 0 // io.ebeaninternal.server.deploy.BeanTable this
        start local 1 // java.lang.String foreignKeyPrefix
        start local 2 // io.ebeaninternal.server.deploy.meta.DeployTableJoin join
        start local 3 // boolean reverse
        start local 4 // java.lang.String sqlFormulaSelect
        start local 5 // boolean complexKey
        start local 6 // io.ebeaninternal.server.deploy.BeanProperty prop
         0: .line 112
            aload 6 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.getDbColumn:()Ljava/lang/String;
            astore 7 /* lc */
        start local 7 // java.lang.String lc
         1: .line 113
            aload 7 /* lc */
            astore 8 /* fk */
        start local 8 // java.lang.String fk
         2: .line 114
            aload 1 /* foreignKeyPrefix */
            ifnull 4
         3: .line 115
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanTable.owner:Lio/ebeaninternal/server/deploy/BeanDescriptorMap;
            invokeinterface io.ebeaninternal.server.deploy.BeanDescriptorMap.getNamingConvention:()Lio/ebean/config/NamingConvention;
            aload 1 /* foreignKeyPrefix */
            aload 8 /* fk */
            invokeinterface io.ebean.config.NamingConvention.getForeignKey:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* fk */
         4: .line 118
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            iload 5 /* complexKey */
            ifeq 7
         5: .line 121
            getstatic io.ebeaninternal.server.deploy.BeanTable.logger:Lorg/slf4j/Logger;
            ldc "On table[{}] foreign key column [{}]"
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanTable.baseTable:Ljava/lang/String;
            aload 7 /* lc */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 122
            aload 7 /* lc */
            astore 8 /* fk */
         7: .line 124
      StackMap locals:
      StackMap stack:
            aload 4 /* sqlFormulaSelect */
            ifnull 9
         8: .line 125
            aload 4 /* sqlFormulaSelect */
            astore 8 /* fk */
         9: .line 128
      StackMap locals:
      StackMap stack:
            new io.ebeaninternal.server.deploy.meta.DeployTableJoinColumn
            dup
            aload 7 /* lc */
            aload 8 /* fk */
            invokespecial io.ebeaninternal.server.deploy.meta.DeployTableJoinColumn.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 9 /* joinCol */
        start local 9 // io.ebeaninternal.server.deploy.meta.DeployTableJoinColumn joinCol
        10: .line 129
            aload 9 /* joinCol */
            aload 4 /* sqlFormulaSelect */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployTableJoinColumn.setForeignSqlFormula:(Ljava/lang/String;)V
        11: .line 130
            iload 3 /* reverse */
            ifeq 13
        12: .line 131
            aload 9 /* joinCol */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployTableJoinColumn.reverse:()Lio/ebeaninternal/server/deploy/meta/DeployTableJoinColumn;
            astore 9 /* joinCol */
        13: .line 133
      StackMap locals: io.ebeaninternal.server.deploy.meta.DeployTableJoinColumn
      StackMap stack:
            aload 2 /* join */
            aload 9 /* joinCol */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployTableJoin.addJoinColumn:(Lio/ebeaninternal/server/deploy/meta/DeployTableJoinColumn;)V
        14: .line 134
            return
        end local 9 // io.ebeaninternal.server.deploy.meta.DeployTableJoinColumn joinCol
        end local 8 // java.lang.String fk
        end local 7 // java.lang.String lc
        end local 6 // io.ebeaninternal.server.deploy.BeanProperty prop
        end local 5 // boolean complexKey
        end local 4 // java.lang.String sqlFormulaSelect
        end local 3 // boolean reverse
        end local 2 // io.ebeaninternal.server.deploy.meta.DeployTableJoin join
        end local 1 // java.lang.String foreignKeyPrefix
        end local 0 // io.ebeaninternal.server.deploy.BeanTable this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0              this  Lio/ebeaninternal/server/deploy/BeanTable;
            0   15     1  foreignKeyPrefix  Ljava/lang/String;
            0   15     2              join  Lio/ebeaninternal/server/deploy/meta/DeployTableJoin;
            0   15     3           reverse  Z
            0   15     4  sqlFormulaSelect  Ljava/lang/String;
            0   15     5        complexKey  Z
            0   15     6              prop  Lio/ebeaninternal/server/deploy/BeanProperty;
            1   15     7                lc  Ljava/lang/String;
            2   15     8                fk  Ljava/lang/String;
           10   15     9           joinCol  Lio/ebeaninternal/server/deploy/meta/DeployTableJoinColumn;
    MethodParameters:
                  Name  Flags
      foreignKeyPrefix  
      join              
      reverse           
      sqlFormulaSelect  
      complexKey        
      prop              

  public java.lang.String getIdColumn();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanTable this
         0: .line 140
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanTable.idProperty:Lio/ebeaninternal/server/deploy/BeanProperty;
            getfield io.ebeaninternal.server.deploy.BeanProperty.dbColumn:Ljava/lang/String;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanTable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanTable;
}
SourceFile: "BeanTable.java"