Interface ClassFileBuilder<E extends ClassFileElement, B extends ClassFileBuilder<E,B>>

Type Parameters:
E - the element type
B - the builder type
All Superinterfaces:
Consumer<E>
All Known Subinterfaces:
ClassBuilder, CodeBuilder, CodeBuilder.BlockCodeBuilder, FieldBuilder, MethodBuilder

public sealed interface ClassFileBuilder<E extends ClassFileElement, B extends ClassFileBuilder<E,B>> extends Consumer<E> permits ClassBuilder, FieldBuilder, MethodBuilder, CodeBuilder
A builder for a classfile or portion of a classfile. Builders are rarely created directly; they are passed to handlers by methods such as ClassFile.build(ClassDesc, Consumer) or to transforms. Elements of the newly built entity can be specified abstractly (by passing a ClassFileElement to with(ClassFileElement) or concretely by calling the various withXxx methods.
Sealed Class Hierarchy Graph:
Sealed class hierarchy graph for ClassFileBuilderSealed class hierarchy graph for ClassFileBuilder
Since:
24
See Also:
  • Method Details

    • accept

      default void accept(E e)
      Integrate the ClassFileElement into the entity being built.
      Specified by:
      accept in interface Consumer<E extends ClassFileElement>
      Parameters:
      e - the element
    • with

      B with(E e)
      Integrate the ClassFileElement into the entity being built.
      Parameters:
      e - the element
      Returns:
      this builder
    • constantPool

      ConstantPoolBuilder constantPool()
      Returns the constant pool builder associated with this builder.
      Returns:
      the constant pool builder associated with this builder
    • transform

      default B transform(CompoundElement<E> model, ClassFileTransform<?,E,B> transform)
      Apply a transform to a model, directing results to this builder.
      Parameters:
      model - the model to transform
      transform - the transform to apply
      Returns:
      this builder