Интерфейс CodeTransform
- Все суперинтерфейсы:
ClassFileTransform<CodeTransform, CodeElement, CodeBuilder>
- Функциональный интерфейс:
- Это функциональный интерфейс и, следовательно, может использоваться в качестве целевого назначения для лямбда-выражения или ссылки на метод.
@FunctionalInterface public non-sealed interface CodeTransform extends ClassFileTransform<CodeTransform, CodeElement, CodeBuilder>
CodeElement. Поток может исходить от CodeModel или обработчика CodeBuilder, как в CodeBuilder.transforming(java.lang.classfile.CodeTransform, java.util.function.Consumer<java.lang.classfile.CodeBuilder>). Обратитесь к ClassFileTransform для получения общих рекомендаций и предостережений относительно использования преобразований для структур в формате файла class.
Преобразование кода можно поднять до преобразования метода или класса с помощью MethodTransform.transformingCode(CodeTransform) и ClassTransform.transformingMethodBodies(CodeTransform), преобразуя только CodeModel внутри этих структур и передавая все другие элементы в сборщики.
- С:
- 24
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final CodeTransform |
ACCEPT_ALL |
Преобразование кода, которое передает все элементы сборщику. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
default CodeTransform |
andThen |
Цепочечное соединение этого преобразования с другим; элементы, представленные сборщику этого преобразования, станут входными данными для следующего преобразования. |
static CodeTransform |
endHandler |
Создает преобразование кода, которое пропускает каждый элемент в сборщик и вызывает указанную функцию по завершении преобразования. |
static CodeTransform |
ofStateful |
Создаёт состояние преобразования кода из Supplier. |
Методы, объявленные в интерфейсе java.lang.classfile.ClassFileTransform
accept, atEnd, atStart
Подробное описание полей
ACCEPT_ALL
static final CodeTransform ACCEPT_ALL
Подробное описание методов
ofStateful
static CodeTransform ofStateful(Supplier<CodeTransform> supplier)
Supplier. Поставщик будет вызываться для каждого преобразования.- Параметры:
-
supplier-Supplier, который производит новый объект преобразования для каждого прохода - Возвращает:
- преобразование кода со состоянием
endHandler
static CodeTransform endHandler(Consumer<CodeBuilder> finisher)
- Параметры:
-
finisher- функция, которая вызывается по завершении преобразования - Возвращает:
- преобразование кода
andThen
default CodeTransform andThen(CodeTransform t)
ClassFileTransformЭтот метод реализован API файлов класса. Пользователи обычно не имеют достаточного доступа к функционалу API файлов класса, чтобы правильно переопределить этот метод для общих преобразований вниз по потоку.
- Определено в:
-
andThenв интерфейсеClassFileTransform<CodeTransform, CodeElement, CodeBuilder> - Требования реализации:
- Значение по умолчанию возвращает это преобразование кода, соединённое с другим преобразованием кода из аргумента. Цепочечное соединение двух преобразований требует вовлечения цепочечного сборщика, служащего целевым сборщиком для этого преобразования, а также источником элементов для преобразования вниз по потоку.
- Параметры:
-
t- преобразование вниз по потоку - Возвращает:
- соединённое преобразование
© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/classfile/CodeTransform.html