ClassFileTransform<ClassTransform, ClassElement, ClassBuilder>@FunctionalInterface public non-sealed interface ClassTransform extends ClassFileTransform<ClassTransform, ClassElement, ClassBuilder>
ClassElement. Refer to ClassFileTransform for general guidance and caution around the use of transforms for structures in the class file format.
| Modifier and Type | Field | Description |
|---|---|---|
static final ClassTransform |
ACCEPT_ALL |
A class transform that passes all elements to the builder. |
| Modifier and Type | Method | Description |
|---|---|---|
default ClassTransform |
andThen |
Chain this transform with another; elements presented to the builder of this transform will become the input to the next transform. |
static ClassTransform |
dropping |
Creates a class transform that passes each element through to the builder, except for those that the supplied Predicate returns true for. |
static ClassTransform |
endHandler |
Creates a class transform that passes each element through to the builder, and calls the specified function when transformation is complete. |
static ClassTransform |
ofStateful |
Creates a stateful class transform from a Supplier. |
static ClassTransform |
transformingFields |
Creates a class transform that transforms FieldModel elements with the supplied field transform, passing other elements through to the builder. |
static ClassTransform |
transformingMethodBodies |
Creates a class transform that transforms the CodeAttribute (method body) of MethodModel elements with the supplied code transform, passing other elements through to the builder. |
static ClassTransform |
transformingMethodBodies |
Creates a class transform that transforms the CodeAttribute (method body) of MethodModel elements with the supplied code transform for methods that the supplied Predicate returns true for, passing other elements through to the builder. |
static ClassTransform |
transformingMethods |
Creates a class transform that transforms MethodModel elements with the supplied method transform, passing other elements through to the builder. |
static ClassTransform |
transformingMethods |
Creates a class transform that transforms MethodModel elements with the supplied method transform for methods that the supplied Predicate returns true for, passing other elements through to the builder. |
accept, atEnd, atStart
static final ClassTransform ACCEPT_ALL
static ClassTransform ofStateful(Supplier<ClassTransform> supplier)
Supplier. The supplier will be invoked for each transformation.supplier - a Supplier that produces a fresh transform object for each traversalstatic ClassTransform endHandler(Consumer<ClassBuilder> finisher)
finisher - the function to call when transformation is completestatic ClassTransform dropping(Predicate<ClassElement> filter)
Predicate returns true for.filter - the predicate that determines which elements to dropstatic ClassTransform transformingMethods(Predicate<MethodModel> filter, MethodTransform xform)
MethodModel elements with the supplied method transform for methods that the supplied Predicate returns true for, passing other elements through to the builder.filter - a predicate that determines which methods to transformxform - the method transformstatic ClassTransform transformingMethods(MethodTransform xform)
MethodModel elements with the supplied method transform, passing other elements through to the builder.xform - the method transformstatic ClassTransform transformingMethodBodies(Predicate<MethodModel> filter, CodeTransform xform)
CodeAttribute (method body) of MethodModel elements with the supplied code transform for methods that the supplied Predicate returns true for, passing other elements through to the builder.filter - a predicate that determines which methods to transformxform - the code transformstatic ClassTransform transformingMethodBodies(CodeTransform xform)
CodeAttribute (method body) of MethodModel elements with the supplied code transform, passing other elements through to the builder.xform - the code transformstatic ClassTransform transformingFields(FieldTransform xform)
FieldModel elements with the supplied field transform, passing other elements through to the builder.xform - the field transformdefault ClassTransform andThen(ClassTransform 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<ClassTransform, ClassElement, ClassBuilder>
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/ClassTransform.html