The common interface extended by all annotation types.
A program element type.
Annotation retention policy.
Indicates that annotations with a type are to be documented by javadoc and similar tools by default.
Indicates that an annotation type is automatically inherited.
Indicates how long annotations with the annotated type are to be retained.
Indicates the kinds of program element to which an annotation type is applicable.