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