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.
 
 Refer to ClassFileTransform for general guidance and caution around
 the use of transforms for structures in the class file format.
 
 A method transform can be lifted to a class transform via ClassTransform.transformingMethods(MethodTransform), transforming only
 the MethodModel among the class members and passing all other
 elements to the builders.
- Since:
- 24
- See Also:
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final MethodTransformA method transform that passes all elements to the builder.
- 
Method SummaryModifier and TypeMethodDescriptiondefault MethodTransformChain this transform with another; elements presented to the builder of this transform will become the input to the next transform.static MethodTransformdropping(Predicate<MethodElement> filter) Creates a method transform that passes each element through to the builder, except for those that the suppliedPredicateis true for.static MethodTransformendHandler(Consumer<MethodBuilder> finisher) Creates a method transform that passes each element through to the builder, and calls the specified function when transformation is complete.static MethodTransformofStateful(Supplier<MethodTransform> supplier) Creates a stateful method transform from aSupplier.static MethodTransformtransformingCode(CodeTransform xform) Creates a method transform that transformsCodeModelelements with the supplied code transform, passing every other element through to the builder.Methods declared in interface java.lang.classfile.ClassFileTransformaccept, atEnd, atStart
- 
Field Details- 
ACCEPT_ALLA method transform that passes all elements to the builder.
 
- 
- 
Method Details- 
ofStateful
- 
endHandlerCreates 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
 
- 
droppingCreates a method 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 method transform
 
- 
transformingCodeCreates a method transform that transformsCodeModelelements with the supplied code transform, passing every other element through to the builder.- Parameters:
- xform- the method transform
- Returns:
- the class transform
 
- 
andThenDescription copied from interface:ClassFileTransformChain this transform with another; elements presented to the builder of this transform will become the input to the next transform.This method is implemented by the Class-File API. Users usually don't have sufficient access to Class-File API functionalities to override this method correctly for generic downstream transforms. - Specified by:
- andThenin interface- ClassFileTransform<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
 
 
-