Interface MethodTransform
- All Superinterfaces:
ClassFileTransform<MethodTransform, MethodElement, MethodBuilder>
- 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 MethodTransform
extends ClassFileTransform<MethodTransform, MethodElement, MethodBuilder>
A transformation on streams of
MethodElement
.- Since:
- 24
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final MethodTransform
A method transform that sends all elements to the builder. -
Method Summary
Modifier and TypeMethodDescriptiondefault MethodTransform
Chain this transform with another; elements presented to the builder of this transform will become the input to the next transform.static MethodTransform
dropping
(Predicate<MethodElement> filter) Create a method transform that passes each element through to the builder, except for those that the suppliedPredicate
is true for.static MethodTransform
endHandler
(Consumer<MethodBuilder> finisher) Create a method transform that passes each element through to the builder, and calls the specified function when transformation is complete.static MethodTransform
ofStateful
(Supplier<MethodTransform> supplier) Create a stateful method transform from aSupplier
.static MethodTransform
transformingCode
(CodeTransform xform) Create a method transform that transformsCodeModel
elements with the supplied code transform.Methods declared in interface java.lang.classfile.ClassFileTransform
accept, atEnd, atStart
-
Field Details
-
ACCEPT_ALL
A method transform that sends all elements to the builder.
-
-
Method Details
-
ofStateful
-
endHandler
Create a method 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 method transform
-
dropping
Create a method transform that passes each element through to the builder, except for those that the suppliedPredicate
is true for.- Parameters:
filter
- the predicate that determines which elements to drop- Returns:
- the method transform
-
transformingCode
Create a method transform that transformsCodeModel
elements with the supplied code transform.- Parameters:
xform
- the method transform- Returns:
- the class transform
-
andThen
Description copied from interface:ClassFileTransform
Chain this transform with another; elements presented to the builder of this transform will become the input to the next transform.- Specified by:
andThen
in interfaceClassFileTransform<MethodTransform, MethodElement, MethodBuilder>
- Implementation Requirements:
- The default implementation returns this method transform chained with another method 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
- the downstream transform- Returns:
- the chained transform
-