Is pluggable type-checking (such as supported by the Checker Framework) included in JSR 308 or the Java language?
The Java language defines an annotation processing capability (JSR 269). Using this capability, it is possible to write annotation processors that read and process all sorts of annotations, including type annotations. Pluggable type-checking is one sort of annotation processing. Pluggable type-checking would be impractical without the Type Annotations (JSR 308) language syntax. Given the new syntax, pluggable type-checking can be implemented entirely by libraries, and there is no need for it to be an official part of the Java language. The Checker Framework is an example of a library that enables you to create and use pluggable type-checkers. The Checker Framework is an independent tool and not a part of the Type Annotations proposal. The Checker Framework distribution includes the Type Annotations compiler for convenience, so that users only have to download and install one file.