Интерфейс 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 Атрибуты
- Граф иерархии запечатанных классов:
- С версии:
- 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/AttributedElement.html