ClassFileTransform<MethodTransform, MethodElement, MethodBuilder>@FunctionalInterface public non-sealed interface MethodTransform extends ClassFileTransform<MethodTransform, MethodElement, MethodBuilder>
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.
| Modifier and Type | Field | Description |
|---|---|---|
static final MethodTransform |
ACCEPT_ALL |
A method transform that passes all elements to the builder. |
| Modifier and Type | Method | Description |
|---|---|---|
default MethodTransform |
andThen |
Chain this transform with another; elements presented to the builder of this transform will become the input to the next transform. |
static MethodTransform |
dropping |
Creates a method transform that passes each element through to the builder, except for those that the supplied Predicate is true for. |
static MethodTransform |
endHandler |
Creates a method transform that passes each element through to the builder, and calls the specified function when transformation is complete. |
static MethodTransform |
ofStateful |
Creates a stateful method transform from a Supplier. |
static MethodTransform |
transformingCode |
Creates a method transform that transforms CodeModel elements with the supplied code transform, passing every other element through to the builder. |
accept, atEnd, atStart
static final MethodTransform ACCEPT_ALL
static MethodTransform ofStateful(Supplier<MethodTransform> supplier)
Supplier. The supplier will be invoked for each transformation.supplier - a Supplier that produces a fresh transform object for each traversalstatic MethodTransform endHandler(Consumer<MethodBuilder> finisher)
finisher - the function to call when transformation is completestatic MethodTransform dropping(Predicate<MethodElement> filter)
Predicate is true for.filter - the predicate that determines which elements to dropstatic MethodTransform transformingCode(CodeTransform xform)
CodeModel elements with the supplied code transform, passing every other element through to the builder.xform - the method transformdefault MethodTransform andThen(MethodTransform t)
ClassFileTransformThis 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.
andThen in interface ClassFileTransform<MethodTransform, MethodElement, MethodBuilder>
t - the downstream transform
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/MethodTransform.html