APIdia Launch Partner
Top Description Methods
java.lang.classfile.attribute

public sealed Interface RuntimeVisibleTypeAnnotationsAttribute

extends Attribute<RuntimeVisibleTypeAnnotationsAttribute>, ClassElement, MethodElement, FieldElement, CodeElement
permits BoundRuntimeVisibleTypeAnnotationsAttribute, UnboundRuntimeVisibleTypeAnnotationsAttribute
Known Direct Implementers
jdk.internal.classfile.impl.BoundAttribute.BoundRuntimeVisibleTypeAnnotationsAttribute, jdk.internal.classfile.impl.UnboundAttribute.UnboundRuntimeVisibleTypeAnnotationsAttribute
Annotations
@SuppressWarnings:doclint:reference
Imports
java.lang.annotation.ElementType, .RetentionPolicy, java.lang.classfile.*, .AttributeMapper.AttributeStability, java.lang.reflect.AnnotatedType, java.util.List, jdk.internal.classfile.impl.BoundAttribute, .UnboundAttribute

Models the RuntimeVisibleTypeAnnotations attribute (JVMS 4.7.20), which stores type-use annotations for the annotated uses of types in this structure that are visible to both class file consumers and core reflection. Its delivery in the traversal of a CodeModel may be toggled by ClassFile.DebugElementsOption.

This attribute appears on classes, fields, methods, Code attributes, and record components, and does not permit multiple instances in one structure. It has a data dependency on arbitrary indices in the class file format, so users must take great care to ensure this attribute is still correct after a class file has been transformed.

The attribute was introduced in the Java SE Platform version 8, major version 52.

Since
24
Java Virtual Machine Specification
4.7.20 the RuntimeVisibleTypeAnnotations Attribute
See Also
Attributes#runtimeVisibleTypeAnnotations(), java.compiler/javax.lang.model.type.TypeMirror, AnnotatedType, ElementType#TYPE_PARAMETER, ElementType#TYPE_USE, RetentionPolicy#RUNTIME

Method Summary

Modifier and TypeMethod and Description
public List<TypeAnnotation>

Returns:

the run-time visible annotations on uses of types in this structure
annotations
()

Returns the run-time visible annotations on uses of types in this structure.

public static RuntimeVisibleTypeAnnotationsAttribute

Returns:

a RuntimeVisibleTypeAnnotations attribute
of
(List<TypeAnnotation>
the annotations
annotations
)

Returns a RuntimeVisibleTypeAnnotations attribute.

public static RuntimeVisibleTypeAnnotationsAttribute

Returns:

a RuntimeVisibleTypeAnnotations attribute
of
(TypeAnnotation...
the annotations
annotations
)

Returns a RuntimeVisibleTypeAnnotations attribute.

Inherited from java.lang.classfile.Attribute:
attributeMapperattributeName

Method Detail

annotationsback to summary
public List<TypeAnnotation> annotations()

Returns the run-time visible annotations on uses of types in this structure.

Returns:List<TypeAnnotation>

the run-time visible annotations on uses of types in this structure

ofback to summary
public static RuntimeVisibleTypeAnnotationsAttribute of(List<TypeAnnotation> annotations)

Returns a RuntimeVisibleTypeAnnotations attribute.

Parameters
annotations:List<TypeAnnotation>

the annotations

Returns:RuntimeVisibleTypeAnnotationsAttribute

a RuntimeVisibleTypeAnnotations attribute

Exceptions
IllegalArgumentException:
if the number of annotations exceeds the limit of u2
ofback to summary
public static RuntimeVisibleTypeAnnotationsAttribute of(TypeAnnotation... annotations)

Returns a RuntimeVisibleTypeAnnotations attribute.

Parameters
annotations:TypeAnnotation[]

the annotations

Returns:RuntimeVisibleTypeAnnotationsAttribute

a RuntimeVisibleTypeAnnotations attribute

Exceptions
IllegalArgumentException:
if the number of annotations exceeds the limit of u2