FieldBuilder (Java SE 25 & JDK 25)
Description: declaration: module: java.base, package: java.lang.classfile, interface: FieldBuilder
Keywords: java.lang.classfile.FieldBuilder interface

# Interface FieldBuilder

All Superinterfaces:
  `ClassFileBuilder<FieldElement, FieldBuilder>, Consumer<FieldElement>`

public sealed interface FieldBuilder extends ClassFileBuilder<FieldElement, FieldBuilder>
A builder for fields. The main way to obtain a field builder is via `ClassBuilder.withField(String, ClassDesc, Consumer)`. The access flag overload is useful if no attribute needs to be configured, skipping the handler.

Refer to `ClassFileBuilder` for general guidance and caution around the use of builders for structures in the `class` file format.

Since:
  24
See Also:
  - `ClassBuilder.withField(String, ClassDesc, Consumer)`
  - `FieldModel`
  - `FieldTransform`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default FieldBuilder`
  `withFlags(int flags)`
  Sets the field access flags.
  `default FieldBuilder`
  `withFlags(AccessFlag... flags)`
  Sets the field access flags.

  ### Methods declared in interface ClassFileBuilder

  `accept, constantPool, transform, with`

  ### Methods declared in interface Consumer

  `andThen`

- ## Method Details

  - ### withFlags

    default FieldBuilder withFlags(int flags)
    Sets the field access flags.
    Parameters:
      `flags` - the access flags, as a bit mask
    Returns:
      this builder
    See Also:
      - `AccessFlags`
      - `AccessFlag.Location.FIELD`
      - `ClassBuilder.withField(String, ClassDesc, int)`

  - ### withFlags

    default FieldBuilder withFlags(AccessFlag... flags)
    Sets the field access flags.
    Parameters:
      `flags` - the access flags, as a bit mask
    Returns:
      this builder
    See Also:
      - `AccessFlags`
      - `AccessFlag.Location.FIELD`
      - `ClassBuilder.withField(String, ClassDesc, int)`