Spec-Zone.ru › OpenJDK 25

Интерфейс 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

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

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, 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/MethodTransform.html

Spec-Zone.ru

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