1package javax.annotation; 2 3import java.lang.annotation.Documented; 4import java.lang.annotation.ElementType; 5import java.lang.annotation.Retention; 6import java.lang.annotation.RetentionPolicy; 7 8import 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) 26public @interface ParametersAreNonnullByDefault { 27} 28