# 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)`