Interface RuntimeVisibleTypeAnnotationsAttribute

All Superinterfaces:
Attribute<RuntimeVisibleTypeAnnotationsAttribute>, ClassElement, ClassFileElement, CodeElement, FieldElement, MethodElement

public sealed interface RuntimeVisibleTypeAnnotationsAttribute extends Attribute<RuntimeVisibleTypeAnnotationsAttribute>, ClassElement, MethodElement, FieldElement, CodeElement
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.

See Java Virtual Machine Specification:
4.7.20 the RuntimeVisibleTypeAnnotations Attribute
Since:
24
See Also:
  • Method Details

    • annotations

      List<TypeAnnotation> annotations()
      Returns the run-time visible annotations on uses of types in this structure.
      Returns:
      the run-time visible annotations on uses of types in this structure
    • of

      Returns a RuntimeVisibleTypeAnnotations attribute.
      Parameters:
      annotations - the annotations
      Returns:
      a RuntimeVisibleTypeAnnotations attribute
    • of

      Returns a RuntimeVisibleTypeAnnotations attribute.
      Parameters:
      annotations - the annotations
      Returns:
      a RuntimeVisibleTypeAnnotations attribute