Интерфейс ClassTransform
- Все суперинтерфейсы:
ClassFileTransform<ClassTransform, ClassElement, ClassBuilder>
- Функциональный интерфейс:
- Это функциональный интерфейс, поэтому его можно использовать в качестве цели присваивания для лямбда-выражения или ссылки на метод.
@FunctionalInterface public non-sealed interface ClassTransform extends ClassFileTransform<ClassTransform, ClassElement, ClassBuilder>
ClassElement. Общие рекомендации и предостережения по использованию преобразований для структур в формате файлов class см. в описании ClassFileTransform.
- Начиная с версии:
- 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, передавая остальные элементы построителю. |
Методы, объявленные в интерфейсе ClassFileTransform
accept, atEnd, atStart | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
accept |
Преобразует элемент, выполняя соответствующие действия с построителем. |
default void |
atEnd |
Выполняет любые завершающие действия во время преобразования сущности файла класса. |
default void |
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.