Annotation Type AssertNonNullIfNonNull
-
@Documented @Retention(RUNTIME) @Target(METHOD) public @interface AssertNonNullIfNonNull
Indicates that if the method returns a non-null value, then the value expressions are also non-null.WARNING: Type-checking for this annotation is not implemented at present.
Here is an example use:
Note the direction of the implication. This annotation says that if the result is non-null, then the variable@AssertNonNullIfNonNull("id") @Pure public @Nullable Long getId() { return id; }
id
is also non-null. The annotation does not say that ifid
is non-null, then the result is non-null. (There is not currently a way to say the latter, though it would also be useful.)You should not write a formal parameter name or
this
as the argument of this annotation. In those cases, use thePolyNull
annotation instead.- See Also:
NonNull
,PolyNull
,NullnessChecker
- See the Checker Framework Manual:
- Nullness Checker
-
-
Required Element Summary
Required Elements Modifier and Type Required Element Description java.lang.String[]
value
Java expression(s) that are non-null after the method returns a non-null value.
-
-
-
Element Detail
-
value
java.lang.String[] value
Java expression(s) that are non-null after the method returns a non-null value.- See the Checker Framework Manual:
- Syntax of Java expressions
-
-