Top Description Fields Methods
java.lang.classfile

public non-sealed Interface FieldTransform

extends ClassFileTransform<FieldTransform, FieldElement, FieldBuilder>
Known Direct Subinterfaces
jdk.internal.classfile.impl.TransformImpl.UnresolvedFieldTransform
Annotations
@PreviewFeature
feature:CLASSFILE_API
@FunctionalInterface
Imports
java.util.function.Consumer, .Predicate, .Supplier, jdk.internal.classfile.impl.TransformImpl, jdk.internal.javac.PreviewFeature

Preview

Second Preview of ClassFile API (JEP 466).

Programs can only use FieldTransform when preview features are enabled.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.

A transformation on streams of FieldElement.
Since
22
See Also
ClassFileTransform

Field Summary

Modifier and TypeField and Description
public static final FieldTransform
ACCEPT_ALL

A field transform that sends all elements to the builder.

Method Summary

Modifier and TypeMethod and Description
public default FieldTransform
andThen(FieldTransform
the downstream transform
t
)

Implements java.lang.classfile.ClassFileTransform.andThen.

Chain this transform with another; elements presented to the builder of this transform will become the input to the next transform.

public static FieldTransform

Returns:

the field transform
dropping
(Predicate<FieldElement>
the predicate that determines which elements to drop
filter
)

Create a field transform that passes each element through to the builder, except for those that the supplied Predicate is true for.

public static FieldTransform

Returns:

the field transform
endHandler
(Consumer<FieldBuilder>
the function to call when transformation is complete
finisher
)

Create a field transform that passes each element through to the builder, and calls the specified function when transformation is complete.

public static FieldTransform

Returns:

the stateful field transform
ofStateful
(Supplier<FieldTransform>
a Supplier that produces a fresh transform object for each traversal
supplier
)

Create a stateful field transform from a Supplier.

public default ClassFileTransform.ResolvedTransform<FieldElement>
resolve(FieldBuilder
the builder to bind to
builder
)

Implements java.lang.classfile.ClassFileTransform.resolve.

Bind a transform to a builder.

Inherited from java.lang.classfile.ClassFileTransform:
acceptatEndatStart

Field Detail

ACCEPT_ALLback to summary
public static final FieldTransform ACCEPT_ALL

A field transform that sends all elements to the builder.

Method Detail

andThenback to summary
public default FieldTransform andThen(FieldTransform t)

Implements java.lang.classfile.ClassFileTransform.andThen.

Doc from java.lang.classfile.ClassFileTransform.andThen.

Chain this transform with another; elements presented to the builder of this transform will become the input to the next transform.

Implementation Specification

The default implementation returns this field transform chained with another field transform from the argument. Chaining of two transforms requires to involve a chained builder serving as a target builder for this transform and also as a source of elements for the downstream transform.

Parameters
t:FieldTransform

the downstream transform

Returns:FieldTransform

the chained transform

Annotations
@Override
droppingback to summary
public static FieldTransform dropping(Predicate<FieldElement> filter)

Create a field transform that passes each element through to the builder, except for those that the supplied Predicate is true for.

Parameters
filter:Predicate<FieldElement>

the predicate that determines which elements to drop

Returns:FieldTransform

the field transform

endHandlerback to summary
public static FieldTransform endHandler(Consumer<FieldBuilder> finisher)

Create a field transform that passes each element through to the builder, and calls the specified function when transformation is complete.

Parameters
finisher:Consumer<FieldBuilder>

the function to call when transformation is complete

Returns:FieldTransform

the field transform

ofStatefulback to summary
public static FieldTransform ofStateful(Supplier<FieldTransform> supplier)

Create a stateful field transform from a Supplier. The supplier will be invoked for each transformation.

Parameters
supplier:Supplier<FieldTransform>

a Supplier that produces a fresh transform object for each traversal

Returns:FieldTransform

the stateful field transform

resolveback to summary
public default ClassFileTransform.ResolvedTransform<FieldElement> resolve(FieldBuilder builder)

Implements java.lang.classfile.ClassFileTransform.resolve.

Doc from java.lang.classfile.ClassFileTransform.resolve.

Bind a transform to a builder. If the transform is chained, intermediate builders are created for each chain link. If the transform is stateful (see, e.g., ClassTransform#ofStateful(Supplier)), the supplier is invoked to get a fresh transform object.

This method is a low-level method that should rarely be used by user code; most of the time, user code should prefer ClassFileBuilder#transform(CompoundElement, ClassFileTransform), which resolves the transform and executes it on the current builder.

Implementation Specification

The default implementation returns a resolved transform bound to the given field builder.

Parameters
builder:FieldBuilder

the builder to bind to

Returns:ClassFileTransform.ResolvedTransform<FieldElement>

the bound result

Annotations
@Override