Added in API level 1

java.lang.annotation

Provides library support for the Java programming language annotation facility.

Annotations

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. 
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. 
Target Indicates the contexts in which an annotation interface is applicable. 

Interfaces

Annotation The common interface extended by all annotation interfaces. 

Enums

ElementType The constants of this enumerated class provide a simple classification of the syntactic locations where annotations may appear in a Java program. 
RetentionPolicy Annotation retention policy. 

Exceptions

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). 
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). 

Errors

AnnotationFormatError Thrown when the annotation parser attempts to read an annotation from a class file and determines that the annotation is malformed.