# Uses of Interface
java.lang.classfile.Annotation

Packages that use Annotation
Package
Description
java.lang.classfile
Provides classfile parsing, generation, and transformation library.
java.lang.classfile.attribute
Provides interfaces describing `class` file attributes for the `java.lang.classfile` library.

- ## Uses of Annotation in java.lang.classfile

  Methods in java.lang.classfile that return Annotation
  Modifier and Type
  Method
  Description
  `Annotation`
  AnnotationValue.OfAnnotation.`annotation()`
  Returns the annotation value.
  `Annotation`
  TypeAnnotation.`annotation()`
  Returns the annotation applied to the part indicated by `TypeAnnotation.targetPath()`.
  `static Annotation`
  Annotation.`of(Utf8Entry annotationClass, AnnotationElement... elements)`
  Returns an annotation.
  `static Annotation`
  Annotation.`of(Utf8Entry annotationClass, List<AnnotationElement> elements)`
  Returns an annotation.
  `static Annotation`
  Annotation.`of(ClassDesc annotationClass, AnnotationElement... elements)`
  Returns an annotation.
  `static Annotation`
  Annotation.`of(ClassDesc annotationClass, List<AnnotationElement> elements)`
  Returns an annotation.
  Methods in java.lang.classfile with parameters of type Annotation
  Modifier and Type
  Method
  Description
  `static TypeAnnotation`
  TypeAnnotation.`of(TypeAnnotation.TargetInfo targetInfo, List<TypeAnnotation.TypePathComponent> targetPath, Annotation annotation)`
  Returns a `type_annotation` structure.
  `static AnnotationElement`
  AnnotationElement.`ofAnnotation(String name, Annotation value)`
  Returns an element-value pair for an annotation-valued element.
  `static AnnotationValue.OfAnnotation`
  AnnotationValue.`ofAnnotation(Annotation value)`
  Returns an annotation value for an element-value pair.

- ## Uses of Annotation in java.lang.classfile.attribute

  Methods in java.lang.classfile.attribute that return types with arguments of type Annotation
  Modifier and Type
  Method
  Description
  `List<Annotation>`
  RuntimeInvisibleAnnotationsAttribute.`annotations()`
  Returns the run-time invisible declaration annotations on this structure.
  `List<Annotation>`
  RuntimeVisibleAnnotationsAttribute.`annotations()`
  Returns the run-time visible declaration annotations on this structure.
  `List<List<Annotation>>`
  RuntimeInvisibleParameterAnnotationsAttribute.`parameterAnnotations()`
  Returns the list of run-time invisible annotations on the method parameters.
  `List<List<Annotation>>`
  RuntimeVisibleParameterAnnotationsAttribute.`parameterAnnotations()`
  Returns the list of run-time visible annotations on the method parameters.
  Methods in java.lang.classfile.attribute with parameters of type Annotation
  Modifier and Type
  Method
  Description
  `static RuntimeInvisibleAnnotationsAttribute`
  RuntimeInvisibleAnnotationsAttribute.`of(Annotation... annotations)`
  Returns a `RuntimeInvisibleAnnotations` attribute.
  `static RuntimeVisibleAnnotationsAttribute`
  RuntimeVisibleAnnotationsAttribute.`of(Annotation... annotations)`
  Returns a `RuntimeVisibleAnnotations` attribute.
  Method parameters in java.lang.classfile.attribute with type arguments of type Annotation
  Modifier and Type
  Method
  Description
  `static RuntimeInvisibleAnnotationsAttribute`
  RuntimeInvisibleAnnotationsAttribute.`of(List<Annotation> annotations)`
  Returns a `RuntimeInvisibleAnnotations` attribute.
  `static RuntimeInvisibleParameterAnnotationsAttribute`
  RuntimeInvisibleParameterAnnotationsAttribute.`of(List<List<Annotation>> parameterAnnotations)`
  Returns a `RuntimeInvisibleParameterAnnotations` attribute.
  `static RuntimeVisibleAnnotationsAttribute`
  RuntimeVisibleAnnotationsAttribute.`of(List<Annotation> annotations)`
  Returns a `RuntimeVisibleAnnotations` attribute.
  `static RuntimeVisibleParameterAnnotationsAttribute`
  RuntimeVisibleParameterAnnotationsAttribute.`of(List<List<Annotation>> parameterAnnotations)`
  Returns a `RuntimeVisibleParameterAnnotations` attribute.