View Javadoc
1   /*
2    * $Header: /cvsroot/sinon/sinon/src/java/eteg/sinon/exception/SinonException.java,v 1.2 2005/06/21 14:25:08 thiagohp Exp $
3    * $Revision: 1.2 $
4    * $Date: 2005/06/21 14:25:08 $
5    * $Author: thiagohp $
6    *
7    * =============================================================================
8    *
9    * Copyright 2004-2005 Eteg Internet Ltda. (http://www.eteg.com.br)
10   *
11   * Licensed under the Apache License, Version 2.0 (the "License");
12   * you may not use this file except in compliance with the License.
13   * You may obtain a copy of the License at
14   *
15   *     http://www.apache.org/licenses/LICENSE-2.0
16   *
17   * Unless required by applicable law or agreed to in writing, software
18   * distributed under the License is distributed on an "AS IS" BASIS,
19   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20   * See the License for the specific language governing permissions and
21   * limitations under the License.
22   */
23  package eteg.sinon.exception;
24  
25  import eteg.sinon.core.Collector;
26  import eteg.sinon.executor.CollectorExecutor;
27  
28  /***
29   * Exceção levantada quando acontece algum erro durante a execução de um coletor
30   * do Sinon. Provê métodos para a obtenção de informações sobre o contexto do
31   * erro. Caso alguma mensagem descritiva do erro seja provida, ela pode ser
32   * obtida atraves de <code>getMessage</code>.
33   * Caso a origem do erro seja uma outra exceção, ela pode ser obtida
34   * através de <code>getCause()</code>.
35   *
36   * @author <a href="mailto:thiagohp at users.sourceforge.net">Thiago H. de Paula Figueiredo</a>
37   * @author Last modified by $Author: thiagohp $
38   * @version $Revision: 1.2 $
39   * @since 0.0
40   */
41  public class SinonException extends Exception {
42  
43      /***
44       * Executor sendo executado.
45       */
46      private CollectorExecutor collectorExecutor;
47  
48      /***
49       * Construtor que recebe uma mensagem, uma exceção e um {@link Collector}.
50       * @param message uma <code>String</code> descrevendo o erro.
51       * @param cause o <code>Throwable</code> que causou o erro.
52       * @param executor o {@link CollectorExecutor}
53       * sendo executado no momento do erro.
54       */
55      public SinonException(String message,
56                            Throwable cause,
57                            CollectorExecutor executor) {
58  
59          super(message, cause);
60          this.collectorExecutor = executor;
61  
62      }
63  
64      /***
65       * Construtor que recebe uma mensagem e um {@link Collector}.
66       * @param message uma <code>String</code> descrevendo o erro.
67       * @param executor o {@link CollectorExecutor}
68       * sendo executado no momento do erro.
69       */
70      public SinonException(String message,
71                            CollectorExecutor executor) {
72  
73          super(message);
74          this.collectorExecutor = executor;
75  
76      }
77  
78      /***
79       * Construtor que apenas uma mensagem.
80       * @param message uma <code>String</code> descrevendo o erro.
81       */
82      public SinonException(String message) {
83  
84          super(message);
85          this.collectorExecutor = null;
86  
87      }
88  
89      /***
90       * Construtor que recebe uma exceção que é a causa desta.
91       * @param cause um <code>Throwable</code>
92       */
93      public SinonException(Throwable cause) {
94          super(cause);
95      }
96  
97      /***
98       * Retorna o valor da propriedade <code>collectorExecutor</code>.
99       * @return o valor da propriedade <code>collectorExecutor</code>.
100      */
101     public CollectorExecutor getCollectorExecutor() {
102         return collectorExecutor;
103     }
104 
105 }