Интерфейс MethodTransform
- Все суперинтерфейсы:
ClassFileTransform<MethodTransform, MethodElement, MethodBuilder>
- Функциональный интерфейс:
- Это функциональный интерфейс и поэтому может быть использован в качестве целевого назначения лямбда-выражения или ссылки на метод.
@FunctionalInterface public non-sealed interface MethodTransform extends ClassFileTransform<MethodTransform, MethodElement, MethodBuilder>
MethodElement. Обратитесь к ClassFileTransform за общими рекомендациями и предосторожностями при использовании преобразований для структур в формате файла class.
Преобразование метода может быть поднято до преобразования класса через ClassTransform.transformingMethods(MethodTransform), преобразуя только MethodModel среди членов класса и передавая все остальные элементы в билдеры.
- С:
- 24
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final MethodTransform |
ACCEPT_ALL |
Преобразование метода, которое передает все элементы билдеру. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
default MethodTransform |
andThen |
Цепочечное преобразование с другим преобразованием; элементы, представленные билдеру этого преобразования, станут входными данными для следующего преобразования. |
static MethodTransform |
dropping |
Создает преобразование метода, которое пропускает каждый элемент в билдер, за исключением тех, для которых заданный Predicate является истинным. |
static MethodTransform |
endHandler |
Создает преобразование метода, которое пропускает каждый элемент в билдер и вызывает указанную функцию по завершении преобразования. |
static MethodTransform |
ofStateful |
Создает состояние преобразование метода из Supplier. |
static MethodTransform |
transformingCode |
Создает преобразование метода, которое преобразует CodeModel элементы с помощью предоставленного преобразования кода, передавая каждый другой элемент в билдер. |
Методы, объявленные в интерфейсе java.lang.classfile.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 является истинным.- Параметры:
-
filter- предикат, определяющий, какие элементы пропускать - Возвращает:
- преобразование метода
transformingCode
static MethodTransform transformingCode(CodeTransform xform)
CodeModel элементы с помощью предоставленного преобразования кода, передавая каждый другой элемент в билдер.- Параметры:
-
xform- преобразование метода - Возвращает:
- преобразование класса
andThen
default MethodTransform andThen(MethodTransform t)
ClassFileTransformЭтот метод реализован API файла класса. Пользователи обычно не имеют достаточного доступа к функциональности API файла класса, чтобы правильно переопределить этот метод для общих преобразований вниз по потоку.
- Указано в:
-
andThenв интерфейсеClassFileTransform<MethodTransform, MethodElement, MethodBuilder> - Требования к реализации:
- Стандартная реализация возвращает это преобразование метода, цепочечное с другим преобразованием метода из аргумента. Цепочечное соединение двух преобразований требует привлечения цепочечного билдера, служащего целевым билдером для этого преобразования, а также источником элементов для преобразования по нисходящей ветви.
- Параметры:
-
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.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/classfile/MethodTransform.html