@Target(value={TYPE,PACKAGE}) @Nonnull @TypeQualifierDefault(value={METHOD,PARAMETER}) @Documented @Retention(value=RUNTIME) public @interface NonNullApi
Nonnull
unless specifically marked as Nullable
.
All types of an annotated package inherit the package rule.
Subpackages do not inherit nullability rules and must be annotated.