package javax.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

import javax.annotation.meta.TypeQualifierNickname;
import javax.annotation.meta.When;

/**
 * Used to annotate a value that may be either negative or nonnegative, and
 * indicates that uses of it should check for negative values before using it in
 * a way that requires the value to be nonnegative, and check for it being
 * nonnegative before using it in a way that requires it to be negative.
 */
@Documented
@TypeQualifierNickname
@Nonnegative(when = When.MAYBE)
@Retention(RetentionPolicy.RUNTIME)
public @interface CheckForSigned {

}