public class org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl implements org.hibernate.metamodel.domain.PluralAttribute
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl
  super_class: java.lang.Object
{
  private final org.hibernate.metamodel.domain.AttributeContainer attributeContainer;
    descriptor: Lorg/hibernate/metamodel/domain/AttributeContainer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.metamodel.domain.PluralAttributeNature nature;
    descriptor: Lorg/hibernate/metamodel/domain/PluralAttributeNature;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private org.hibernate.metamodel.domain.Type elementType;
    descriptor: Lorg/hibernate/metamodel/domain/Type;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.lang.String, org.hibernate.metamodel.domain.PluralAttributeNature, org.hibernate.metamodel.domain.AttributeContainer);
    descriptor: (Ljava/lang/String;Lorg/hibernate/metamodel/domain/PluralAttributeNature;Lorg/hibernate/metamodel/domain/AttributeContainer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl this
        start local 1 // java.lang.String name
        start local 2 // org.hibernate.metamodel.domain.PluralAttributeNature nature
        start local 3 // org.hibernate.metamodel.domain.AttributeContainer attributeContainer
         0: .line 249
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 250
            aload 0 /* this */
            aload 1 /* name */
            putfield org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl.name:Ljava/lang/String;
         2: .line 251
            aload 0 /* this */
            aload 2 /* nature */
            putfield org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl.nature:Lorg/hibernate/metamodel/domain/PluralAttributeNature;
         3: .line 252
            aload 0 /* this */
            aload 3 /* attributeContainer */
            putfield org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl.attributeContainer:Lorg/hibernate/metamodel/domain/AttributeContainer;
         4: .line 253
            return
        end local 3 // org.hibernate.metamodel.domain.AttributeContainer attributeContainer
        end local 2 // org.hibernate.metamodel.domain.PluralAttributeNature nature
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lorg/hibernate/metamodel/domain/AbstractAttributeContainer$PluralAttributeImpl;
            0    5     1                name  Ljava/lang/String;
            0    5     2              nature  Lorg/hibernate/metamodel/domain/PluralAttributeNature;
            0    5     3  attributeContainer  Lorg/hibernate/metamodel/domain/AttributeContainer;
    MethodParameters:
                    Name  Flags
      name                
      nature              
      attributeContainer  

  public org.hibernate.metamodel.domain.AttributeContainer getAttributeContainer();
    descriptor: ()Lorg/hibernate/metamodel/domain/AttributeContainer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl this
         0: .line 257
            aload 0 /* this */
            getfield org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl.attributeContainer:Lorg/hibernate/metamodel/domain/AttributeContainer;
            areturn
        end local 0 // org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/domain/AbstractAttributeContainer$PluralAttributeImpl;

  public boolean isSingular();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl this
         0: .line 262
            iconst_0
            ireturn
        end local 0 // org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/domain/AbstractAttributeContainer$PluralAttributeImpl;

  public org.hibernate.metamodel.domain.PluralAttributeNature getNature();
    descriptor: ()Lorg/hibernate/metamodel/domain/PluralAttributeNature;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl this
         0: .line 267
            aload 0 /* this */
            getfield org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl.nature:Lorg/hibernate/metamodel/domain/PluralAttributeNature;
            areturn
        end local 0 // org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/domain/AbstractAttributeContainer$PluralAttributeImpl;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl this
         0: .line 272
            aload 0 /* this */
            getfield org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl.name:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/domain/AbstractAttributeContainer$PluralAttributeImpl;

  public java.lang.String getRole();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl this
         0: .line 277
            aload 0 /* this */
            getfield org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl.attributeContainer:Lorg/hibernate/metamodel/domain/AttributeContainer;
            invokeinterface org.hibernate.metamodel.domain.AttributeContainer.getRoleBaseName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl.name:Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/domain/AbstractAttributeContainer$PluralAttributeImpl;

  public org.hibernate.metamodel.domain.Type getElementType();
    descriptor: ()Lorg/hibernate/metamodel/domain/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl this
         0: .line 282
            aload 0 /* this */
            getfield org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl.elementType:Lorg/hibernate/metamodel/domain/Type;
            areturn
        end local 0 // org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/domain/AbstractAttributeContainer$PluralAttributeImpl;

  public void setElementType(org.hibernate.metamodel.domain.Type);
    descriptor: (Lorg/hibernate/metamodel/domain/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl this
        start local 1 // org.hibernate.metamodel.domain.Type elementType
         0: .line 287
            aload 0 /* this */
            aload 1 /* elementType */
            putfield org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl.elementType:Lorg/hibernate/metamodel/domain/Type;
         1: .line 288
            return
        end local 1 // org.hibernate.metamodel.domain.Type elementType
        end local 0 // org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/hibernate/metamodel/domain/AbstractAttributeContainer$PluralAttributeImpl;
            0    2     1  elementType  Lorg/hibernate/metamodel/domain/Type;
    MethodParameters:
             Name  Flags
      elementType  
}
SourceFile: "AbstractAttributeContainer.java"
NestHost: org.hibernate.metamodel.domain.AbstractAttributeContainer
InnerClasses:
  public PluralAttributeImpl = org.hibernate.metamodel.domain.AbstractAttributeContainer$PluralAttributeImpl of org.hibernate.metamodel.domain.AbstractAttributeContainer