166e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonpackage javax.annotation.meta; 266e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson 366e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonimport java.lang.annotation.Annotation; 466e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson 566e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonimport javax.annotation.Nonnull; 666e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson 766e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonpublic interface TypeQualifierValidator<A extends Annotation> { 866e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson /** 966e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * Given a type qualifier, check to see if a known specific constant value 1066e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * is an instance of the set of values denoted by the qualifier. 1166e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * 1266e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * @param annotation 1366e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * the type qualifier 1466e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * @param value 1566e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * the value to check 1666e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * @return a value indicating whether or not the value is an member of the 1766e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * values denoted by the type qualifier 1866e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson */ 1966e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson public @Nonnull 2066e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson When forConstantValue(@Nonnull A annotation, Object value); 2166e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson} 22