public class io.ebeaninternal.server.type.DefaultTypeFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.ebeaninternal.server.type.DefaultTypeFactory
  super_class: java.lang.Object
{
  private final io.ebean.config.DatabaseConfig config;
    descriptor: Lio/ebean/config/DatabaseConfig;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(io.ebean.config.DatabaseConfig);
    descriptor: (Lio/ebean/config/DatabaseConfig;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeFactory this
        start local 1 // io.ebean.config.DatabaseConfig config
         0: .line 21
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 22
            aload 0 /* this */
            aload 1 /* config */
            putfield io.ebeaninternal.server.type.DefaultTypeFactory.config:Lio/ebean/config/DatabaseConfig;
         2: .line 23
            return
        end local 1 // io.ebean.config.DatabaseConfig config
        end local 0 // io.ebeaninternal.server.type.DefaultTypeFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lio/ebeaninternal/server/type/DefaultTypeFactory;
            0    3     1  config  Lio/ebean/config/DatabaseConfig;
    MethodParameters:
        Name  Flags
      config  

  protected io.ebeaninternal.server.type.ScalarTypeBool createBoolean(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lio/ebeaninternal/server/type/ScalarTypeBool;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // io.ebeaninternal.server.type.DefaultTypeFactory this
        start local 1 // java.lang.String trueValue
        start local 2 // java.lang.String falseValue
         0: .line 28
            aload 1 /* trueValue */
            invokestatic io.ebeaninternal.server.core.BasicTypeConverter.toInteger:(Ljava/lang/Object;)Ljava/lang/Integer;
            astore 3 /* intTrue */
        start local 3 // java.lang.Integer intTrue
         1: .line 29
            aload 2 /* falseValue */
            invokestatic io.ebeaninternal.server.core.BasicTypeConverter.toInteger:(Ljava/lang/Object;)Ljava/lang/Integer;
            astore 4 /* intFalse */
        start local 4 // java.lang.Integer intFalse
         2: .line 30
            new io.ebeaninternal.server.type.ScalarTypeBoolean$IntBoolean
            dup
            aload 3 /* intTrue */
            aload 4 /* intFalse */
            invokespecial io.ebeaninternal.server.type.ScalarTypeBoolean$IntBoolean.<init>:(Ljava/lang/Integer;Ljava/lang/Integer;)V
         3: areturn
        end local 4 // java.lang.Integer intFalse
        end local 3 // java.lang.Integer intTrue
         4: .line 31
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
         5: .line 33
            new io.ebeaninternal.server.type.ScalarTypeBoolean$StringBoolean
            dup
            aload 1 /* trueValue */
            aload 2 /* falseValue */
            invokespecial io.ebeaninternal.server.type.ScalarTypeBoolean$StringBoolean.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String falseValue
        end local 1 // java.lang.String trueValue
        end local 0 // io.ebeaninternal.server.type.DefaultTypeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lio/ebeaninternal/server/type/DefaultTypeFactory;
            0    6     1   trueValue  Ljava/lang/String;
            0    6     2  falseValue  Ljava/lang/String;
            1    4     3     intTrue  Ljava/lang/Integer;
            2    4     4    intFalse  Ljava/lang/Integer;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.NumberFormatException
    MethodParameters:
            Name  Flags
      trueValue   
      falseValue  

  public io.ebeaninternal.server.type.ScalarTypeBool createBoolean();
    descriptor: ()Lio/ebeaninternal/server/type/ScalarTypeBool;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // io.ebeaninternal.server.type.DefaultTypeFactory this
         0: .line 43
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeFactory.config:Lio/ebean/config/DatabaseConfig;
            ifnonnull 2
         1: .line 44
            new io.ebeaninternal.server.type.ScalarTypeBoolean$Native
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeBoolean$Native.<init>:()V
            areturn
         2: .line 46
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeFactory.config:Lio/ebean/config/DatabaseConfig;
            invokevirtual io.ebean.config.DatabaseConfig.getDatabaseBooleanTrue:()Ljava/lang/String;
            astore 1 /* trueValue */
        start local 1 // java.lang.String trueValue
         3: .line 47
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeFactory.config:Lio/ebean/config/DatabaseConfig;
            invokevirtual io.ebean.config.DatabaseConfig.getDatabaseBooleanFalse:()Ljava/lang/String;
            astore 2 /* falseValue */
        start local 2 // java.lang.String falseValue
         4: .line 48
            aload 2 /* falseValue */
            ifnull 6
            aload 1 /* trueValue */
            ifnull 6
         5: .line 50
            aload 0 /* this */
            aload 1 /* trueValue */
            aload 2 /* falseValue */
            invokevirtual io.ebeaninternal.server.type.DefaultTypeFactory.createBoolean:(Ljava/lang/String;Ljava/lang/String;)Lio/ebeaninternal/server/type/ScalarTypeBool;
            areturn
         6: .line 53
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.DefaultTypeFactory.config:Lio/ebean/config/DatabaseConfig;
            invokevirtual io.ebean.config.DatabaseConfig.getDatabasePlatform:()Lio/ebean/config/dbplatform/DatabasePlatform;
            invokevirtual io.ebean.config.dbplatform.DatabasePlatform.getBooleanDbType:()I
            istore 3 /* booleanDbType */
        start local 3 // int booleanDbType
         7: .line 54
            iload 3 /* booleanDbType */
            bipush -7
            if_icmpne 9
         8: .line 55
            new io.ebeaninternal.server.type.ScalarTypeBoolean$BitBoolean
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeBoolean$BitBoolean.<init>:()V
            areturn
         9: .line 57
      StackMap locals: int
      StackMap stack:
            iload 3 /* booleanDbType */
            iconst_4
            if_icmpne 11
        10: .line 58
            new io.ebeaninternal.server.type.ScalarTypeBoolean$IntBoolean
            dup
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial io.ebeaninternal.server.type.ScalarTypeBoolean$IntBoolean.<init>:(Ljava/lang/Integer;Ljava/lang/Integer;)V
            areturn
        11: .line 60
      StackMap locals:
      StackMap stack:
            iload 3 /* booleanDbType */
            bipush 12
            if_icmpne 13
        12: .line 61
            new io.ebeaninternal.server.type.ScalarTypeBoolean$StringBoolean
            dup
            ldc "T"
            ldc "F"
            invokespecial io.ebeaninternal.server.type.ScalarTypeBoolean$StringBoolean.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
        13: .line 63
      StackMap locals:
      StackMap stack:
            new io.ebeaninternal.server.type.ScalarTypeBoolean$Native
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeBoolean$Native.<init>:()V
            areturn
        end local 3 // int booleanDbType
        end local 2 // java.lang.String falseValue
        end local 1 // java.lang.String trueValue
        end local 0 // io.ebeaninternal.server.type.DefaultTypeFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lio/ebeaninternal/server/type/DefaultTypeFactory;
            3   14     1      trueValue  Ljava/lang/String;
            4   14     2     falseValue  Ljava/lang/String;
            7   14     3  booleanDbType  I

  public io.ebean.core.type.ScalarType<java.util.Date> createUtilDate(io.ebean.config.JsonConfig$DateTime, io.ebean.config.JsonConfig$Date);
    descriptor: (Lio/ebean/config/JsonConfig$DateTime;Lio/ebean/config/JsonConfig$Date;)Lio/ebean/core/type/ScalarType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.type.DefaultTypeFactory this
        start local 1 // io.ebean.config.JsonConfig$DateTime mode
        start local 2 // io.ebean.config.JsonConfig$Date jsonDate
         0: .line 71
            aload 0 /* this */
            aload 1 /* mode */
            aload 2 /* jsonDate */
            bipush 93
            invokevirtual io.ebeaninternal.server.type.DefaultTypeFactory.createUtilDate:(Lio/ebean/config/JsonConfig$DateTime;Lio/ebean/config/JsonConfig$Date;I)Lio/ebean/core/type/ScalarType;
            areturn
        end local 2 // io.ebean.config.JsonConfig$Date jsonDate
        end local 1 // io.ebean.config.JsonConfig$DateTime mode
        end local 0 // io.ebeaninternal.server.type.DefaultTypeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/ebeaninternal/server/type/DefaultTypeFactory;
            0    1     1      mode  Lio/ebean/config/JsonConfig$DateTime;
            0    1     2  jsonDate  Lio/ebean/config/JsonConfig$Date;
    Signature: (Lio/ebean/config/JsonConfig$DateTime;Lio/ebean/config/JsonConfig$Date;)Lio/ebean/core/type/ScalarType<Ljava/util/Date;>;
    MethodParameters:
          Name  Flags
      mode      
      jsonDate  

  public io.ebean.core.type.ScalarType<java.util.Date> createUtilDate(io.ebean.config.JsonConfig$DateTime, io.ebean.config.JsonConfig$Date, int);
    descriptor: (Lio/ebean/config/JsonConfig$DateTime;Lio/ebean/config/JsonConfig$Date;I)Lio/ebean/core/type/ScalarType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.ebeaninternal.server.type.DefaultTypeFactory this
        start local 1 // io.ebean.config.JsonConfig$DateTime jsonDateTime
        start local 2 // io.ebean.config.JsonConfig$Date jsonDate
        start local 3 // int utilDateType
         0: .line 79
            iload 3 /* utilDateType */
            tableswitch { // 91 - 93
                   91: 1
                   92: 3
                   93: 2
              default: 3
          }
         1: .line 81
      StackMap locals:
      StackMap stack:
            new io.ebeaninternal.server.type.ScalarTypeUtilDate$DateType
            dup
            aload 2 /* jsonDate */
            invokespecial io.ebeaninternal.server.type.ScalarTypeUtilDate$DateType.<init>:(Lio/ebean/config/JsonConfig$Date;)V
            areturn
         2: .line 83
      StackMap locals:
      StackMap stack:
            new io.ebeaninternal.server.type.ScalarTypeUtilDate$TimestampType
            dup
            aload 1 /* jsonDateTime */
            invokespecial io.ebeaninternal.server.type.ScalarTypeUtilDate$TimestampType.<init>:(Lio/ebean/config/JsonConfig$DateTime;)V
            areturn
         3: .line 85
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* utilDateType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int utilDateType
        end local 2 // io.ebean.config.JsonConfig$Date jsonDate
        end local 1 // io.ebean.config.JsonConfig$DateTime jsonDateTime
        end local 0 // io.ebeaninternal.server.type.DefaultTypeFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lio/ebeaninternal/server/type/DefaultTypeFactory;
            0    4     1  jsonDateTime  Lio/ebean/config/JsonConfig$DateTime;
            0    4     2      jsonDate  Lio/ebean/config/JsonConfig$Date;
            0    4     3  utilDateType  I
    Signature: (Lio/ebean/config/JsonConfig$DateTime;Lio/ebean/config/JsonConfig$Date;I)Lio/ebean/core/type/ScalarType<Ljava/util/Date;>;
    MethodParameters:
              Name  Flags
      jsonDateTime  
      jsonDate      
      utilDateType  

  public io.ebean.core.type.ScalarType<java.util.Calendar> createCalendar(io.ebean.config.JsonConfig$DateTime);
    descriptor: (Lio/ebean/config/JsonConfig$DateTime;)Lio/ebean/core/type/ScalarType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.DefaultTypeFactory this
        start local 1 // io.ebean.config.JsonConfig$DateTime mode
         0: .line 93
            aload 0 /* this */
            aload 1 /* mode */
            bipush 93
            invokevirtual io.ebeaninternal.server.type.DefaultTypeFactory.createCalendar:(Lio/ebean/config/JsonConfig$DateTime;I)Lio/ebean/core/type/ScalarType;
            areturn
        end local 1 // io.ebean.config.JsonConfig$DateTime mode
        end local 0 // io.ebeaninternal.server.type.DefaultTypeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/type/DefaultTypeFactory;
            0    1     1  mode  Lio/ebean/config/JsonConfig$DateTime;
    Signature: (Lio/ebean/config/JsonConfig$DateTime;)Lio/ebean/core/type/ScalarType<Ljava/util/Calendar;>;
    MethodParameters:
      Name  Flags
      mode  

  public io.ebean.core.type.ScalarType<java.util.Calendar> createCalendar(io.ebean.config.JsonConfig$DateTime, int);
    descriptor: (Lio/ebean/config/JsonConfig$DateTime;I)Lio/ebean/core/type/ScalarType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.type.DefaultTypeFactory this
        start local 1 // io.ebean.config.JsonConfig$DateTime mode
        start local 2 // int jdbcType
         0: .line 101
            new io.ebeaninternal.server.type.ScalarTypeCalendar
            dup
            aload 1 /* mode */
            iload 2 /* jdbcType */
            invokespecial io.ebeaninternal.server.type.ScalarTypeCalendar.<init>:(Lio/ebean/config/JsonConfig$DateTime;I)V
            areturn
        end local 2 // int jdbcType
        end local 1 // io.ebean.config.JsonConfig$DateTime mode
        end local 0 // io.ebeaninternal.server.type.DefaultTypeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/ebeaninternal/server/type/DefaultTypeFactory;
            0    1     1      mode  Lio/ebean/config/JsonConfig$DateTime;
            0    1     2  jdbcType  I
    Signature: (Lio/ebean/config/JsonConfig$DateTime;I)Lio/ebean/core/type/ScalarType<Ljava/util/Calendar;>;
    MethodParameters:
          Name  Flags
      mode      
      jdbcType  

  public io.ebean.core.type.ScalarType<java.math.BigInteger> createMathBigInteger();
    descriptor: ()Lio/ebean/core/type/ScalarType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.type.DefaultTypeFactory this
         0: .line 108
            new io.ebeaninternal.server.type.ScalarTypeMathBigInteger
            dup
            invokespecial io.ebeaninternal.server.type.ScalarTypeMathBigInteger.<init>:()V
            areturn
        end local 0 // io.ebeaninternal.server.type.DefaultTypeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/type/DefaultTypeFactory;
    Signature: ()Lio/ebean/core/type/ScalarType<Ljava/math/BigInteger;>;
}
SourceFile: "DefaultTypeFactory.java"
InnerClasses:
  public final Date = io.ebean.config.JsonConfig$Date of io.ebean.config.JsonConfig
  public final DateTime = io.ebean.config.JsonConfig$DateTime of io.ebean.config.JsonConfig
  BitBoolean = io.ebeaninternal.server.type.ScalarTypeBoolean$BitBoolean of io.ebeaninternal.server.type.ScalarTypeBoolean
  IntBoolean = io.ebeaninternal.server.type.ScalarTypeBoolean$IntBoolean of io.ebeaninternal.server.type.ScalarTypeBoolean
  public Native = io.ebeaninternal.server.type.ScalarTypeBoolean$Native of io.ebeaninternal.server.type.ScalarTypeBoolean
  StringBoolean = io.ebeaninternal.server.type.ScalarTypeBoolean$StringBoolean of io.ebeaninternal.server.type.ScalarTypeBoolean
  public DateType = io.ebeaninternal.server.type.ScalarTypeUtilDate$DateType of io.ebeaninternal.server.type.ScalarTypeUtilDate
  public TimestampType = io.ebeaninternal.server.type.ScalarTypeUtilDate$TimestampType of io.ebeaninternal.server.type.ScalarTypeUtilDate