- All Superinterfaces:
ClassfileTransform<FieldTransform,FieldElement, FieldBuilder>
- All Known Implementing Classes:
TransformImpl.ChainedFieldTransform,TransformImpl.SupplierFieldTransform
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface
public non-sealed interface FieldTransform
extends ClassfileTransform<FieldTransform,FieldElement,FieldBuilder>
A transformation on streams of
FieldElement.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.glavo.classfile.ClassfileTransform
ClassfileTransform.ResolvedTransform<E extends ClassfileElement> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final FieldTransformA field transform that sends all elements to the builder. -
Method Summary
Modifier and TypeMethodDescriptiondefault FieldTransformChain this transform with another; elements presented to the builder of this transform will become the input to the next transform.static FieldTransformdropping(Predicate<FieldElement> filter) Create a field transform that passes each element through to the builder, except for those that the suppliedPredicateis true for.static FieldTransformendHandler(Consumer<FieldBuilder> finisher) Create a field transform that passes each element through to the builder, and calls the specified function when transformation is complete.static FieldTransformofStateful(Supplier<FieldTransform> supplier) Create a stateful field transform from aSupplier.resolve(FieldBuilder builder) Bind a transform to a builder.Methods inherited from interface org.glavo.classfile.ClassfileTransform
accept, atEnd, atStart
-
Field Details
-
ACCEPT_ALL
A field transform that sends all elements to the builder.
-
-
Method Details
-
ofStateful
Create a stateful field transform from aSupplier. The supplier will be invoked for each transformation.- Parameters:
supplier- aSupplierthat produces a fresh transform object for each traversal- Returns:
- the stateful field transform
-
endHandler
Create a field transform that passes each element through to the builder, and calls the specified function when transformation is complete.- Parameters:
finisher- the function to call when transformation is complete- Returns:
- the field transform
-
dropping
Create a field transform that passes each element through to the builder, except for those that the suppliedPredicateis true for.- Parameters:
filter- the predicate that determines which elements to drop- Returns:
- the field transform
-
andThen
Description copied from interface:ClassfileTransformChain this transform with another; elements presented to the builder of this transform will become the input to the next transform.- Specified by:
andThenin interfaceClassfileTransform<FieldTransform,FieldElement, FieldBuilder> - Parameters:
t- the downstream transform- Returns:
- the chained transform
-
resolve
Description copied from interface:ClassfileTransformBind 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.- Specified by:
resolvein interfaceClassfileTransform<FieldTransform,FieldElement, FieldBuilder> - Parameters:
builder- the builder to bind to- Returns:
- the bound result
-