Type Annotations

JSR 308 (Annotations on Java Types) extends the Java language so that annotations may appear on essentially any use of a type.

JSR 308 is part of JSR 337 (Java SE 8). An Early Draft Review of the specification for JSR 308 was published in January 2012.

The OpenJDK Type Annotations Project is sponsored by the Compiler Group to host an implementation of JSR 308 suitable for inclusion in JDK 8, the Reference Implementation of Java SE 8.

The scope of the implementation is given in JDK Enhancement Proposal 104 (Annotations on Java Types).

The implementation is discussed on the type-annotations-dev mailing list. (Previously on jsr308-discuss.) Please note this list is solely for implementation issues, and not for general issues with the design of annotations in Java.

Implementation

Tools that use type annotations

Several tools use the type annotation syntax proposed by JSR 308:

Awards for JSR 308