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.

CodeTransform is a preview API of the Java platform.
Programs can only use CodeTransform when preview features are enabled.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
A transformation on streams of CodeElementPREVIEW.
Since:
22
See Also:
  • Field Details

    • ACCEPT_ALL

      static final CodeTransformPREVIEW ACCEPT_ALL
      A code transform that sends all elements to the builder.
  • Method Details

    • ofStateful

      static CodeTransformPREVIEW ofStateful(Supplier<CodeTransformPREVIEW> supplier)
      Create a stateful code transform from a Supplier. The supplier will be invoked for each transformation.
      Parameters:
      supplier - a Supplier that produces a fresh transform object for each traversal
      Returns:
      the stateful code transform
    • endHandler

      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.
      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 interface ClassFileTransformPREVIEW<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