The Annotation Scene Library provides classes to represent the annotations on a
Java program and read and write those annotations in various formats.
Structure
- An {@link annotations.el.AScene} holds annotations for a set of classes
and packages.
- A {@link annotations.el.AElement} represents one particular element of a
Java program within an
AScene
.
- Package {@link annotations.io} provides routines to read and write
{@link annotations.el.AScene}s in various formats.
- An {@link annotations.Annotation} represents an annotation (which might be a
field of another annotation). It can be attached to an {@link annotations.el.AElement}.
- An {@link annotations.el.AnnotationDef} represents an annotation definition,
consisting of a definition name and field names and types
({@link annotations.field.AnnotationFieldType}s). It also indicates the
annotation's retention policy.
Example
The example program annotations.tests.Example
demonstrates the
library's annotation-processing capabilities. Its source code (and also
example input and output) are distributed with the Annotation Scene Library.