@Target(value={METHOD,PARAMETER,FIELD})
@Retention(value=RUNTIME)
@Documented
@Nonnull
@TypeQualifierNickname
public @interface NonNull
null
. Leverages JSR 305
meta-annotations to indicate nullability in Java to common tools with JSR 305 support and used by
Kotlin to infer nullability of the API.
Should be used at parameter, return value, and field level. Method overrides should
repeat parent @NonNull
annotations unless they behave differently.
Use @NonNullApi
(scope = parameters + return values) and/or @NonNullFields
(scope = fields) to set the default behavior to non-nullable in order to avoid annotating your
whole codebase with @NonNull
.
NonNullApi
,
NonNullFields
,
Nullable