1 package javax.annotation.meta; 2 3 import java.lang.annotation.Documented; 4 import java.lang.annotation.ElementType; 5 import java.lang.annotation.Target; 6 7 /** 8 * 9 * This annotation is applied to a annotation, and marks the annotation as being 10 * a qualifier nickname. Applying a nickname annotation X to a element Y should 11 * be interpreted as having the same meaning as applying all of annotations of X 12 * (other than QualifierNickname) to Y. 13 * 14 * <p> 15 * Thus, you might define a qualifier SocialSecurityNumber as follows: 16 * </p> 17 * 18 * 19 * <code> 20 @Documented 21 @TypeQualifierNickname @Pattern("[0-9]{3}-[0-9]{2}-[0-9]{4}") 22 @Retention(RetentionPolicy.RUNTIME) 23 public @interface SocialSecurityNumber { 24 } 25 </code> 26 * 27 * 28 */ 29 @Documented 30 @Target(ElementType.ANNOTATION_TYPE) 31 public @interface TypeQualifierNickname { 32 33 } 34