Интерфейс 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 Virtual Machine:
- 4.7 Атрибуты
- Диаграмма иерархии Sealed классов:
- С:
- 24
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
List |
attributes() |
Возвращает атрибуты этой структуры. |
default <T extends Attribute<T>> |
findAttribute |
Находит атрибут по имени. |
default <T extends Attribute<T>> |
findAttributes |
Находит атрибуты по имени. |
Подробное описание методов
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