@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