1package javax.annotation.meta; 2 3import java.lang.annotation.Documented; 4import java.lang.annotation.ElementType; 5import java.lang.annotation.Retention; 6import java.lang.annotation.RetentionPolicy; 7import java.lang.annotation.Target; 8 9/** 10 * This qualifier is applied to an annotation to denote that the annotation 11 * should be treated as a type qualifier. 12 */ 13 14@Documented 15@Target(ElementType.ANNOTATION_TYPE) 16@Retention(RetentionPolicy.RUNTIME) 17public @interface TypeQualifier { 18 19 /** 20 * Describes the kinds of values the qualifier can be applied to. If a 21 * numeric class is provided (e.g., Number.class or Integer.class) then the 22 * annotation can also be applied to the corresponding primitive numeric 23 * types. 24 */ 25 Class<?> applicableTo() default Object.class; 26 27} 28