Spec-Zone.ru › OpenJDK 27

Интерфейс 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
Модификатор и тип Метод Описание
void accept(ClassBuilder builder, ClassElement element)
Преобразует элемент, выполняя соответствующие действия с построителем.
default void atEnd(ClassBuilder builder)
Выполняет любые завершающие действия во время преобразования сущности файла класса.
default void atStart(ClassBuilder builder)
Выполняет любые предварительные действия во время преобразования сущности файла класса.

Подробное описание полей

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 — последующее преобразование
Возвращает:
объединенное преобразование

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, где представлены более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторские права © 1993, 2026, 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.

Spec-Zone.ru

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