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.stage;
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  import pt.digitalis.dif.dem.annotations.metaannotations.BindToPrimary;
21  import pt.digitalis.dif.dem.annotations.metaannotations.ExclusiveWith;
22  import pt.digitalis.dif.dem.annotations.metaannotations.Primary;
23  
24  /**
25   * This annotation defines a stage for execution if an exception is thrown.
26   * 
27   * It is a non-pure primary annotation. Yields primariness to
28   * <code>@StageDefinition</code> when used with this annotation.
29   * 
30   * @author Rodrigo Gonçalves <a
31   *         href="mailto:rgoncalves@digitalis.pt">rgoncalves@digitalis.pt</a>
32   * @created 2007/05/11
33   */
34  @Target({ElementType.TYPE, ElementType.FIELD })
35  @Retention(RetentionPolicy.RUNTIME)
36  @Primary(yieldTo="pt.digitalis.dif.dem.annotations.entities.StageDefinition, pt.digitalis.dif.dem.annotations.stage.View")
37  @BindToPrimary("pt.digitalis.dif.dem.annotations.entities.StageDefinition")
38  @ExclusiveWith("pt.digitalis.dif.dem.annotations.stage.ErrorView")
39  public @interface ErrorStage {
40      /** The error stage id. Mandatory field!! */
41      String target();
42  
43      /**
44       * The type of the exception whose raising will trigger the error stage. By
45       * default, any Exception will trigger the error stage.
46       */
47      String exceptions() default "java.lang.exception";
48  
49  }