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