View Javadoc

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  }