APIdia Launch Partner
Top Fields Constructors Methods
jdk.internal.classfile.impl

public final Class ChainedClassBuilder

extends Object
implements ClassBuilder, Consumer<ClassElement>
Class Inheritance
All Implemented Interfaces
java.util.function.Consumer, java.lang.classfile.ClassBuilder, java.lang.classfile.ClassFileBuilder
Imports
java.lang.classfile.*, java.lang.classfile.constantpool.ConstantPoolBuilder, .Utf8Entry, java.util.function.Consumer

Field Summary

Modifier and TypeField and Description
private final Consumer<ClassElement>
private final DirectClassBuilder

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public ConstantPoolBuilder
constantPool()

Implements java.lang.classfile.ClassFileBuilder.constantPool.

Returns the constant pool builder associated with this builder.

public ClassBuilder
transformField(FieldModel field, FieldTransform transform)

Implements java.lang.classfile.ClassBuilder.transformField.

Adds a field by transforming a field from another class.

public ClassBuilder
transformMethod(MethodModel method, MethodTransform transform)

Implements java.lang.classfile.ClassBuilder.transformMethod.

Adds a method by transforming a method from another class.

public ClassBuilder
with(ClassElement element)

Implements java.lang.classfile.ClassFileBuilder.with.

Integrates the member element into the structure being built.

public ClassBuilder
withField(Utf8Entry name, Utf8Entry descriptor, Consumer<? super FieldBuilder> handler)

Implements java.lang.classfile.ClassBuilder.withField.

Adds a field.

public ClassBuilder
withMethod(Utf8Entry name, Utf8Entry descriptor, int flags, Consumer<? super MethodBuilder> handler)

Implements java.lang.classfile.ClassBuilder.withMethod.

Adds a method.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

consumerback to summary
private final Consumer<ClassElement> consumer
terminalback to summary
private final DirectClassBuilder terminal

Constructor Detail

ChainedClassBuilderback to summary
public ChainedClassBuilder(ClassBuilder downstream, Consumer<ClassElement> consumer)

Method Detail

constantPoolback to summary
public ConstantPoolBuilder constantPool()

Implements java.lang.classfile.ClassFileBuilder.constantPool.

Doc from java.lang.classfile.ClassFileBuilder.constantPool.

Returns the constant pool builder associated with this builder.

Annotations
@Override
transformFieldback to summary
public ClassBuilder transformField(FieldModel field, FieldTransform transform)

Implements java.lang.classfile.ClassBuilder.transformField.

Doc from java.lang.classfile.ClassBuilder.transformField.

Adds a field by transforming a field from another class.

This method behaves as if:

withField(field.fieldName(), field.fieldType(), fb -> fb.transform(field, transform))
withField(field.fieldName(), field.fieldType(),
          fb -> fb.transform(field, transform))
Annotations
@Override
transformMethodback to summary
public ClassBuilder transformMethod(MethodModel method, MethodTransform transform)

Implements java.lang.classfile.ClassBuilder.transformMethod.

Doc from java.lang.classfile.ClassBuilder.transformMethod.

Adds a method by transforming a method from another class. The transform cannot modify the ACC_STATIC flag of the original method.

This method behaves as if:

withMethod(method.methodName(), method.methodType(), method.flags().flagMask(), mb -> mb.transform(method, transform))
withMethod(method.methodName(), method.methodType(), method.flags().flagMask(),
           mb -> mb.transform(method, transform))
Annotations
@Override
withback to summary
public ClassBuilder with(ClassElement element)

Implements java.lang.classfile.ClassFileBuilder.with.

Doc from java.lang.classfile.ClassFileBuilder.with.

Integrates the member element into the structure being built.

Annotations
@Override
withFieldback to summary
public ClassBuilder withField(Utf8Entry name, Utf8Entry descriptor, Consumer<? super FieldBuilder> handler)

Implements java.lang.classfile.ClassBuilder.withField.

Doc from java.lang.classfile.ClassBuilder.withField.

Adds a field.

Annotations
@Override
withMethodback to summary
public ClassBuilder withMethod(Utf8Entry name, Utf8Entry descriptor, int flags, Consumer<? super MethodBuilder> handler)

Implements java.lang.classfile.ClassBuilder.withMethod.

Doc from java.lang.classfile.ClassBuilder.withMethod.

Adds a method. The bit for ACC_STATIC flag cannot be modified by the handler later, and must be set through methodFlags.

Annotations
@Override