1package javax.annotation;
2
3import java.lang.annotation.Documented;
4import java.lang.annotation.Retention;
5import java.lang.annotation.RetentionPolicy;
6
7import javax.annotation.meta.TypeQualifierNickname;
8import javax.annotation.meta.When;
9
10/**
11 * Used to annotate a value that may be either negative or nonnegative, and
12 * indicates that uses of it should check for
13 * negative values before using it in a way that requires the value to be
14 * nonnegative, and check for it being nonnegative before using it in a way that
15 * requires it to be negative.
16 */
17
18@Documented
19@TypeQualifierNickname
20@Nonnegative(when = When.MAYBE)
21@Retention(RetentionPolicy.RUNTIME)
22public @interface CheckForSigned {
23
24}
25