1 package javax.annotation; 2 3 import java.lang.annotation.Documented; 4 import java.lang.annotation.ElementType; 5 import java.lang.annotation.Retention; 6 import java.lang.annotation.RetentionPolicy; 7 8 import javax.annotation.meta.TypeQualifierDefault; 9 10 /** 11 * This annotation can be applied to a package, class or method to indicate that 12 * the method parameters in that element are nonnull by default unless there is: 13 * <ul> 14 * <li>An explicit nullness annotation 15 * <li>The method overrides a method in a superclass (in which case the 16 * annotation of the corresponding parameter in the superclass applies) 17 * <li> there is a default parameter annotation applied to a more tightly nested 18 * element. 19 * </ul> 20 * 21 */ 22 @Documented 23 @Nonnull 24 @TypeQualifierDefault(ElementType.PARAMETER) 25 @Retention(RetentionPolicy.RUNTIME) 26 public @interface ParametersAreNonnullByDefault { 27 } 28