Spec-Zone.ru › OpenJDK 25

Интерфейс AttributedElement

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

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

См. Спецификацию виртуальной машины Java:
4.7 Атрибуты
Граф иерархии запечатанных классов:
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, если атрибут отсутствует

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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/AttributedElement.html

Spec-Zone.ru

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