Interface CodeTransform
- All Superinterfaces:
ClassFileTransformPREVIEW<CodeTransformPREVIEW,
CodeElementPREVIEW, CodeBuilderPREVIEW>
- All Known Subinterfaces:
CodeLocalsShifterPREVIEW
,CodeRelabelerPREVIEW
,CodeStackTrackerPREVIEW
- 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 CodeTransform
extends ClassFileTransformPREVIEW<CodeTransformPREVIEW,CodeElementPREVIEW,CodeBuilderPREVIEW>
CodeTransform
is a preview API of the Java platform.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
A transformation on streams of
CodeElement
PREVIEW.- Since:
- 22
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final CodeTransformPREVIEW
A code transform that sends all elements to the builder. -
Method Summary
Modifier and TypeMethodDescriptiondefault CodeTransformPREVIEW
Chain this transform with another; elements presented to the builder of this transform will become the input to the next transform.static CodeTransformPREVIEW
endHandler
(Consumer<CodeBuilderPREVIEW> finisher) Create a code transform that passes each element through to the builder, and calls the specified function when transformation is complete.static CodeTransformPREVIEW
ofStateful
(Supplier<CodeTransformPREVIEW> supplier) Create a stateful code transform from aSupplier
.Methods declared in interface java.lang.classfile.ClassFileTransformPREVIEW
accept, atEnd, atStart
-
Field Details
-
ACCEPT_ALL
A code transform that sends all elements to the builder.
-
-
Method Details
-
ofStateful
-
endHandler
Create a code 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 code 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 interfaceClassFileTransformPREVIEW<CodeTransformPREVIEW,
CodeElementPREVIEW, CodeBuilderPREVIEW> - Implementation Requirements:
- The default implementation returns this code transform chained with another code 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
-
CodeTransform
when preview features are enabled.