166e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonpackage javax.annotation.meta;
266e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson
366e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonimport java.lang.annotation.Documented;
466e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonimport java.lang.annotation.ElementType;
566e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonimport java.lang.annotation.Retention;
666e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonimport java.lang.annotation.RetentionPolicy;
766e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonimport java.lang.annotation.Target;
866e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson
966e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson/**
1066e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * This qualifier is applied to an annotation to denote that the annotation
1166e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * should be treated as a type qualifier.
1266e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson */
1366e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson
1466e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson@Documented
1566e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson@Target(ElementType.ANNOTATION_TYPE)
1666e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson@Retention(RetentionPolicy.RUNTIME)
1766e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonpublic @interface TypeQualifier {
1866e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson
1966e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson    /**
2066e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson     * Describes the kinds of values the qualifier can be applied to. If a
2166e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson     * numeric class is provided (e.g., Number.class or Integer.class) then the
2266e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson     * annotation can also be applied to the corresponding primitive numeric
2366e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson     * types.
2466e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson     */
2566e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson    Class<?> applicableTo() default Object.class;
2666e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson
2766e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson}
28