1 /** 2 * - Digitalis Internal Framework v2.0 - 3 * 4 * (C) 2007, Digitalis Informatica. 5 * 6 * Distribuicao e Gestao de Informatica, Lda. 7 * Estrada de Paco de Arcos num.9 - Piso -1 8 * 2780-666 Paco de Arcos 9 * Telefone: (351) 21 4408990 10 * Fax: (351) 21 4408999 11 * http://www.digitalis.pt 12 */ 13 package pt.digitalis.dif.dem.annotations.metaannotations; 14 15 import java.lang.annotation.ElementType; 16 import java.lang.annotation.Retention; 17 import java.lang.annotation.RetentionPolicy; 18 import java.lang.annotation.Target; 19 20 /** 21 * Defines a list of annotations which must NOT be used with the annotated 22 * annotation. 23 * 24 * It can be used on primary and non-primary annotations. 25 * 26 * @author Pedro Viegas <a 27 * href="mailto:pviegas@digitalis.pt">pviegas@digitalis.pt</a> 28 * @author Rodrigo Gonçalves <a 29 * href="mailto:rgoncalves@digitalis.pt">rgoncalves@digitalis.pt</a> 30 * @created Aug 29, 2007 31 */ 32 @Target(ElementType.ANNOTATION_TYPE) 33 @Retention(RetentionPolicy.RUNTIME) 34 public @interface ExclusiveWith { 35 36 /** 37 * The FQN's of the annotations that must NOT be used with the annotation. 38 * 39 * TODO: Should allow for simple class names, defaulting to the current 40 * package. Also allow the use of: 41 * - "#BasePackage#.entities.ApplicationDefinition 42 * - "#BasePackage#.Application 43 * - "#Entities#.ApplicationDefinition 44 * - "#Parameter#.Parameter 45 * - "#Stage#.ErrorView 46 * 47 * TO Rodrigo: see note on pt.digitalis.dif.dem.annotations.metaannotations.BindToPrimary#value() 48 */ 49 String[] value(); 50 }