checkers.nullness.quals
Annotation Type AssertNonNullIfTrue


@Documented
@Retention(value=RUNTIME)
@Target(value=METHOD)
public @interface AssertNonNullIfTrue

Indicates that if the method returns true, then the value expressions are non-null.

For instance, if File.isDirectory() is true, then File.list() is non-null, and File.listFiles() is non-null. You can express this relationship as:

   @AssertNonNullIfTrue({"list()","listFiles()"})
   public boolean isDirectory() { ... }
 

See Also:
NonNull, NullnessChecker
See the Checker Framework manual:
Nullness Checker

Required Element Summary
Modifier and Type Required Element and Description
 String[] value
          The value can be: fields on receiver object.
 

Element Detail

value

public abstract String[] value
The value can be:
  1. fields on receiver object. The value should simply be the field name, e.g. next, parent.
  2. no-arg method members on the receiver object: The value would be the method signature, e.g. list()
  3. method argument: The value should be # followed by the parameter index (index starts with 0), e.g. #2.