Why are some annotations (such as @Deprecated) tracked by SignatureTest tool, and others are not?
SignatureTest tool (version 1.5) only tracks annotations whose types are annotated with @Documented The following section of the Java Language Specification describes java.lang.annotation.Documented: @Documented @Retention(value=RUNTIME) @Target(value=ANNOTATION_TYPE) public @interface Documented Indicates that annotations with a type are to be documented by Javadoc and similar tools by default. This type should be used to annotate the declarations of types whose annotations affect the use of annotated elements by their clients. If a type declaration is annotated with Documented, its annotations become part of the public API of the annotated elements. Therefore, any annotation type annotated with the @Documented annotation is a “part of the public API”. Because @Deprecated is documented, SignatureTest tool tracks it like any other part of a public API. SignatureTest tool writes to a signature file and checks annotations that have either RUNTIME or CLASS retention. Since annotations wit
Related Questions
- Why is the @Deprecated annotation tracked by SignatureTest tool, but its ancestor the @deprecated Javadoc tag is not?
- Why does the grammar proofing tool ignore text in subdocuments, such as headers, footers, and annotations?
- Why are some annotations (such as @Deprecated) tracked by SignatureTest tool, and others are not?