Coverage Report - pt.digitalis.dif.dem.annotations.metaannotations.Primary
 
Classes in this File Line Coverage Branch Coverage Complexity
Primary
N/A
N/A
0
 
 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  
  * Marks a DEM Annotation as a primary annotation.
 22  
  * 
 23  
  * A primary annotation must be the only one of it's type to annotate an element
 24  
  * and excludes all the other primary annotations.
 25  
  * 
 26  
  * Primary annotations can have one of two types: <b>pure primary</b> and
 27  
  * <b>non-pure primary</b>. Non-pure primary annotations might be used as
 28  
  * non-primary annotations on some contexts. To define these contexts the
 29  
  * programmer must supply a list of annotations to whom the annotation yields
 30  
  * its primariness.
 31  
  * 
 32  
  * @author Pedro Viegas <a
 33  
  *         href="mailto:pviegas@digitalis.pt">pviegas@digitalis.pt</a>
 34  
  * @author Rodrigo Gonçalves <a
 35  
  *         href="mailto:rgoncalves@digitalis.pt">rgoncalves@digitalis.pt</a>
 36  
  * @created Aug 29, 2007
 37  
  */
 38  
 @Target(ElementType.ANNOTATION_TYPE)
 39  
 @Retention(RetentionPolicy.RUNTIME)
 40  
 public @interface Primary {
 41  
         /**
 42  
          * The list of annotations that force the primariness yielding.
 43  
          * 
 44  
          * TODO: Should allow for simple class names, defaulting to the current
 45  
          * package. Also allow the use of:
 46  
          *  - "#BasePackage#.entities.ApplicationDefinition
 47  
          *  - "#BasePackage#.Application
 48  
          *  - "#Entities#.ApplicationDefinition
 49  
          *  - "#Parameter#.Parameter
 50  
          *  - "#Stage#.ErrorView
 51  
          *
 52  
      * TO Rodrigo: see note on pt.digitalis.dif.dem.annotations.metaannotations.BindToPrimary#value()
 53  
          */
 54  
     
 55  
         String yieldTo() default "Pure primary";
 56  
 }