1 package javax.annotation.meta; 2 3 import java.lang.annotation.Documented; 4 import java.lang.annotation.ElementType; 5 import java.lang.annotation.Retention; 6 import java.lang.annotation.RetentionPolicy; 7 import 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) 17 public @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 */ applicableTo()25 Class<?> applicableTo() default Object.class; 26 27 } 28