Interface ClassFileBuilder<E extends ClassFileElementPREVIEW,B extends ClassFileBuilderPREVIEW<E,B>>
- Type Parameters:
E
- the element typeB
- 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.
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 ClassFileElement
PREVIEW to with(ClassFileElement)
or concretely by calling the various withXxx
methods.- Since:
- 22
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
Integrate theClassFileElement
PREVIEW into the entity being built.Returns the constant pool builder associated with this builder.default B
transform
(CompoundElementPREVIEW<E> model, ClassFileTransformPREVIEW<?, E, B> transform) Apply a transform to a model, directing results to this builder.Integrate theClassFileElement
PREVIEW into the entity being built.
-
Method Details
-
accept
Integrate theClassFileElement
PREVIEW into the entity being built.- Specified by:
accept
in interfaceConsumer<E extends ClassFileElementPREVIEW>
- Parameters:
e
- the element
-
with
Integrate theClassFileElement
PREVIEW into the entity being built.- Parameters:
e
- the element- Returns:
- this builder
-
constantPool
ConstantPoolBuilderPREVIEW constantPool()Returns the constant pool builder associated with this builder.- Returns:
- the constant pool builder associated with this builder
-
transform
Apply a transform to a model, directing results to this builder.- Parameters:
model
- the model to transformtransform
- the transform to apply- Returns:
- this builder
-
ClassFileBuilder
when preview features are enabled.