Spec-Zone.ru › OpenJDK 24

Интерфейс AttributedElement

Все суперинтерфейсы:
ClassFileElement
Все известные подинтерфейсы:
ClassModel, CodeAttribute, CodeModel, FieldModel, MethodModel, RecordComponentInfo
public sealed interface AttributedElement extends ClassFileElement permits ClassModel, CodeModel, FieldModel, MethodModel, RecordComponentInfo (not exhaustive)
A ClassFileElement описывающий структуру файла class, содержащую атрибуты, такие как файл class, поле, метод, атрибут Code или компонент записи.

За исключением случаев, явно указанных в документации, большинство атрибутов, которые можно найти в CompoundElement реализуют соответствующий подинтерфейс членства ClassFileElement и могут быть отправлены в ClassFileBuilder для интеграции в создаваемую структуру.

См. Спецификацию Java Virtual Machine:
4.7 Атрибуты
Диаграмма иерархии Sealed классов:
Sealed class hierarchy graph for AttributedElementSealed class hierarchy graph for AttributedElement
С:
24
См. также:
  • java.lang.classfile.attribute

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

Модификатор и тип Метод Описание
List<Attribute<?>> attributes()
Возвращает атрибуты этой структуры.
default <T extends Attribute<T>>
Optional<T>
findAttribute(AttributeMapper<T> attr)
Находит атрибут по имени.
default <T extends Attribute<T>>
List<T>
findAttributes(AttributeMapper<T> attr)
Находит атрибуты по имени.

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

attributes

List<Attribute<?>> attributes()
Возвращает атрибуты этой структуры.
Возвращает:
атрибуты этой структуры

findAttribute

default <T extends Attribute<T>> Optional<T> findAttribute(AttributeMapper<T> attr)
Находит атрибут по имени. Это подходит для поиска атрибутов, которые разрешают не более одной копии в одной структуре. Если это используется для поиска атрибутов, которые допускают несколько копий в одной структуре, возвращается первая совпадающая копия.
Примечание API:
Это можно легко использовать для поиска атрибута и передачи его другому ClassFileBuilder, что является Consumer:
MethodModel method = ...
MethodBuilder mb = ...
method.findAttribute(Attributes.code()).ifPresent(mb);
Параметры типа:
T - тип атрибута
Параметры:
attr - маппер атрибутов
Возвращает:
атрибут или Optional.empty(), если атрибут отсутствует

findAttributes

default <T extends Attribute<T>> List<T> findAttributes(AttributeMapper<T> attr)
Находит атрибуты по имени. Это подходит для поиска атрибутов, которые разрешают несколько копий в одной структуре.
Параметры типа:
T - тип атрибута
Параметры:
attr - маппер атрибутов
Возвращает:
атрибуты или пустой List, если атрибут отсутствует

© 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/AttributedElement.html

Spec-Zone.ru

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