Spec-Zone.ru › OpenJDK 27

Интерфейс MethodTransform

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

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

Преобразование метода можно преобразовать в преобразование класса с помощью ClassTransform.transformingMethods(MethodTransform), преобразуя только MethodModel среди членов класса и передавая все остальные элементы построителям.

Начиная с:
24
См. также:
  • MethodModel
  • ClassBuilder.transformMethod(MethodModel, MethodTransform)

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

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

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

Модификатор и тип Метод Описание
default MethodTransform andThen(MethodTransform t)
Связывает это преобразование с другим; элементы, переданные построителю этого преобразования, становятся входными данными следующего преобразования.
static MethodTransform dropping(Predicate<MethodElement> filter)
Создает преобразование метода, передающее каждый элемент построителю, кроме элементов, для которых заданный Predicate возвращает true.
static MethodTransform endHandler(Consumer<MethodBuilder> finisher)
Создает преобразование метода, передающее каждый элемент построителю и вызывающее указанную функцию по завершении преобразования.
static MethodTransform ofStateful(Supplier<MethodTransform> supplier)
Создает преобразование метода с состоянием из Supplier.
static MethodTransform transformingCode(CodeTransform xform)
Создает преобразование метода, преобразующее элементы CodeModel с помощью заданного преобразования кода и передающее все остальные элементы построителю.

Методы, объявленные в интерфейсе ClassFileTransform

accept, atEnd, atStart
Модификатор и тип Метод Описание
void accept(MethodBuilder builder, MethodElement element)
Преобразует элемент, выполняя соответствующие действия с построителем.
default void atEnd(MethodBuilder builder)
Выполняет завершающие действия при преобразовании сущности файла класса.
default void atStart(MethodBuilder builder)
Выполняет предварительные действия при преобразовании сущности файла класса.

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

ACCEPT_ALL

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

Подробное описание методов

ofStateful

static MethodTransform ofStateful(Supplier<MethodTransform> supplier)
Создает преобразование метода с состоянием из Supplier. Поставщик будет вызываться при каждом преобразовании.
Параметры:
supplier — Supplier, создающий новый объект преобразования при каждом обходе
Возвращает:
преобразование метода с состоянием

endHandler

static MethodTransform endHandler(Consumer<MethodBuilder> finisher)
Создает преобразование метода, передающее каждый элемент построителю и вызывающее указанную функцию по завершении преобразования.
Параметры:
finisher — функция, вызываемая по завершении преобразования
Возвращает:
преобразование метода

dropping

static MethodTransform dropping(Predicate<MethodElement> filter)
Создает преобразование метода, передающее каждый элемент построителю, кроме элементов, для которых заданный Predicate возвращает true.
Параметры:
filter — предикат, определяющий, какие элементы следует отбросить
Возвращает:
преобразование метода

transformingCode

static MethodTransform transformingCode(CodeTransform xform)
Создает преобразование метода, преобразующее элементы CodeModel с помощью заданного преобразования кода и передающее все остальные элементы построителю.
Параметры:
xform — преобразование метода
Возвращает:
преобразование класса

andThen

default MethodTransform andThen(MethodTransform t)
Описание скопировано из интерфейса: ClassFileTransform
Связывает это преобразование с другим; элементы, переданные построителю этого преобразования, становятся входными данными следующего преобразования.

Этот метод реализован API файлов классов. Обычно у пользователей нет достаточного доступа к функциям API файлов классов, чтобы правильно переопределить этот метод для общих последующих преобразований.

Определено в:
andThen в интерфейсе ClassFileTransform<MethodTransform, MethodElement, MethodBuilder>
Требования к реализации:
Реализация по умолчанию возвращает это преобразование метода, связанное с другим преобразованием метода, переданным в аргументе. Для связывания двух преобразований необходимо использовать связанный построитель, который служит целевым построителем для этого преобразования и одновременно источником элементов для последующего преобразования.
Параметры:
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