Spec-Zone.ru › OpenJDK 25

Интерфейс ClassTransform

Все суперинтерфейсы:
ClassFileTransform<ClassTransform, ClassElement, ClassBuilder>
Функциональный интерфейс:
Это функциональный интерфейс, поэтому его можно использовать в качестве цели присваивания для лямбда-выражения или ссылки на метод.
@FunctionalInterface public non-sealed interface ClassTransform extends ClassFileTransform<ClassTransform, ClassElement, ClassBuilder>
Преобразование потоков ClassElement.

Общие рекомендации и предостережения по использованию преобразований для структур в формате файлов class см. в разделе ClassFileTransform.

Начиная с версии:
24
См. также:
  • ClassModel
  • ClassFile.transformClass(ClassModel, ClassTransform)

Краткое описание полей

Модификатор и тип Поле Описание
static final ClassTransform ACCEPT_ALL
Преобразование класса, передающее все элементы построителю.

Краткое описание методов

Модификатор и тип Метод Описание
default ClassTransform andThen(ClassTransform t)
Связывает это преобразование с другим; элементы, переданные построителю этого преобразования, становятся входными данными для следующего преобразования.
static ClassTransform dropping(Predicate<ClassElement> filter)
Создает преобразование класса, передающее каждый элемент построителю, за исключением тех элементов, для которых заданный Predicate возвращает true.
static ClassTransform endHandler(Consumer<ClassBuilder> finisher)
Создает преобразование класса, передающее каждый элемент построителю и вызывающее указанную функцию по завершении преобразования.
static ClassTransform ofStateful(Supplier<ClassTransform> supplier)
Создает сохраняющее состояние преобразование класса из Supplier.
static ClassTransform transformingFields(FieldTransform xform)
Создает преобразование класса, преобразующее элементы FieldModel с помощью заданного преобразования полей и передающее остальные элементы построителю.
static ClassTransform transformingMethodBodies(CodeTransform xform)
Создает преобразование класса, преобразующее CodeAttribute (тело метода) элементов MethodModel с помощью заданного преобразования кода и передающее остальные элементы построителю.
static ClassTransform transformingMethodBodies(Predicate<MethodModel> filter, CodeTransform xform)
Создает преобразование класса, преобразующее CodeAttribute (тело метода) элементов MethodModel с помощью заданного преобразования кода для методов, для которых заданный Predicate возвращает true, и передающее остальные элементы построителю.
static ClassTransform transformingMethods(MethodTransform xform)
Создает преобразование класса, преобразующее элементы MethodModel с помощью заданного преобразования методов и передающее остальные элементы построителю.
static ClassTransform transformingMethods(Predicate<MethodModel> filter, MethodTransform xform)
Создает преобразование класса, преобразующее элементы MethodModel с помощью заданного преобразования методов для методов, для которых заданный Predicate возвращает true, и передающее остальные элементы построителю.

Методы, объявленные в интерфейсе 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 Class-File. Обычно у пользователей нет достаточного доступа к функциям API Class-File, чтобы правильно переопределить этот метод для общих последующих преобразований.

Определено в:
andThen в интерфейсе ClassFileTransform<ClassTransform, ClassElement, ClassBuilder>
Требования к реализации:
Реализация по умолчанию возвращает это преобразование класса, связанное с другим преобразованием класса, переданным в аргументе. Для связывания двух преобразований требуется связанный построитель, который служит целевым построителем для этого преобразования, а также источником элементов для последующего преобразования.
Параметры:
t — последующее преобразование
Возвращает:
связанное преобразование

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/ClassTransform.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API