166e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonpackage javax.annotation; 266e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson 366e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonimport java.lang.annotation.Documented; 466e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonimport java.lang.annotation.ElementType; 566e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonimport java.lang.annotation.Retention; 666e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonimport java.lang.annotation.RetentionPolicy; 766e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson 866e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonimport javax.annotation.meta.TypeQualifierDefault; 966e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson 1066e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson/** 1166e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * This annotation can be applied to a package, class or method to indicate that 1266e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * the method parameters in that element are nonnull by default unless there is: 1366e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * <ul> 1466e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * <li>An explicit nullness annotation 1566e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * <li>The method overrides a method in a superclass (in which case the 1666e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * annotation of the corresponding parameter in the superclass applies) 1766e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * <li> there is a default parameter annotation applied to a more tightly nested 1866e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * element. 1966e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * </ul> 2066e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * 2166e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson */ 2266e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson@Documented 2366e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson@Nonnull 2466e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson@TypeQualifierDefault(ElementType.PARAMETER) 2566e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson@Retention(RetentionPolicy.RUNTIME) 2666e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonpublic @interface ParametersAreNonnullByDefault { 2766e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson} 28