The Wayback Machine - https://web.archive.org/web/20111217130644/http://openjdk.java.net:80/projects/type-annotations/

Type Annotations

The Java 6 annotation syntax is useful but limited. The Type Annotations syntax permits annotations to be written in more places, such as generic type arguments: List<@NonNull Object>. Programmers can use type annotations to write more informative types, and then tools such as type-checkers can detect and prevent more errors.

This project is sponsored by the OpenJDK Compiler Group and is targeted for inclusion in the Java SE 7 platform.

Specification

The Type Annotations specification indicates changes to the Java language and platform.

Implementation

The OpenJDK compiler supports the Type Annotations syntax (since build M4). The version linked here has a few small differences; see its documentation for details.

Other tools that use type annotations

Several other tools already use the type annotation syntax.

Community and getting help

Awards