Interface ClassFileBuilder<E extends ClassFileElementPREVIEW,B extends ClassFileBuilderPREVIEW<E,B>>

Type Parameters:
E - the element type
B - the builder type
All Superinterfaces:
Consumer<E>
All Known Subinterfaces:
ClassBuilderPREVIEW, CodeBuilderPREVIEW, CodeBuilder.BlockCodeBuilderPREVIEW, FieldBuilderPREVIEW, MethodBuilderPREVIEW

public sealed interface ClassFileBuilder<E extends ClassFileElementPREVIEW,B extends ClassFileBuilderPREVIEW<E,B>> extends Consumer<E> permits ClassBuilderPREVIEW, FieldBuilderPREVIEW, MethodBuilderPREVIEW, CodeBuilderPREVIEW
ClassFileBuilder is a preview API of the Java platform.
Programs can only use ClassFileBuilder when preview features are enabled.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
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)PREVIEW or to transforms. Elements of the newly built entity can be specified abstractly (by passing a ClassFileElementPREVIEW 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:
22
See Also:
  • Method Details

    • accept

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

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

      Returns the constant pool builder associated with this builder.
      Returns:
      the constant pool builder associated with this builder
    • canWriteDirect

      default boolean canWriteDirect(ConstantPoolPREVIEW source)
      Returns whether the provided constant pool is compatible with this builder.
      Parameters:
      source - the constant pool to test compatibility with
      Returns:
      whether the provided constant pool is compatible with this builder
    • transform

      default void transform(CompoundElementPREVIEW<E> model, ClassFileTransformPREVIEW<?,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