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

# Interface AnnotationValue.OfAnnotation

All Superinterfaces:
  `AnnotationValue`

Enclosing interface:
  `AnnotationValue`

public static sealed interface AnnotationValue.OfAnnotation extends AnnotationValue
Models an annotation value of an element-value pair. The tag of this value is @.

Since:
  24

- ## Nested Class Summary

  ### Nested classes/interfaces declared in interface AnnotationValue

  `AnnotationValue.OfAnnotation, AnnotationValue.OfArray, AnnotationValue.OfBoolean, AnnotationValue.OfByte, AnnotationValue.OfChar, AnnotationValue.OfClass, AnnotationValue.OfConstant, AnnotationValue.OfDouble, AnnotationValue.OfEnum, AnnotationValue.OfFloat, AnnotationValue.OfInt, AnnotationValue.OfLong, AnnotationValue.OfShort, AnnotationValue.OfString`
  Modifier and Type
  Interface
  Description
  `static interface`
  `AnnotationValue.OfAnnotation`
  Models an annotation value of an element-value pair.
  `static interface`
  `AnnotationValue.OfArray`
  Models an array value of an element-value pair.
  `static interface`
  `AnnotationValue.OfBoolean`
  Models a boolean value of an element-value pair.
  `static interface`
  `AnnotationValue.OfByte`
  Models a byte value of an element-value pair.
  `static interface`
  `AnnotationValue.OfChar`
  Models a char value of an element-value pair.
  `static interface`
  `AnnotationValue.OfClass`
  Models a class value of an element-value pair.
  `static interface`
  `AnnotationValue.OfConstant`
  Models a constant value of an element-value pair.
  `static interface`
  `AnnotationValue.OfDouble`
  Models a double value of an element-value pair.
  `static interface`
  `AnnotationValue.OfEnum`
  Models an enum value of an element-value pair.
  `static interface`
  `AnnotationValue.OfFloat`
  Models a float value of an element-value pair.
  `static interface`
  `AnnotationValue.OfInt`
  Models an int value of an element-value pair.
  `static interface`
  `AnnotationValue.OfLong`
  Models a long value of an element-value pair.
  `static interface`
  `AnnotationValue.OfShort`
  Models a short value of an element-value pair.
  `static interface`
  `AnnotationValue.OfString`
  Models a string value of an element-value pair.

- ## Field Summary

  ### Fields declared in interface AnnotationValue

  `TAG_ANNOTATION, TAG_ARRAY, TAG_BOOLEAN, TAG_BYTE, TAG_CHAR, TAG_CLASS, TAG_DOUBLE, TAG_ENUM, TAG_FLOAT, TAG_INT, TAG_LONG, TAG_SHORT, TAG_STRING`
  Modifier and Type
  Field
  Description
  `static final int`
  `TAG_ANNOTATION`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfAnnotation`.
  `static final int`
  `TAG_ARRAY`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfArray`.
  `static final int`
  `TAG_BOOLEAN`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfBoolean`.
  `static final int`
  `TAG_BYTE`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfByte`.
  `static final int`
  `TAG_CHAR`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfChar`.
  `static final int`
  `TAG_CLASS`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfClass`.
  `static final int`
  `TAG_DOUBLE`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfDouble`.
  `static final int`
  `TAG_ENUM`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfEnum`.
  `static final int`
  `TAG_FLOAT`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfFloat`.
  `static final int`
  `TAG_INT`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfInt`.
  `static final int`
  `TAG_LONG`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfLong`.
  `static final int`
  `TAG_SHORT`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfShort`.
  `static final int`
  `TAG_STRING`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfString`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Annotation`
  `annotation()`
  Returns the annotation value.

  ### Methods declared in interface AnnotationValue

  `tag`
  Modifier and Type
  Method
  Description
  `int`
  `tag()`
  Returns the tag character for this value as per JVMS 4.7.16.1.

- ## Method Details

  - ### annotation

    Annotation annotation()
    Returns the annotation value.
    Returns:
      the annotation value