javax.annotation.ParametersAreNullableByDefault Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jsr305 Show documentation
Show all versions of jsr305 Show documentation
JSR305 Annotations for Findbugs
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 {
}