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