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