package org.briarproject.api.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.FIELD; import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.ElementType.PARAMETER; import static java.lang.annotation.RetentionPolicy.RUNTIME; /** * This annotation can be applied to a package or class to indicate that * the fields, methods and parameters in that element are non-null by default * unless: * */ @Documented @Nonnull @TypeQualifierDefault({FIELD, METHOD, PARAMETER}) @Retention(RUNTIME) public @interface NotNullByDefault { }