# java.lang.annotation

Provides library support for the Java programming language annotation facility.

### Annotations

|---|---|
| [Documented](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/annotation/Documented.html) | Indicates that annotations with a type are to be documented by javadoc and similar tools by default. |
| [Inherited](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/annotation/Inherited.html) | Indicates that an annotation type is automatically inherited. |
| [Native](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/annotation/Native.html) | Indicates that a field defining a constant value may be referenced from native code. |
| [Repeatable](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/annotation/Repeatable.html) | The annotation type `java.lang.annotation.Repeatable` is used to indicate that the annotation type whose declaration it (meta-)annotates is *repeatable*. |
| [Retention](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/annotation/Retention.html) | Indicates how long annotations with the annotated type are to be retained. |
| [Target](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/annotation/Target.html) | Indicates the contexts in which an annotation type is applicable. |

### Interfaces

|---|---|
| [Annotation](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/annotation/Annotation.html) | The common interface extended by all annotation types. |

### Enums

|---|---|
| [ElementType](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/annotation/ElementType.html) | The constants of this enumerated type provide a simple classification of the syntactic locations where annotations may appear in a Java program. |
| [RetentionPolicy](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/annotation/RetentionPolicy.html) | Annotation retention policy. |

### Exceptions

|---|---|
| [AnnotationTypeMismatchException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/annotation/AnnotationTypeMismatchException.html) | 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). |
| [IncompleteAnnotationException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/annotation/IncompleteAnnotationException.html) | Thrown to indicate that a program has attempted to access an element of an annotation type that was added to the annotation type definition after the annotation was compiled (or serialized). |

### Errors

|---|---|
| [AnnotationFormatError](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/annotation/AnnotationFormatError.html) | Thrown when the annotation parser attempts to read an annotation from a class file and determines that the annotation is malformed. |