# Package java.lang.annotation

package java.lang.annotation
Provides library support for the Java programming language annotation facility.

Since:
  1.5

- Related Packages
  Package
  Description
  java.lang
  Provides classes that are fundamental to the design of the Java programming language.
- Class
  Description
  Annotation
  The common interface extended by all annotation interfaces.
  AnnotationFormatError
  Thrown when the annotation parser attempts to read an annotation from a class file and determines that the annotation is malformed.
  AnnotationTypeMismatchException
  Thrown to indicate that a program has attempted to access an element of an annotation whose type has changed after the annotation was compiled (or serialized).
  Documented
  If the annotation `@Documented` is present on the declaration of an annotation interface A, then any `@A` annotation on an element is considered part of the element's public contract.
  ElementType
  The constants of this enumerated class provide a simple classification of the syntactic locations where annotations may appear in a Java program.
  IncompleteAnnotationException
  Thrown to indicate that a program has attempted to access an element of an annotation interface that was added to the annotation interface definition after the annotation was compiled (or serialized).
  Inherited
  Indicates that an annotation interface is automatically inherited.
  Native
  Indicates that a field defining a constant value may be referenced from native code.
  Repeatable
  The annotation interface `java.lang.annotation.Repeatable` is used to indicate that the annotation interface whose declaration it (meta-)annotates is repeatable.
  Retention
  Indicates how long annotations with the annotated interface are to be retained.
  RetentionPolicy
  Annotation retention policy.
  Target
  Indicates the contexts in which an annotation interface is applicable.