< prev index next >

src/java.base/share/classes/java/lang/classfile/Attribute.java

Print this page

48  * See {@linkplain java.lang.classfile.attribute##reading Reading Attributes}
49  * and {@linkplain java.lang.classfile.attribute##writing Writing Attributes}
50  * for more details.
51  *
52  * @param <A> the attribute type
53  * @see java.lang.classfile.attribute
54  * @see AttributeMapper
55  * @see AttributedElement
56  * @see CustomAttribute
57  * @see UnknownAttribute
58  * @jvms 4.7 Attributes
59  * @sealedGraph
60  * @since 24
61  */
62 public sealed interface Attribute<A extends Attribute<A>>
63         extends ClassFileElement
64         permits AnnotationDefaultAttribute, BootstrapMethodsAttribute,
65                 CharacterRangeTableAttribute, CodeAttribute, CompilationIDAttribute,
66                 ConstantValueAttribute, DeprecatedAttribute, EnclosingMethodAttribute,
67                 ExceptionsAttribute, InnerClassesAttribute, LineNumberTableAttribute,
68                 LocalVariableTableAttribute, LocalVariableTypeTableAttribute,
69                 MethodParametersAttribute, ModuleAttribute, ModuleHashesAttribute,
70                 ModuleMainClassAttribute, ModulePackagesAttribute, ModuleResolutionAttribute,
71                 ModuleTargetAttribute, NestHostAttribute, NestMembersAttribute,
72                 PermittedSubclassesAttribute,
73                 RecordAttribute, RuntimeInvisibleAnnotationsAttribute,
74                 RuntimeInvisibleParameterAnnotationsAttribute, RuntimeInvisibleTypeAnnotationsAttribute,
75                 RuntimeVisibleAnnotationsAttribute, RuntimeVisibleParameterAnnotationsAttribute,
76                 RuntimeVisibleTypeAnnotationsAttribute, SignatureAttribute,
77                 SourceDebugExtensionAttribute, SourceFileAttribute, SourceIDAttribute,
78                 StackMapTableAttribute, SyntheticAttribute,
79                 UnknownAttribute, BoundAttribute, UnboundAttribute, CustomAttribute {
80     /**
81      * {@return the name of the attribute}  The {@linkplain
82      * Utf8Entry#stringValue() string value} of the name is equivalent to the
83      * value of {@link AttributeMapper#name() attributeMapper().name()}.
84      * <p>
85      * If this attribute is read from a {@code class} file, this method returns
86      * the {@link Utf8Entry} indicating the attribute name in the {@code class}
87      * file.
88      */

48  * See {@linkplain java.lang.classfile.attribute##reading Reading Attributes}
49  * and {@linkplain java.lang.classfile.attribute##writing Writing Attributes}
50  * for more details.
51  *
52  * @param <A> the attribute type
53  * @see java.lang.classfile.attribute
54  * @see AttributeMapper
55  * @see AttributedElement
56  * @see CustomAttribute
57  * @see UnknownAttribute
58  * @jvms 4.7 Attributes
59  * @sealedGraph
60  * @since 24
61  */
62 public sealed interface Attribute<A extends Attribute<A>>
63         extends ClassFileElement
64         permits AnnotationDefaultAttribute, BootstrapMethodsAttribute,
65                 CharacterRangeTableAttribute, CodeAttribute, CompilationIDAttribute,
66                 ConstantValueAttribute, DeprecatedAttribute, EnclosingMethodAttribute,
67                 ExceptionsAttribute, InnerClassesAttribute, LineNumberTableAttribute,
68                 LoadableDescriptorsAttribute, LocalVariableTableAttribute, LocalVariableTypeTableAttribute,
69                 MethodParametersAttribute, ModuleAttribute, ModuleHashesAttribute,
70                 ModuleMainClassAttribute, ModulePackagesAttribute, ModuleResolutionAttribute,
71                 ModuleTargetAttribute, NestHostAttribute, NestMembersAttribute,
72                 PermittedSubclassesAttribute,
73                 RecordAttribute, RuntimeInvisibleAnnotationsAttribute,
74                 RuntimeInvisibleParameterAnnotationsAttribute, RuntimeInvisibleTypeAnnotationsAttribute,
75                 RuntimeVisibleAnnotationsAttribute, RuntimeVisibleParameterAnnotationsAttribute,
76                 RuntimeVisibleTypeAnnotationsAttribute, SignatureAttribute,
77                 SourceDebugExtensionAttribute, SourceFileAttribute, SourceIDAttribute,
78                 StackMapTableAttribute, SyntheticAttribute,
79                 UnknownAttribute, BoundAttribute, UnboundAttribute, CustomAttribute {
80     /**
81      * {@return the name of the attribute}  The {@linkplain
82      * Utf8Entry#stringValue() string value} of the name is equivalent to the
83      * value of {@link AttributeMapper#name() attributeMapper().name()}.
84      * <p>
85      * If this attribute is read from a {@code class} file, this method returns
86      * the {@link Utf8Entry} indicating the attribute name in the {@code class}
87      * file.
88      */
< prev index next >