APIdia Launch Partner
Top Description Methods
java.lang.classfile

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, BoundAttribute<T>, UnboundAttribute<T>, CustomAttribute<T>
Known Direct Subinterfaces
java.lang.classfile.attribute.AnnotationDefaultAttribute, java.lang.classfile.attribute.BootstrapMethodsAttribute, java.lang.classfile.attribute.CharacterRangeTableAttribute, java.lang.classfile.attribute.CodeAttribute, java.lang.classfile.attribute.CompilationIDAttribute, java.lang.classfile.attribute.ConstantValueAttribute, java.lang.classfile.attribute.DeprecatedAttribute, java.lang.classfile.attribute.EnclosingMethodAttribute, java.lang.classfile.attribute.ExceptionsAttribute, java.lang.classfile.attribute.InnerClassesAttribute, java.lang.classfile.attribute.LineNumberTableAttribute, java.lang.classfile.attribute.LocalVariableTableAttribute, java.lang.classfile.attribute.LocalVariableTypeTableAttribute, java.lang.classfile.attribute.MethodParametersAttribute, java.lang.classfile.attribute.ModuleAttribute, java.lang.classfile.attribute.ModuleHashesAttribute, java.lang.classfile.attribute.ModuleMainClassAttribute, java.lang.classfile.attribute.ModulePackagesAttribute, java.lang.classfile.attribute.ModuleResolutionAttribute, java.lang.classfile.attribute.ModuleTargetAttribute, java.lang.classfile.attribute.NestHostAttribute, java.lang.classfile.attribute.NestMembersAttribute, java.lang.classfile.attribute.PermittedSubclassesAttribute, java.lang.classfile.attribute.RecordAttribute, java.lang.classfile.attribute.RuntimeInvisibleAnnotationsAttribute, java.lang.classfile.attribute.RuntimeInvisibleParameterAnnotationsAttribute, java.lang.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute, java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute, java.lang.classfile.attribute.RuntimeVisibleParameterAnnotationsAttribute, java.lang.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute, java.lang.classfile.attribute.SignatureAttribute, java.lang.classfile.attribute.SourceDebugExtensionAttribute, java.lang.classfile.attribute.SourceFileAttribute, java.lang.classfile.attribute.SourceIDAttribute, java.lang.classfile.attribute.StackMapTableAttribute, java.lang.classfile.attribute.SyntheticAttribute, java.lang.classfile.attribute.UnknownAttribute
Known Direct Implementers
java.lang.classfile.CustomAttribute, jdk.internal.classfile.impl.BoundAttribute, jdk.internal.classfile.impl.UnboundAttribute
Type Parameters
<A>
the attribute type
Imports
java.lang.classfile.attribute.*, java.lang.classfile.constantpool.Utf8Entry, jdk.internal.classfile.impl.BoundAttribute, .UnboundAttribute

Models an attribute (JVMS 4.7) in the class file format. Attributes exist on certain class file structures modeled by AttributedElement, which provides basic read access to the attributes.

This sealed interface hierarchy includes attributes predefined in the JVMS and JDK-specific nonstandard attributes. Their mappers are available in Attributes. Two special subtypes of Attribute are CustomAttribute, which all user-defined attributes should extend from, and UnknownAttribute, representing attributes read from class file but are not recognized by the ClassFile.AttributeMapperOption.

Attributes are read through AttributedElement or element traversal of a CompoundElement; they are written through ClassFileBuilder. See Reading Attributes and Writing Attributes for more details.

Since
24
Java Virtual Machine Specification
4.7 Attributes
See Also
java.lang.classfile.attribute, AttributeMapper, AttributedElement, CustomAttribute, UnknownAttribute

Method Summary

Modifier and TypeMethod and Description
public AttributeMapper<A>

Returns:

the AttributeMapper associated with this attribute
attributeMapper
()

Returns the AttributeMapper associated with this attribute.

public Utf8Entry

Returns:

the name of the attribute
attributeName
()

Returns the name of the attribute.

Method Detail

attributeMapperback to summary
public AttributeMapper<A> attributeMapper()

Returns the AttributeMapper associated with this attribute.

Returns:AttributeMapper<A>

the AttributeMapper associated with this attribute

attributeNameback to summary
public Utf8Entry attributeName()

Returns the name of the attribute. The string value of the name is equivalent to the value of attributeMapper().name().

If this attribute is read from a class file, this method returns the Utf8Entry indicating the attribute name in the class file.

Returns:Utf8Entry

the name of the attribute