Интерфейс ClassTransform
- Все суперинтерфейсы:
ClassFileTransform<ClassTransform, ClassElement, ClassBuilder>
- Функциональный интерфейс:
- Это функциональный интерфейс и поэтому может быть использован в качестве цели присваивания лямбда-выражения или ссылки на метод.
@FunctionalInterface public non-sealed interface ClassTransform extends ClassFileTransform<ClassTransform, ClassElement, ClassBuilder>
ClassElement. Обратитесь к ClassFileTransform для общей информации и рекомендаций по использованию преобразований для структур в формате файла class.
- С:
- 24
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final ClassTransform |
ACCEPT_ALL |
Преобразование класса, которое передает все элементы в билдер. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
default ClassTransform |
andThen |
Цепочечное преобразование с другим преобразованием; элементы, представленные билдеру этого преобразования, станут входом для следующего преобразования. |
static ClassTransform |
dropping |
Создаёт преобразование класса, которое пропускает каждый элемент в билдер, за исключением тех, для которых предоставленный Predicate возвращает true. |
static ClassTransform |
endHandler |
Создаёт преобразование класса, которое пропускает каждый элемент в билдер и вызывает указанную функцию по завершении преобразования. |
static ClassTransform |
ofStateful |
Создаёт состояние преобразования класса из Supplier. |
static ClassTransform |
transformingFields |
Создаёт преобразование класса, которое преобразует элементы FieldModel с помощью предоставленного преобразования поля, пропуская другие элементы в билдер. |
static ClassTransform |
transformingMethodBodies |
Создаёт преобразование класса, которое преобразует CodeAttribute (тело метода) элементов MethodModel с помощью предоставленного преобразования кода, пропуская другие элементы в билдер. |
static ClassTransform |
transformingMethodBodies |
Создаёт преобразование класса, которое преобразует CodeAttribute (тело метода) элементов MethodModel с помощью предоставленного преобразования кода для методов, для которых предоставленный Predicate возвращает true, пропуская другие элементы в билдер. |
static ClassTransform |
transformingMethods |
Создаёт преобразование класса, которое преобразует элементы MethodModel с помощью предоставленного преобразования метода, пропуская другие элементы в билдер. |
static ClassTransform |
transformingMethods |
Создаёт преобразование класса, которое преобразует элементы MethodModel с помощью предоставленного преобразования метода для методов, для которых предоставленный Predicate возвращает true, пропуская другие элементы в билдер. |
Методы, объявленные в интерфейсе java.lang.classfile.ClassFileTransform
accept, atEnd, atStart
Подробное описание полей
ACCEPT_ALL
static final ClassTransform ACCEPT_ALL
Подробное описание методов
ofStateful
static ClassTransform ofStateful(Supplier<ClassTransform> supplier)
Supplier. Поставщик будет вызываться для каждого преобразования.- Параметры:
-
supplier-Supplier, который генерирует новый объект преобразования для каждого обхода - Возвращает:
- преобразующий класс со состоянием
endHandler
static ClassTransform endHandler(Consumer<ClassBuilder> finisher)
- Параметры:
-
finisher- функция, которая вызывается по завершении преобразования - Возвращает:
- преобразующий класс
dropping
static ClassTransform dropping(Predicate<ClassElement> filter)
Predicate возвращает true.- Параметры:
-
filter- предикат, определяющий, какие элементы следует опустить - Возвращает:
- преобразующий класс
transformingMethods
static ClassTransform transformingMethods(Predicate<MethodModel> filter, MethodTransform xform)
MethodModel с помощью предоставленного преобразования метода для методов, для которых предоставленный Predicate возвращает true, пропуская другие элементы к сборщику.- Параметры:
-
filter- предикат, определяющий, какие методы преобразовать -
xform- преобразование метода - Возвращает:
- преобразующий класс
transformingMethods
static ClassTransform transformingMethods(MethodTransform xform)
MethodModel с помощью предоставленного преобразования метода, пропуская другие элементы к сборщику.- Параметры:
-
xform- преобразование метода - Возвращает:
- преобразующий класс
transformingMethodBodies
static ClassTransform transformingMethodBodies(Predicate<MethodModel> filter, CodeTransform xform)
CodeAttribute (тело метода) элементов MethodModel с помощью предоставленного преобразования кода для методов, для которых предоставленный Predicate возвращает true, пропуская другие элементы к сборщику.- Параметры:
-
filter- предикат, определяющий, какие методы преобразовать -
xform- преобразование кода - Возвращает:
- преобразующий класс
transformingMethodBodies
static ClassTransform transformingMethodBodies(CodeTransform xform)
CodeAttribute (тело метода) элементов MethodModel с помощью предоставленного преобразования кода, пропуская другие элементы к сборщику.- Параметры:
-
xform- преобразование кода - Возвращает:
- преобразующий класс
transformingFields
static ClassTransform transformingFields(FieldTransform xform)
FieldModel с помощью предоставленного преобразования поля, пропуская другие элементы к сборщику.- Параметры:
-
xform- преобразование поля - Возвращает:
- преобразующий класс
andThen
default ClassTransform andThen(ClassTransform t)
ClassFileTransformЭтот метод реализован API класса файлов. Пользователи обычно не имеют достаточного доступа к функциональности API класса файлов, чтобы правильно переопределить этот метод для общих преобразований вниз по потоку.
- Указано в:
-
andThenв интерфейсеClassFileTransform<ClassTransform, ClassElement, ClassBuilder> - Требования к реализации:
- В реализации по умолчанию возвращается этот преобразователь класса, соединённый с другим преобразователем класса из аргумента. Цепной преобразование двух преобразований требует включения цепного сборщика, служащего целевым сборщиком для этого преобразования, а также источником элементов для преобразования вниз по потоку.
- Параметры:
-
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/ClassTransform.html