RuntimeVisibleAnnotationsAttribute (Java SE 26 & JDK 26)
Description: declaration: module: java.base, package: java.lang.classfile.attribute, interface: RuntimeVisibleAnnotationsAttribute
Keywords: java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute interface

# Interface RuntimeVisibleAnnotationsAttribute

All Superinterfaces:
  `Attribute<RuntimeVisibleAnnotationsAttribute>, ClassElement, ClassFileElement, FieldElement, MethodElement`

public sealed interface RuntimeVisibleAnnotationsAttribute extends Attribute<RuntimeVisibleAnnotationsAttribute>, ClassElement, MethodElement, FieldElement
Models the `RuntimeVisibleAnnotations` attribute (JVMS 4.7.16), which stores declaration annotations on this structure that are visible to both `class` file consumers and core reflection.

This attribute appears on classes, fields, methods, and record components, and does not permit multiple instances in one structure. It has a data dependency on the constant pool.

The attribute was introduced in the Java SE Platform version 5.0, major version 49.

See Java Virtual Machine Specification:
  4.7.16 The `RuntimeVisibleAnnotations` Attribute
Since:
  24
See Also:
  - `Attributes.runtimeVisibleAnnotations()`
  - `Element`
  - `AnnotatedElement`
  - `ElementType`
  - `RetentionPolicy.RUNTIME`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<Annotation>`
  `annotations()`
  Returns the run-time visible declaration annotations on this structure.
  `static RuntimeVisibleAnnotationsAttribute`
  `of(Annotation... annotations)`
  Returns a `RuntimeVisibleAnnotations` attribute.
  `static RuntimeVisibleAnnotationsAttribute`
  `of(List<Annotation> annotations)`
  Returns a `RuntimeVisibleAnnotations` attribute.

  ### Methods declared in interface Attribute

  `attributeMapper, attributeName`
  Modifier and Type
  Method
  Description
  `AttributeMapper<RuntimeVisibleAnnotationsAttribute>`
  `attributeMapper()`
  Returns the `AttributeMapper` associated with this attribute.
  `Utf8Entry`
  `attributeName()`
  Returns the name of the attribute.

- ## Method Details

  - ### annotations

    List<Annotation> annotations()
    Returns the run-time visible declaration annotations on this structure.
    Returns:
      the run-time visible declaration annotations on this structure

  - ### of

    static RuntimeVisibleAnnotationsAttribute of(List<Annotation> annotations)
    Returns a `RuntimeVisibleAnnotations` attribute.
    Parameters:
      `annotations` - the annotations
    Returns:
      a `RuntimeVisibleAnnotations` attribute
    Throws:
      `IllegalArgumentException` - if the number of annotations exceeds the limit of `u2`

  - ### of

    static RuntimeVisibleAnnotationsAttribute of(Annotation... annotations)
    Returns a `RuntimeVisibleAnnotations` attribute.
    Parameters:
      `annotations` - the annotations
    Returns:
      a `RuntimeVisibleAnnotations` attribute
    Throws:
      `IllegalArgumentException` - if the number of annotations exceeds the limit of `u2`