1package javax.annotation.meta;
2
3import java.lang.annotation.Annotation;
4
5import javax.annotation.Nonnull;
6
7public interface TypeQualifierValidator<A extends Annotation> {
8    /**
9     * Given a type qualifier, check to see if a known specific constant value
10     * is an instance of the set of values denoted by the qualifier.
11     *
12     * @param annotation
13     *                the type qualifier
14     * @param value
15     *                the value to check
16     * @return a value indicating whether or not the value is an member of the
17     *         values denoted by the type qualifier
18     */
19    public @Nonnull
20    When forConstantValue(@Nonnull A annotation, Object value);
21}
22