org.briarproject.nullsafety.MethodsNotNullByDefault Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of null-safety Show documentation
Show all versions of null-safety Show documentation
Annotations and helper methods for easier null safety in Java
The newest version!
package org.briarproject.nullsafety;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import javax.annotation.Nonnull;
import javax.annotation.meta.TypeQualifierDefault;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* This annotation can be applied to a package or class to indicate that the methods in that
* element are non-null 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 method in the superclass applies)
*
- There is a default nullness annotation applied to a more tightly nested element.
*
*/
@Documented
@Nonnull
@TypeQualifierDefault(METHOD)
@Retention(RUNTIME)
public @interface MethodsNotNullByDefault {
}