Интерфейс FieldTransform
- Все суперинтерфейсы:
ClassFileTransform<FieldTransform, FieldElement, FieldBuilder>
- Функциональный интерфейс:
- Это функциональный интерфейс, поэтому его можно использовать в качестве цели присваивания для лямбда-выражения или ссылки на метод.
@FunctionalInterface public non-sealed interface FieldTransform extends ClassFileTransform<FieldTransform, FieldElement, FieldBuilder>
FieldElement. Общие рекомендации и предостережения по использованию преобразований для структур в формате файла class см. в описании ClassFileTransform.
Преобразование поля можно преобразовать в преобразование класса с помощью ClassTransform.transformingFields(FieldTransform): оно преобразует только FieldModel среди членов класса и передает все остальные элементы построителям.
- С версии:
- 24
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final FieldTransform |
ACCEPT_ALL |
Преобразование поля, передающее все элементы построителю. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
default FieldTransform |
andThen |
Связывает это преобразование с другим; элементы, передаваемые построителю этого преобразования, станут входными данными для следующего преобразования. |
static FieldTransform |
dropping |
Создает преобразование поля, которое передает каждый элемент построителю, за исключением элементов, для которых заданный Predicate возвращает true. |
static FieldTransform |
endHandler |
Создает преобразование поля, которое передает каждый элемент построителю и вызывает указанную функцию после завершения преобразования. |
static FieldTransform |
ofStateful |
Создает преобразование поля с состоянием на основе Supplier. |
Методы, объявленные в интерфейсе ClassFileTransform
accept, atEnd, atStart | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
accept |
Преобразует элемент, выполняя соответствующие действия над построителем. |
default void |
atEnd |
Выполняет заключительные действия при преобразовании сущности файла класса. |
default void |
atStart |
Выполняет предварительные действия при преобразовании сущности файла класса. |
Подробное описание полей
ACCEPT_ALL
static final FieldTransform ACCEPT_ALL
Подробное описание методов
ofStateful
static FieldTransform ofStateful(Supplier<FieldTransform> supplier)
Supplier. Поставщик будет вызываться для каждого преобразования.- Параметры:
-
supplier—Supplier, создающий новый объект преобразования для каждого обхода - Возвращает:
- преобразование поля с состоянием
endHandler
static FieldTransform endHandler(Consumer<FieldBuilder> finisher)
- Параметры:
-
finisher— функция, вызываемая после завершения преобразования - Возвращает:
- преобразование поля
dropping
static FieldTransform dropping(Predicate<FieldElement> filter)
Predicate возвращает true.- Параметры:
-
filter— предикат, определяющий, какие элементы следует отбросить - Возвращает:
- преобразование поля
andThen
default FieldTransform andThen(FieldTransform t)
ClassFileTransformЭтот метод реализован API файлов классов. Обычно у пользователей нет достаточного доступа к функциональным возможностям API файлов классов, чтобы правильно переопределить этот метод для общих последующих преобразований.
- Определено в:
-
andThenв интерфейсеClassFileTransform<FieldTransform, FieldElement, FieldBuilder> - Требования к реализации:
- Реализация по умолчанию возвращает это преобразование поля, связанное с другим преобразованием поля, переданным в качестве аргумента. Для связывания двух преобразований требуется связанный построитель, который служит целевым построителем для этого преобразования, а также источником элементов для последующего преобразования.
- Параметры:
-
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.