1 package javax.annotation.meta; 2 3 import java.lang.annotation.Documented; 4 import java.lang.annotation.Retention; 5 import java.lang.annotation.RetentionPolicy; 6 7 /** 8 * This annotation can be applied to the value() element of an annotation that 9 * is annotated as a TypeQualifier. 10 * 11 * For example, the following defines a type qualifier such that if you know a 12 * value is {@literal @Foo(1)}, then the value cannot be {@literal @Foo(2)} or {{@literal @Foo(3)}. 13 * 14 * <code> 15 * @TypeQualifier @interface Foo { 16 * @Exclusive int value(); 17 * } 18 * </code> 19 * 20 */ 21 22 @Documented 23 @Retention(RetentionPolicy.RUNTIME) 24 public @interface Exclusive { 25 26 } 27