Interface FieldModel

All Superinterfaces:
AttributedElement,ClassElement,ClassFileElement,CompoundElement<FieldElement>,Iterable<FieldElement>

public sealed interfaceFieldModelextendsCompoundElement<FieldElement>,AttributedElement,ClassElement
Models a field. A field can be viewed as acomposition ofFieldElements, or by random access via accessor methods if only specific parts of the field is needed.

Fields can be obtained fromClassModel.fields(), or in the traversal of member elements of a class.

ClassBuilder.withField(String, ClassDesc, Consumer) is the main way to construct fields.ClassBuilder.transformField(java.lang.classfile.FieldModel, java.lang.classfile.FieldTransform) allows creating a new field by selectively processing the original field elements and directing the results to a field builder.

All field attributes are accessible as member elements.

SeeJava Virtual Machine Specification:
4.5 Fields
Since:
24
See Also:
  • Method Details

    • flags

      AccessFlags flags()
      Returns the access flags.
      Returns:
      the access flags
      See Also:
    • parent

      Optional<ClassModel> parent()
      Returns the class model this field is a member of, if known.
      Returns:
      the class model this field is a member of, if known
    • fieldName

      Utf8Entry fieldName()
      Returns the name of this field.
      Returns:
      the name of this field
    • fieldType

      Utf8Entry fieldType()
      Returns the field descriptor string of this field.
      Returns:
      the field descriptor string of this field
    • fieldTypeSymbol

      default ClassDesc fieldTypeSymbol()
      Returns the field type, as a symbolic descriptor.
      Returns:
      the field type, as a symbolic descriptor