public class io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum extends io.ebeaninternal.server.type.ScalarTypeEnumStandard$EnumBase implements io.ebeaninternal.server.type.ScalarTypeEnum
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum
  super_class: io.ebeaninternal.server.type.ScalarTypeEnumStandard$EnumBase
{
  private final int length;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum this
        start local 1 // java.lang.Class enumType
         0: .line 42
            aload 0 /* this */
            aload 1 /* enumType */
            iconst_0
            bipush 12
            invokespecial io.ebeaninternal.server.type.ScalarTypeEnumStandard$EnumBase.<init>:(Ljava/lang/Class;ZI)V
         1: .line 43
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* enumType */
            invokevirtual io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum.maxValueLength:(Ljava/lang/Class;)I
            putfield io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum.length:I
         2: .line 44
            return
        end local 1 // java.lang.Class enumType
        end local 0 // io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lio/ebeaninternal/server/type/ScalarTypeEnumStandard$StringEnum;
            0    3     1  enumType  Ljava/lang/Class;
    MethodParameters:
          Name  Flags
      enumType  

  public boolean isCompatible(javax.persistence.EnumType);
    descriptor: (Ljavax/persistence/EnumType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum this
        start local 1 // javax.persistence.EnumType enumType
         0: .line 48
            getstatic javax.persistence.EnumType.STRING:Ljavax/persistence/EnumType;
            aload 1 /* enumType */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // javax.persistence.EnumType enumType
        end local 0 // io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/ebeaninternal/server/type/ScalarTypeEnumStandard$StringEnum;
            0    2     1  enumType  Ljavax/persistence/EnumType;
    MethodParameters:
          Name  Flags
      enumType  

  public java.util.Set<java.lang.String> getDbCheckConstraintValues();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum this
         0: .line 56
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 1 /* values */
        start local 1 // java.util.LinkedHashSet values
         1: .line 57
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum.enumType:Ljava/lang/Class;
            invokevirtual java.lang.Class.getEnumConstants:()[Ljava/lang/Object;
            astore 2 /* ea */
        start local 2 // java.lang.Object[] ea
         2: .line 58
            aload 2 /* ea */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum java.util.LinkedHashSet java.lang.Object[] top int int java.lang.Object[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* anEa */
        start local 3 // java.lang.Object anEa
         4: .line 59
            aload 3 /* anEa */
            checkcast java.lang.Enum
            astore 7 /* e */
        start local 7 // java.lang.Enum e
         5: .line 60
            aload 1 /* values */
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* e */
            invokevirtual java.lang.Enum.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.Enum e
        end local 3 // java.lang.Object anEa
         6: .line 58
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 3
         8: .line 62
            aload 1 /* values */
            areturn
        end local 2 // java.lang.Object[] ea
        end local 1 // java.util.LinkedHashSet values
        end local 0 // io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lio/ebeaninternal/server/type/ScalarTypeEnumStandard$StringEnum;
            1    9     1  values  Ljava/util/LinkedHashSet<Ljava/lang/String;>;
            2    9     2      ea  [Ljava/lang/Object;
            4    6     3    anEa  Ljava/lang/Object;
            5    6     7       e  Ljava/lang/Enum<*>;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  private int maxValueLength(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=9, args_size=2
        start local 0 // io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum this
        start local 1 // java.lang.Class enumType
         0: .line 67
            iconst_0
            istore 2 /* maxLen */
        start local 2 // int maxLen
         1: .line 69
            aload 1 /* enumType */
            invokevirtual java.lang.Class.getEnumConstants:()[Ljava/lang/Object;
            astore 3 /* ea */
        start local 3 // java.lang.Object[] ea
         2: .line 70
            aload 3 /* ea */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 7
      StackMap locals: io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum java.lang.Class int java.lang.Object[] top int int java.lang.Object[]
      StackMap stack:
         3: aload 7
            iload 5
            aaload
            astore 4 /* anEa */
        start local 4 // java.lang.Object anEa
         4: .line 71
            aload 4 /* anEa */
            checkcast java.lang.Enum
            astore 8 /* e */
        start local 8 // java.lang.Enum e
         5: .line 72
            iload 2 /* maxLen */
            aload 8 /* e */
            invokevirtual java.lang.Enum.name:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Math.max:(II)I
            istore 2 /* maxLen */
        end local 8 // java.lang.Enum e
        end local 4 // java.lang.Object anEa
         6: .line 70
            iinc 5 1
      StackMap locals:
      StackMap stack:
         7: iload 5
            iload 6
            if_icmplt 3
         8: .line 75
            iload 2 /* maxLen */
            ireturn
        end local 3 // java.lang.Object[] ea
        end local 2 // int maxLen
        end local 1 // java.lang.Class enumType
        end local 0 // io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lio/ebeaninternal/server/type/ScalarTypeEnumStandard$StringEnum;
            0    9     1  enumType  Ljava/lang/Class<*>;
            1    9     2    maxLen  I
            2    9     3        ea  [Ljava/lang/Object;
            4    6     4      anEa  Ljava/lang/Object;
            5    6     8         e  Ljava/lang/Enum<*>;
    Signature: (Ljava/lang/Class<*>;)I
    MethodParameters:
          Name  Flags
      enumType  

  public int getLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum this
         0: .line 80
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum.length:I
            ireturn
        end local 0 // io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/type/ScalarTypeEnumStandard$StringEnum;

  public void bind(io.ebean.core.type.DataBinder, java.lang.Object);
    descriptor: (Lio/ebean/core/type/DataBinder;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum this
        start local 1 // io.ebean.core.type.DataBinder binder
        start local 2 // java.lang.Object value
         0: .line 85
            aload 2 /* value */
            ifnonnull 3
         1: .line 86
            aload 1 /* binder */
            bipush 12
            invokeinterface io.ebean.core.type.DataBinder.setNull:(I)V
         2: .line 87
            goto 4
         3: .line 88
      StackMap locals:
      StackMap stack:
            aload 1 /* binder */
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface io.ebean.core.type.DataBinder.setString:(Ljava/lang/String;)V
         4: .line 90
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object value
        end local 1 // io.ebean.core.type.DataBinder binder
        end local 0 // io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lio/ebeaninternal/server/type/ScalarTypeEnumStandard$StringEnum;
            0    5     1  binder  Lio/ebean/core/type/DataBinder;
            0    5     2   value  Ljava/lang/Object;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      binder  
      value   

  public java.lang.Object read(io.ebean.core.type.DataReader);
    descriptor: (Lio/ebean/core/type/DataReader;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum this
        start local 1 // io.ebean.core.type.DataReader reader
         0: .line 94
            aload 1 /* reader */
            invokeinterface io.ebean.core.type.DataReader.getString:()Ljava/lang/String;
            astore 2 /* string */
        start local 2 // java.lang.String string
         1: .line 95
            aload 2 /* string */
            ifnonnull 3
         2: .line 96
            aconst_null
            areturn
         3: .line 98
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 2 /* string */
            invokevirtual io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum.parse:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.String string
        end local 1 // io.ebean.core.type.DataReader reader
        end local 0 // io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lio/ebeaninternal/server/type/ScalarTypeEnumStandard$StringEnum;
            0    4     1  reader  Lio/ebean/core/type/DataReader;
            1    4     2  string  Ljava/lang/String;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      reader  

  public java.lang.Object toJdbcType(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum this
        start local 1 // java.lang.Object beanValue
         0: .line 107
            aload 1 /* beanValue */
            ifnonnull 2
         1: .line 108
            aconst_null
            areturn
         2: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* beanValue */
            invokevirtual io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum.format:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object beanValue
        end local 0 // io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lio/ebeaninternal/server/type/ScalarTypeEnumStandard$StringEnum;
            0    3     1  beanValue  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      beanValue  

  public java.lang.Object toBeanType(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum this
        start local 1 // java.lang.Object dbValue
         0: .line 115
            aload 1 /* dbValue */
            ifnull 1
            aload 1 /* dbValue */
            instanceof java.lang.Enum
            ifeq 2
         1: .line 116
      StackMap locals:
      StackMap stack:
            aload 1 /* dbValue */
            areturn
         2: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum.enumType:Ljava/lang/Class;
            aload 1 /* dbValue */
            checkcast java.lang.String
            invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
            areturn
        end local 1 // java.lang.Object dbValue
        end local 0 // io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/ebeaninternal/server/type/ScalarTypeEnumStandard$StringEnum;
            0    3     1  dbValue  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      dbValue  
}
SourceFile: "ScalarTypeEnumStandard.java"
NestHost: io.ebeaninternal.server.type.ScalarTypeEnumStandard
InnerClasses:
  public abstract EnumBase = io.ebeaninternal.server.type.ScalarTypeEnumStandard$EnumBase of io.ebeaninternal.server.type.ScalarTypeEnumStandard
  public StringEnum = io.ebeaninternal.server.type.ScalarTypeEnumStandard$StringEnum of io.ebeaninternal.server.type.ScalarTypeEnumStandard