1package javax.annotation;
2
3import java.lang.annotation.Documented;
4import java.lang.annotation.Retention;
5import java.lang.annotation.RetentionPolicy;
6
7import javax.annotation.meta.TypeQualifier;
8import javax.annotation.meta.TypeQualifierValidator;
9import javax.annotation.meta.When;
10
11@Documented
12@TypeQualifier
13@Retention(RetentionPolicy.RUNTIME)
14public @interface Nonnull {
15    When when() default When.ALWAYS;
16
17    static class Checker implements TypeQualifierValidator<Nonnull> {
18
19        public When forConstantValue(Nonnull qualifierqualifierArgument,
20                Object value) {
21            if (value == null)
22                return When.NEVER;
23            return When.ALWAYS;
24        }
25    }
26}
27