class io.ebeaninternal.server.deploy.BeanEmbeddedMetaFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.ebeaninternal.server.deploy.BeanEmbeddedMetaFactory
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanEmbeddedMetaFactory this
         0: .line 13
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.ebeaninternal.server.deploy.BeanEmbeddedMetaFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanEmbeddedMetaFactory;

  public static io.ebeaninternal.server.deploy.BeanEmbeddedMeta create(io.ebeaninternal.server.deploy.BeanDescriptorMap, io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocOne<?>);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanDescriptorMap;Lio/ebeaninternal/server/deploy/meta/DeployBeanPropertyAssocOne;)Lio/ebeaninternal/server/deploy/BeanEmbeddedMeta;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=16, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptorMap owner
        start local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocOne prop
         0: .line 22
            aload 0 /* owner */
            aload 1 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocOne.getTargetType:()Ljava/lang/Class;
            invokeinterface io.ebeaninternal.server.deploy.BeanDescriptorMap.getBeanDescriptor:(Ljava/lang/Class;)Lio/ebeaninternal/server/deploy/BeanDescriptor;
            astore 2 /* targetDesc */
        start local 2 // io.ebeaninternal.server.deploy.BeanDescriptor targetDesc
         1: .line 23
            aload 2 /* targetDesc */
            ifnonnull 6
         2: .line 24
            new java.lang.StringBuilder
            dup
            ldc "Could not find BeanDescriptor for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocOne.getTargetType:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         3: .line 25
            ldc ". Perhaps the EmbeddedId class is not registered? See https://ebean.io/docs/trouble-shooting#not-registered"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 24
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* msg */
        start local 3 // java.lang.String msg
         5: .line 26
            new io.ebean.config.BeanNotRegisteredException
            dup
            aload 3 /* msg */
            invokespecial io.ebean.config.BeanNotRegisteredException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String msg
         6: .line 30
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptor
      StackMap stack:
            aload 1 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocOne.getColumnPrefix:()Ljava/lang/String;
            astore 3 /* columnPrefix */
        start local 3 // java.lang.String columnPrefix
         7: .line 31
            aload 1 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocOne.getDeployEmbedded:()Lio/ebeaninternal/server/deploy/meta/DeployBeanEmbedded;
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanEmbedded.getPropertyColumnMap:()Ljava/util/Map;
            astore 4 /* propColMap */
        start local 4 // java.util.Map propColMap
         8: .line 33
            aload 2 /* targetDesc */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.propertiesNonTransient:()[Lio/ebeaninternal/server/deploy/BeanProperty;
            astore 5 /* sourceProperties */
        start local 5 // io.ebeaninternal.server.deploy.BeanProperty[] sourceProperties
         9: .line 34
            aload 5 /* sourceProperties */
            arraylength
            anewarray io.ebeaninternal.server.deploy.BeanProperty
            astore 6 /* embeddedProperties */
        start local 6 // io.ebeaninternal.server.deploy.BeanProperty[] embeddedProperties
        10: .line 36
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        11: goto 25
        12: .line 37
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorMap io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocOne io.ebeaninternal.server.deploy.BeanDescriptor java.lang.String java.util.Map io.ebeaninternal.server.deploy.BeanProperty[] io.ebeaninternal.server.deploy.BeanProperty[] int
      StackMap stack:
            aload 5 /* sourceProperties */
            iload 7 /* i */
            aaload
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.getName:()Ljava/lang/String;
            astore 8 /* propertyName */
        start local 8 // java.lang.String propertyName
        13: .line 38
            aload 4 /* propColMap */
            aload 8 /* propertyName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.persistence.Column
            astore 9 /* column */
        start local 9 // javax.persistence.Column column
        14: .line 39
            aload 3 /* columnPrefix */
            aload 9 /* column */
            aload 5 /* sourceProperties */
            iload 7 /* i */
            aaload
            invokestatic io.ebeaninternal.server.deploy.BeanEmbeddedMetaFactory.dbColumn:(Ljava/lang/String;Ljavax/persistence/Column;Lio/ebeaninternal/server/deploy/BeanProperty;)Ljava/lang/String;
            astore 10 /* dbColumn */
        start local 10 // java.lang.String dbColumn
        15: .line 40
            aload 9 /* column */
            aload 5 /* sourceProperties */
            iload 7 /* i */
            aaload
            invokestatic io.ebeaninternal.server.deploy.BeanEmbeddedMetaFactory.dbNullable:(Ljavax/persistence/Column;Lio/ebeaninternal/server/deploy/BeanProperty;)Z
            istore 11 /* dbNullable */
        start local 11 // boolean dbNullable
        16: .line 41
            aload 9 /* column */
            aload 5 /* sourceProperties */
            iload 7 /* i */
            aaload
            invokestatic io.ebeaninternal.server.deploy.BeanEmbeddedMetaFactory.dbLength:(Ljavax/persistence/Column;Lio/ebeaninternal/server/deploy/BeanProperty;)I
            istore 12 /* dbLength */
        start local 12 // int dbLength
        17: .line 42
            aload 9 /* column */
            aload 5 /* sourceProperties */
            iload 7 /* i */
            aaload
            invokestatic io.ebeaninternal.server.deploy.BeanEmbeddedMetaFactory.dbScale:(Ljavax/persistence/Column;Lio/ebeaninternal/server/deploy/BeanProperty;)I
            istore 13 /* dbScale */
        start local 13 // int dbScale
        18: .line 43
            aload 9 /* column */
            aload 5 /* sourceProperties */
            iload 7 /* i */
            aaload
            invokestatic io.ebeaninternal.server.deploy.BeanEmbeddedMetaFactory.getDbColumnDefn:(Ljavax/persistence/Column;Lio/ebeaninternal/server/deploy/BeanProperty;)Ljava/lang/String;
            astore 14 /* colDefn */
        start local 14 // java.lang.String colDefn
        19: .line 44
            new io.ebeaninternal.server.deploy.BeanPropertyOverride
            dup
            aload 10 /* dbColumn */
            iload 11 /* dbNullable */
            iload 12 /* dbLength */
            iload 13 /* dbScale */
            aload 14 /* colDefn */
            invokespecial io.ebeaninternal.server.deploy.BeanPropertyOverride.<init>:(Ljava/lang/String;ZIILjava/lang/String;)V
            astore 15 /* overrides */
        start local 15 // io.ebeaninternal.server.deploy.BeanPropertyOverride overrides
        20: .line 45
            aload 5 /* sourceProperties */
            iload 7 /* i */
            aaload
            instanceof io.ebeaninternal.server.deploy.BeanPropertyAssocOne
            ifeq 23
        21: .line 46
            aload 6 /* embeddedProperties */
            iload 7 /* i */
            new io.ebeaninternal.server.deploy.BeanPropertyAssocOne
            dup
            aload 5 /* sourceProperties */
            iload 7 /* i */
            aaload
            checkcast io.ebeaninternal.server.deploy.BeanPropertyAssocOne
            aload 15 /* overrides */
            invokespecial io.ebeaninternal.server.deploy.BeanPropertyAssocOne.<init>:(Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;Lio/ebeaninternal/server/deploy/BeanPropertyOverride;)V
            aastore
        22: .line 47
            goto 24
        23: .line 48
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorMap io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocOne io.ebeaninternal.server.deploy.BeanDescriptor java.lang.String java.util.Map io.ebeaninternal.server.deploy.BeanProperty[] io.ebeaninternal.server.deploy.BeanProperty[] int java.lang.String javax.persistence.Column java.lang.String int int int java.lang.String io.ebeaninternal.server.deploy.BeanPropertyOverride
      StackMap stack:
            aload 6 /* embeddedProperties */
            iload 7 /* i */
            new io.ebeaninternal.server.deploy.BeanProperty
            dup
            aload 5 /* sourceProperties */
            iload 7 /* i */
            aaload
            aload 15 /* overrides */
            invokespecial io.ebeaninternal.server.deploy.BeanProperty.<init>:(Lio/ebeaninternal/server/deploy/BeanProperty;Lio/ebeaninternal/server/deploy/BeanPropertyOverride;)V
            aastore
        end local 15 // io.ebeaninternal.server.deploy.BeanPropertyOverride overrides
        end local 14 // java.lang.String colDefn
        end local 13 // int dbScale
        end local 12 // int dbLength
        end local 11 // boolean dbNullable
        end local 10 // java.lang.String dbColumn
        end local 9 // javax.persistence.Column column
        end local 8 // java.lang.String propertyName
        24: .line 36
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptorMap io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocOne io.ebeaninternal.server.deploy.BeanDescriptor java.lang.String java.util.Map io.ebeaninternal.server.deploy.BeanProperty[] io.ebeaninternal.server.deploy.BeanProperty[] int
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 7 /* i */
            aload 5 /* sourceProperties */
            arraylength
            if_icmplt 12
        end local 7 // int i
        26: .line 52
            new io.ebeaninternal.server.deploy.BeanEmbeddedMeta
            dup
            aload 6 /* embeddedProperties */
            invokespecial io.ebeaninternal.server.deploy.BeanEmbeddedMeta.<init>:([Lio/ebeaninternal/server/deploy/BeanProperty;)V
            areturn
        end local 6 // io.ebeaninternal.server.deploy.BeanProperty[] embeddedProperties
        end local 5 // io.ebeaninternal.server.deploy.BeanProperty[] sourceProperties
        end local 4 // java.util.Map propColMap
        end local 3 // java.lang.String columnPrefix
        end local 2 // io.ebeaninternal.server.deploy.BeanDescriptor targetDesc
        end local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocOne prop
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptorMap owner
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   27     0               owner  Lio/ebeaninternal/server/deploy/BeanDescriptorMap;
            0   27     1                prop  Lio/ebeaninternal/server/deploy/meta/DeployBeanPropertyAssocOne<*>;
            1   27     2          targetDesc  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
            5    6     3                 msg  Ljava/lang/String;
            7   27     3        columnPrefix  Ljava/lang/String;
            8   27     4          propColMap  Ljava/util/Map<Ljava/lang/String;Ljavax/persistence/Column;>;
            9   27     5    sourceProperties  [Lio/ebeaninternal/server/deploy/BeanProperty;
           10   27     6  embeddedProperties  [Lio/ebeaninternal/server/deploy/BeanProperty;
           11   26     7                   i  I
           13   24     8        propertyName  Ljava/lang/String;
           14   24     9              column  Ljavax/persistence/Column;
           15   24    10            dbColumn  Ljava/lang/String;
           16   24    11          dbNullable  Z
           17   24    12            dbLength  I
           18   24    13             dbScale  I
           19   24    14             colDefn  Ljava/lang/String;
           20   24    15           overrides  Lio/ebeaninternal/server/deploy/BeanPropertyOverride;
    Signature: (Lio/ebeaninternal/server/deploy/BeanDescriptorMap;Lio/ebeaninternal/server/deploy/meta/DeployBeanPropertyAssocOne<*>;)Lio/ebeaninternal/server/deploy/BeanEmbeddedMeta;
    MethodParameters:
       Name  Flags
      owner  
      prop   

  private static java.lang.String dbColumn(java.lang.String, javax.persistence.Column, io.ebeaninternal.server.deploy.BeanProperty);
    descriptor: (Ljava/lang/String;Ljavax/persistence/Column;Lio/ebeaninternal/server/deploy/BeanProperty;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.String prefix
        start local 1 // javax.persistence.Column override
        start local 2 // io.ebeaninternal.server.deploy.BeanProperty source
         0: .line 56
            aload 1 /* override */
            ifnull 1
            aload 1 /* override */
            invokeinterface javax.persistence.Column.name:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 1
            aload 1 /* override */
            invokeinterface javax.persistence.Column.name:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 2 /* source */
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.getDbColumn:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 3 /* dbCol */
        start local 3 // java.lang.String dbCol
         3: .line 57
            aload 0 /* prefix */
            ifnonnull 4
            aload 3 /* dbCol */
            goto 5
      StackMap locals: java.lang.String
      StackMap stack:
         4: new java.lang.StringBuilder
            dup
            aload 0 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* dbCol */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         5: areturn
        end local 3 // java.lang.String dbCol
        end local 2 // io.ebeaninternal.server.deploy.BeanProperty source
        end local 1 // javax.persistence.Column override
        end local 0 // java.lang.String prefix
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0    prefix  Ljava/lang/String;
            0    6     1  override  Ljavax/persistence/Column;
            0    6     2    source  Lio/ebeaninternal/server/deploy/BeanProperty;
            3    6     3     dbCol  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      prefix    
      override  
      source    

  private static boolean dbNullable(javax.persistence.Column, io.ebeaninternal.server.deploy.BeanProperty);
    descriptor: (Ljavax/persistence/Column;Lio/ebeaninternal/server/deploy/BeanProperty;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.persistence.Column override
        start local 1 // io.ebeaninternal.server.deploy.BeanProperty source
         0: .line 61
            aload 0 /* override */
            ifnull 1
            aload 0 /* override */
            invokeinterface javax.persistence.Column.nullable:()Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* source */
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.isNullable:()Z
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // io.ebeaninternal.server.deploy.BeanProperty source
        end local 0 // javax.persistence.Column override
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  override  Ljavax/persistence/Column;
            0    3     1    source  Lio/ebeaninternal/server/deploy/BeanProperty;
    MethodParameters:
          Name  Flags
      override  
      source    

  private static int dbLength(javax.persistence.Column, io.ebeaninternal.server.deploy.BeanProperty);
    descriptor: (Ljavax/persistence/Column;Lio/ebeaninternal/server/deploy/BeanProperty;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.persistence.Column override
        start local 1 // io.ebeaninternal.server.deploy.BeanProperty source
         0: .line 65
            aload 0 /* override */
            ifnull 1
            aload 0 /* override */
            invokeinterface javax.persistence.Column.length:()I
            sipush 255
            if_icmpeq 1
            aload 0 /* override */
            invokeinterface javax.persistence.Column.length:()I
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* source */
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.getDbLength:()I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // io.ebeaninternal.server.deploy.BeanProperty source
        end local 0 // javax.persistence.Column override
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  override  Ljavax/persistence/Column;
            0    3     1    source  Lio/ebeaninternal/server/deploy/BeanProperty;
    MethodParameters:
          Name  Flags
      override  
      source    

  private static int dbScale(javax.persistence.Column, io.ebeaninternal.server.deploy.BeanProperty);
    descriptor: (Ljavax/persistence/Column;Lio/ebeaninternal/server/deploy/BeanProperty;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.persistence.Column override
        start local 1 // io.ebeaninternal.server.deploy.BeanProperty source
         0: .line 69
            aload 0 /* override */
            ifnull 1
            aload 0 /* override */
            invokeinterface javax.persistence.Column.scale:()I
            ifeq 1
            aload 0 /* override */
            invokeinterface javax.persistence.Column.scale:()I
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* source */
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.getDbScale:()I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // io.ebeaninternal.server.deploy.BeanProperty source
        end local 0 // javax.persistence.Column override
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  override  Ljavax/persistence/Column;
            0    3     1    source  Lio/ebeaninternal/server/deploy/BeanProperty;
    MethodParameters:
          Name  Flags
      override  
      source    

  private static java.lang.String getDbColumnDefn(javax.persistence.Column, io.ebeaninternal.server.deploy.BeanProperty);
    descriptor: (Ljavax/persistence/Column;Lio/ebeaninternal/server/deploy/BeanProperty;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.persistence.Column override
        start local 1 // io.ebeaninternal.server.deploy.BeanProperty source
         0: .line 73
            aload 0 /* override */
            ifnull 1
            aload 0 /* override */
            invokeinterface javax.persistence.Column.columnDefinition:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 1
            aload 0 /* override */
            invokeinterface javax.persistence.Column.columnDefinition:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* source */
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.getDbColumnDefn:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 1 // io.ebeaninternal.server.deploy.BeanProperty source
        end local 0 // javax.persistence.Column override
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  override  Ljavax/persistence/Column;
            0    3     1    source  Lio/ebeaninternal/server/deploy/BeanProperty;
    MethodParameters:
          Name  Flags
      override  
      source    
}
SourceFile: "BeanEmbeddedMetaFactory.java"