Coverage Report - pt.digitalis.dif.dem.annotations.metaannotations.BindToPrimary
 
Classes in this File Line Coverage Branch Coverage Complexity
BindToPrimary
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  
  * Defines the list of primary annotations that accept the current annotation.
 22  
  * 
 23  
  * This meta-annotation is mandatory on non-primary annotations.
 24  
  * 
 25  
  * @author Pedro Viegas <a
 26  
  *         href="mailto:pviegas@digitalis.pt">pviegas@digitalis.pt</a>
 27  
  * @author Rodrigo Gonçalves <a
 28  
  *         href="mailto:rgoncalves@digitalis.pt">rgoncalves@digitalis.pt</a>
 29  
  * @created Aug 29, 2007
 30  
  */
 31  
 @Target(ElementType.ANNOTATION_TYPE)
 32  
 @Retention(RetentionPolicy.RUNTIME)
 33  
 public @interface BindToPrimary {
 34  
 
 35  
         /**
 36  
          * The FQN's of the annotations that can be used with the non-primary
 37  
          * 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  
      *  Algorithm (TO Rodrigo, BY Rodrigo): 
 48  
      *  
 49  
      *  On DEM Annotation's discovery:
 50  
      *  
 51  
      *  1) read the package of the the annotation annotated by this meta-annotation (Class.getPackage().getName()??)
 52  
      *  2) rewrite this member value's with the read package name concatenated with the member value
 53  
      *  
 54  
      *  Use an helper method since it's also present on <code>@ExclusiveWith</code> 
 55  
          */
 56  
         String[] value();
 57  
 }