@@ -0,0 +1,825 @@
+package javax.annotation.meta;%0A%0A%0Aimport java.lang.annotation.Documented;%0Aimport java.lang.annotation.ElementType;%0Aimport java.lang.annotation.Target;%0A%0A%0A/**%0A * %0A * This annotation is applied to a annotation, and marks the annotation as being%0A * a qualifier nickname. Applying a nickname annotation X to a element Y should%0A * be interpreted as having the same meaning as applying all of annotations of X%0A * (other than QualifierNickname) to Y.%0A * %0A * %3Cp%3E%0A * Thus, you might define a qualifier SocialSecurityNumber as follows:%0A * %3C/p%3E%0A * %0A * %0A * %3Ccode%3E%0A @Documented%0A @TypeQualifierNickname @Pattern(%22%5B0-9%5D%7B3%7D-%5B0-9%5D%7B2%7D-%5B0-9%5D%7B4%7D%22) %0A @Retention(RetentionPolicy.RUNTIME)%0A public @interface SocialSecurityNumber %7B%0A %7D%0A %3C/code%3E%0A * %0A * %0A */%0A@Documented%0A@Target(ElementType.ANNOTATION_TYPE)%0Apublic @interface TypeQualifierNickname %7B%0A%0A%0A%7D%0A

Create TypeQualifierNickname.java