javax.annotation.ParametersAreNullableByDefault Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of annotations Show documentation
Show all versions of annotations Show documentation
Annotation the FindBugs tool supports
The newest version!
package javax.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import javax.annotation.meta.TypeQualifierDefault;
/**
* This annotation can be applied to a package, class or method to indicate that
* the method parameters in that element are nullable by default unless there is:
*
* - An explicit nullness annotation
*
- The method overrides a method in a superclass (in which case the
* annotation of the corresponding parameter in the superclass applies)
*
- there is a default parameter annotation applied to a more tightly nested
* element.
*
* This annotation implies the same "nullness" as no annotation. However, it is different
* than having no annotation, as it is inherited and it can override a ParametersAreNonnullByDefault
* annotation at an outer scope.
*
*/
@Documented
@Nullable
@TypeQualifierDefault(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
public @interface ParametersAreNullableByDefault {
}