Интерфейс Attribute<A extends Attribute<A>>
- Параметры типа:
A- тип атрибута
- Все суперинтерфейсы:
ClassFileElement
- Все известные подинтерфейсы:
AnnotationDefaultAttribute, BootstrapMethodsAttribute, CharacterRangeTableAttribute, CodeAttribute, CompilationIDAttribute, ConstantValueAttribute, DeprecatedAttribute, EnclosingMethodAttribute, ExceptionsAttribute, InnerClassesAttribute, LineNumberTableAttribute, LocalVariableTableAttribute, LocalVariableTypeTableAttribute, MethodParametersAttribute, ModuleAttribute, ModuleHashesAttribute, ModuleMainClassAttribute, ModulePackagesAttribute, ModuleResolutionAttribute, ModuleTargetAttribute, NestHostAttribute, NestMembersAttribute, PermittedSubclassesAttribute, RecordAttribute, RuntimeInvisibleAnnotationsAttribute, RuntimeInvisibleParameterAnnotationsAttribute, RuntimeInvisibleTypeAnnotationsAttribute, RuntimeVisibleAnnotationsAttribute, RuntimeVisibleParameterAnnotationsAttribute, RuntimeVisibleTypeAnnotationsAttribute, SignatureAttribute, SourceDebugExtensionAttribute, SourceFileAttribute, SourceIDAttribute, StackMapTableAttribute, SyntheticAttribute, UnknownAttribute
- Все известные реализующие классы:
CustomAttribute
public sealed interface Attribute<A extends Attribute<A>> extends ClassFileElement permits AnnotationDefaultAttribute, BootstrapMethodsAttribute, CharacterRangeTableAttribute, CodeAttribute, CompilationIDAttribute, ConstantValueAttribute, DeprecatedAttribute, EnclosingMethodAttribute, ExceptionsAttribute, InnerClassesAttribute, LineNumberTableAttribute, LocalVariableTableAttribute, LocalVariableTypeTableAttribute, MethodParametersAttribute, ModuleAttribute, ModuleHashesAttribute, ModuleMainClassAttribute, ModulePackagesAttribute, ModuleResolutionAttribute, ModuleTargetAttribute, NestHostAttribute, NestMembersAttribute, PermittedSubclassesAttribute, RecordAttribute, RuntimeInvisibleAnnotationsAttribute, RuntimeInvisibleParameterAnnotationsAttribute, RuntimeInvisibleTypeAnnotationsAttribute, RuntimeVisibleAnnotationsAttribute, RuntimeVisibleParameterAnnotationsAttribute, RuntimeVisibleTypeAnnotationsAttribute, SignatureAttribute, SourceDebugExtensionAttribute, SourceFileAttribute, SourceIDAttribute, StackMapTableAttribute, SyntheticAttribute, UnknownAttribute, CustomAttribute<T> (not exhaustive)
class. Атрибуты присутствуют в определённых структурах файла class, моделируемых интерфейсом AttributedElement, который предоставляет базовый доступ для чтения атрибутов. Эта иерархия запечатанных интерфейсов включает атрибуты, предопределённые в JVMS, и нестандартные атрибуты, специфичные для JDK. Их сопоставители доступны в Attributes. Два специальных подтипа
Attribute — это CustomAttribute, от которого должны наследоваться все пользовательские атрибуты, и UnknownAttribute, представляющий атрибуты, прочитанные из файла class, но не распознанные интерфейсом ClassFile.AttributeMapperOption.
Атрибуты считываются через AttributedElement или при обходе элементов CompoundElement; они записываются через ClassFileBuilder. Подробнее см. разделы Чтение атрибутов и Запись атрибутов.
- См. Спецификацию виртуальной машины Java:
- 4.7 Атрибуты
- Граф иерархии запечатанных классов:
- С версии:
- 24
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
AttributeMapper |
attributeMapper() |
Возвращает AttributeMapper, связанный с этим атрибутом. |
Utf8Entry |
attributeName() |
Возвращает имя атрибута. |
Подробное описание методов
attributeName
Utf8Entry attributeName()
attributeMapper().name(). Если этот атрибут считан из файла class, этот метод возвращает Utf8Entry, указывающую имя атрибута в файле class.
- Возвращает:
- имя атрибута
attributeMapper
AttributeMapper<A> attributeMapper()
AttributeMapper, связанный с этим атрибутом.- Возвращает:
AttributeMapper, связанный с этим атрибутом
© 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/Attribute.html