class org.hibernate.cfg.Ejb3JoinColumn$1 implements org.hibernate.boot.model.naming.ImplicitJoinColumnNameSource
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.hibernate.cfg.Ejb3JoinColumn$1
  super_class: java.lang.Object
{
  private final org.hibernate.boot.model.naming.EntityNaming entityNaming;
    descriptor: Lorg/hibernate/boot/model/naming/EntityNaming;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.boot.model.naming.Identifier referencedTableName;
    descriptor: Lorg/hibernate/boot/model/naming/Identifier;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final org.hibernate.cfg.Ejb3JoinColumn this$0;
    descriptor: Lorg/hibernate/cfg/Ejb3JoinColumn;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final org.hibernate.boot.model.naming.ImplicitJoinColumnNameSource$Nature val$implicitNamingNature;
    descriptor: Lorg/hibernate/boot/model/naming/ImplicitJoinColumnNameSource$Nature;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final org.hibernate.boot.model.source.spi.AttributePath val$attributePath;
    descriptor: Lorg/hibernate/boot/model/source/spi/AttributePath;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final java.lang.String val$logicalReferencedColumn;
    descriptor: Ljava/lang/String;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.hibernate.cfg.Ejb3JoinColumn, org.hibernate.boot.model.naming.ImplicitJoinColumnNameSource$Nature, org.hibernate.boot.model.source.spi.AttributePath, java.lang.String, org.hibernate.mapping.PersistentClass);
    descriptor: (Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/boot/model/naming/ImplicitJoinColumnNameSource$Nature;Lorg/hibernate/boot/model/source/spi/AttributePath;Ljava/lang/String;Lorg/hibernate/mapping/PersistentClass;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.hibernate.cfg.Ejb3JoinColumn$1 this
         0: .line 525
            aload 0 /* this */
            aload 1
            putfield org.hibernate.cfg.Ejb3JoinColumn$1.this$0:Lorg/hibernate/cfg/Ejb3JoinColumn;
            aload 0 /* this */
            aload 2
            putfield org.hibernate.cfg.Ejb3JoinColumn$1.val$implicitNamingNature:Lorg/hibernate/boot/model/naming/ImplicitJoinColumnNameSource$Nature;
            aload 0 /* this */
            aload 3
            putfield org.hibernate.cfg.Ejb3JoinColumn$1.val$attributePath:Lorg/hibernate/boot/model/source/spi/AttributePath;
            aload 0 /* this */
            aload 4
            putfield org.hibernate.cfg.Ejb3JoinColumn$1.val$logicalReferencedColumn:Ljava/lang/String;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 526
            aload 0 /* this */
            new org.hibernate.cfg.Ejb3JoinColumn$1$1
            dup
            aload 0 /* this */
            aload 5
            invokespecial org.hibernate.cfg.Ejb3JoinColumn$1$1.<init>:(Lorg/hibernate/cfg/Ejb3JoinColumn$1;Lorg/hibernate/mapping/PersistentClass;)V
            putfield org.hibernate.cfg.Ejb3JoinColumn$1.entityNaming:Lorg/hibernate/boot/model/naming/EntityNaming;
         2: .line 543
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn$1.getBuildingContext:()Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
         3: .line 544
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getDatabase:()Lorg/hibernate/boot/model/relational/Database;
         4: .line 545
            aload 1
            getfield org.hibernate.cfg.Ejb3JoinColumn.mappedByTableName:Ljava/lang/String;
            invokevirtual org.hibernate.boot.model.relational.Database.toIdentifier:(Ljava/lang/String;)Lorg/hibernate/boot/model/naming/Identifier;
            putfield org.hibernate.cfg.Ejb3JoinColumn$1.referencedTableName:Lorg/hibernate/boot/model/naming/Identifier;
         5: .line 525
            return
        end local 0 // org.hibernate.cfg.Ejb3JoinColumn$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/hibernate/cfg/Ejb3JoinColumn$1;
    MethodParameters:
                             Name  Flags
      this$0                       final
      val$implicitNamingNature     final
      val$attributePath            final
      val$logicalReferencedColumn  final
      val$referencedEntity         final

  public org.hibernate.boot.model.naming.ImplicitJoinColumnNameSource$Nature getNature();
    descriptor: ()Lorg/hibernate/boot/model/naming/ImplicitJoinColumnNameSource$Nature;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.Ejb3JoinColumn$1 this
         0: .line 549
            aload 0 /* this */
            getfield org.hibernate.cfg.Ejb3JoinColumn$1.val$implicitNamingNature:Lorg/hibernate/boot/model/naming/ImplicitJoinColumnNameSource$Nature;
            areturn
        end local 0 // org.hibernate.cfg.Ejb3JoinColumn$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/cfg/Ejb3JoinColumn$1;

  public org.hibernate.boot.model.naming.EntityNaming getEntityNaming();
    descriptor: ()Lorg/hibernate/boot/model/naming/EntityNaming;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.Ejb3JoinColumn$1 this
         0: .line 554
            aload 0 /* this */
            getfield org.hibernate.cfg.Ejb3JoinColumn$1.entityNaming:Lorg/hibernate/boot/model/naming/EntityNaming;
            areturn
        end local 0 // org.hibernate.cfg.Ejb3JoinColumn$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/cfg/Ejb3JoinColumn$1;

  public org.hibernate.boot.model.source.spi.AttributePath getAttributePath();
    descriptor: ()Lorg/hibernate/boot/model/source/spi/AttributePath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.Ejb3JoinColumn$1 this
         0: .line 559
            aload 0 /* this */
            getfield org.hibernate.cfg.Ejb3JoinColumn$1.val$attributePath:Lorg/hibernate/boot/model/source/spi/AttributePath;
            areturn
        end local 0 // org.hibernate.cfg.Ejb3JoinColumn$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/cfg/Ejb3JoinColumn$1;

  public org.hibernate.boot.model.naming.Identifier getReferencedTableName();
    descriptor: ()Lorg/hibernate/boot/model/naming/Identifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.Ejb3JoinColumn$1 this
         0: .line 564
            aload 0 /* this */
            getfield org.hibernate.cfg.Ejb3JoinColumn$1.referencedTableName:Lorg/hibernate/boot/model/naming/Identifier;
            areturn
        end local 0 // org.hibernate.cfg.Ejb3JoinColumn$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/cfg/Ejb3JoinColumn$1;

  public org.hibernate.boot.model.naming.Identifier getReferencedColumnName();
    descriptor: ()Lorg/hibernate/boot/model/naming/Identifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=1
        start local 0 // org.hibernate.cfg.Ejb3JoinColumn$1 this
         0: .line 569
            aload 0 /* this */
            getfield org.hibernate.cfg.Ejb3JoinColumn$1.val$logicalReferencedColumn:Ljava/lang/String;
            ifnull 5
         1: .line 570
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn$1.getBuildingContext:()Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
         2: .line 571
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getDatabase:()Lorg/hibernate/boot/model/relational/Database;
         3: .line 572
            aload 0 /* this */
            getfield org.hibernate.cfg.Ejb3JoinColumn$1.val$logicalReferencedColumn:Ljava/lang/String;
            invokevirtual org.hibernate.boot.model.relational.Database.toIdentifier:(Ljava/lang/String;)Lorg/hibernate/boot/model/naming/Identifier;
         4: .line 570
            areturn
         5: .line 575
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.Ejb3JoinColumn$1.this$0:Lorg/hibernate/cfg/Ejb3JoinColumn;
            getfield org.hibernate.cfg.Ejb3JoinColumn.mappedByEntityName:Ljava/lang/String;
            ifnull 6
            aload 0 /* this */
            getfield org.hibernate.cfg.Ejb3JoinColumn$1.this$0:Lorg/hibernate/cfg/Ejb3JoinColumn;
            getfield org.hibernate.cfg.Ejb3JoinColumn.mappedByPropertyName:Ljava/lang/String;
            ifnonnull 7
         6: .line 576
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         7: .line 579
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn$1.getBuildingContext:()Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
         8: .line 580
            aload 0 /* this */
            getfield org.hibernate.cfg.Ejb3JoinColumn$1.this$0:Lorg/hibernate/cfg/Ejb3JoinColumn;
            getfield org.hibernate.cfg.Ejb3JoinColumn.mappedByEntityName:Ljava/lang/String;
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getEntityBinding:(Ljava/lang/String;)Lorg/hibernate/mapping/PersistentClass;
         9: .line 579
            astore 1 /* mappedByEntityBinding */
        start local 1 // org.hibernate.mapping.PersistentClass mappedByEntityBinding
        10: .line 581
            aload 1 /* mappedByEntityBinding */
            aload 0 /* this */
            getfield org.hibernate.cfg.Ejb3JoinColumn$1.this$0:Lorg/hibernate/cfg/Ejb3JoinColumn;
            getfield org.hibernate.cfg.Ejb3JoinColumn.mappedByPropertyName:Ljava/lang/String;
            invokevirtual org.hibernate.mapping.PersistentClass.getProperty:(Ljava/lang/String;)Lorg/hibernate/mapping/Property;
            astore 2 /* mappedByProperty */
        start local 2 // org.hibernate.mapping.Property mappedByProperty
        11: .line 582
            aload 2 /* mappedByProperty */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.SimpleValue
            astore 3 /* value */
        start local 3 // org.hibernate.mapping.SimpleValue value
        12: .line 583
            aload 3 /* value */
            invokevirtual org.hibernate.mapping.SimpleValue.getColumnIterator:()Ljava/util/Iterator;
            astore 4 /* selectableValues */
        start local 4 // java.util.Iterator selectableValues
        13: .line 584
            aload 4 /* selectableValues */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        14: .line 585
            new org.hibernate.AnnotationException
            dup
        15: .line 587
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
        16: .line 588
            ldc "mapped-by [%s] defined for attribute [%s] referenced an invalid property (no columns)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        17: .line 589
            aload 0 /* this */
            getfield org.hibernate.cfg.Ejb3JoinColumn$1.this$0:Lorg/hibernate/cfg/Ejb3JoinColumn;
            getfield org.hibernate.cfg.Ejb3JoinColumn.mappedByPropertyName:Ljava/lang/String;
            aastore
            dup
            iconst_1
        18: .line 590
            aload 0 /* this */
            getfield org.hibernate.cfg.Ejb3JoinColumn$1.this$0:Lorg/hibernate/cfg/Ejb3JoinColumn;
            getfield org.hibernate.cfg.Ejb3JoinColumn.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getPath:()Ljava/lang/String;
            aastore
        19: .line 586
            invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        20: .line 585
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 594
      StackMap locals: org.hibernate.cfg.Ejb3JoinColumn$1 org.hibernate.mapping.PersistentClass org.hibernate.mapping.Property org.hibernate.mapping.SimpleValue java.util.Iterator
      StackMap stack:
            aload 4 /* selectableValues */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Selectable
            astore 5 /* selectable */
        start local 5 // org.hibernate.mapping.Selectable selectable
        22: .line 595
            ldc Lorg/hibernate/mapping/Column;
            aload 5 /* selectable */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 30
        23: .line 596
            new org.hibernate.AnnotationException
            dup
        24: .line 598
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
        25: .line 599
            ldc "mapped-by [%s] defined for attribute [%s] referenced an invalid property (formula)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        26: .line 600
            aload 0 /* this */
            getfield org.hibernate.cfg.Ejb3JoinColumn$1.this$0:Lorg/hibernate/cfg/Ejb3JoinColumn;
            getfield org.hibernate.cfg.Ejb3JoinColumn.mappedByPropertyName:Ljava/lang/String;
            aastore
            dup
            iconst_1
        27: .line 601
            aload 0 /* this */
            getfield org.hibernate.cfg.Ejb3JoinColumn$1.this$0:Lorg/hibernate/cfg/Ejb3JoinColumn;
            getfield org.hibernate.cfg.Ejb3JoinColumn.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getPath:()Ljava/lang/String;
            aastore
        28: .line 597
            invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        29: .line 596
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 605
      StackMap locals: org.hibernate.mapping.Selectable
      StackMap stack:
            aload 4 /* selectableValues */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 38
        31: .line 606
            new org.hibernate.AnnotationException
            dup
        32: .line 608
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
        33: .line 609
            ldc "mapped-by [%s] defined for attribute [%s] referenced an invalid property (multiple columns)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        34: .line 610
            aload 0 /* this */
            getfield org.hibernate.cfg.Ejb3JoinColumn$1.this$0:Lorg/hibernate/cfg/Ejb3JoinColumn;
            getfield org.hibernate.cfg.Ejb3JoinColumn.mappedByPropertyName:Ljava/lang/String;
            aastore
            dup
            iconst_1
        35: .line 611
            aload 0 /* this */
            getfield org.hibernate.cfg.Ejb3JoinColumn$1.this$0:Lorg/hibernate/cfg/Ejb3JoinColumn;
            getfield org.hibernate.cfg.Ejb3JoinColumn.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getPath:()Ljava/lang/String;
            aastore
        36: .line 607
            invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        37: .line 606
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        38: .line 615
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn$1.getBuildingContext:()Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
        39: .line 616
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getDatabase:()Lorg/hibernate/boot/model/relational/Database;
        40: .line 617
            aload 5 /* selectable */
            checkcast org.hibernate.mapping.Column
            invokevirtual org.hibernate.mapping.Column.getQuotedName:()Ljava/lang/String;
            invokevirtual org.hibernate.boot.model.relational.Database.toIdentifier:(Ljava/lang/String;)Lorg/hibernate/boot/model/naming/Identifier;
        41: .line 615
            areturn
        end local 5 // org.hibernate.mapping.Selectable selectable
        end local 4 // java.util.Iterator selectableValues
        end local 3 // org.hibernate.mapping.SimpleValue value
        end local 2 // org.hibernate.mapping.Property mappedByProperty
        end local 1 // org.hibernate.mapping.PersistentClass mappedByEntityBinding
        end local 0 // org.hibernate.cfg.Ejb3JoinColumn$1 this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   42     0                   this  Lorg/hibernate/cfg/Ejb3JoinColumn$1;
           10   42     1  mappedByEntityBinding  Lorg/hibernate/mapping/PersistentClass;
           11   42     2       mappedByProperty  Lorg/hibernate/mapping/Property;
           12   42     3                  value  Lorg/hibernate/mapping/SimpleValue;
           13   42     4       selectableValues  Ljava/util/Iterator<Lorg/hibernate/mapping/Selectable;>;
           22   42     5             selectable  Lorg/hibernate/mapping/Selectable;

  public org.hibernate.boot.spi.MetadataBuildingContext getBuildingContext();
    descriptor: ()Lorg/hibernate/boot/spi/MetadataBuildingContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.Ejb3JoinColumn$1 this
         0: .line 622
            aload 0 /* this */
            getfield org.hibernate.cfg.Ejb3JoinColumn$1.this$0:Lorg/hibernate/cfg/Ejb3JoinColumn;
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getBuildingContext:()Lorg/hibernate/boot/spi/MetadataBuildingContext;
            areturn
        end local 0 // org.hibernate.cfg.Ejb3JoinColumn$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/cfg/Ejb3JoinColumn$1;
}
SourceFile: "Ejb3JoinColumn.java"
EnclosingMethod: org.hibernate.cfg.Ejb3JoinColumn.buildDefaultColumnName:(Lorg/hibernate/mapping/PersistentClass;Ljava/lang/String;)Ljava/lang/String;
NestHost: org.hibernate.cfg.Ejb3JoinColumn
InnerClasses:
  public final Nature = org.hibernate.boot.model.naming.ImplicitJoinColumnNameSource$Nature of org.hibernate.boot.model.naming.ImplicitJoinColumnNameSource
  org.hibernate.cfg.Ejb3JoinColumn$1
  org.hibernate.cfg.Ejb3JoinColumn$1$1