Classes in this File | Line Coverage | Branch Coverage | Complexity | |||||||
IControladorAmostragem |
|
| 0.0;0 |
1 | /* |
|
2 | * IControladorAmostragem.java |
|
3 | * |
|
4 | * Created on 11 de Abril de 2007, 17:02 |
|
5 | * |
|
6 | * To change this template, choose Tools | Template Manager |
|
7 | * and open the template in the editor. |
|
8 | */ |
|
9 | ||
10 | package tempcontroller.base; |
|
11 | ||
12 | import java.io.File; |
|
13 | import java.io.IOException; |
|
14 | ||
15 | /** |
|
16 | * Definição de um controlador de amostragem. |
|
17 | */ |
|
18 | public interface IControladorAmostragem |
|
19 | extends IOuvinteMudancaTemperatura, IOuvinteTimer { |
|
20 | /** |
|
21 | * Método que inicia o controlador com os objetos necessários para a |
|
22 | * execução da amostragem. |
|
23 | * Ele retorna o status indicando se a amostragem pode ou não prosseguir. |
|
24 | * |
|
25 | * @param prog Programação de Amostragem. |
|
26 | * @param control Controlador de Temperatura que será utilizado. |
|
27 | * @param leitor O Leitor de espectro que será utilizado. |
|
28 | * @param timerLocal O timer que será utilizado |
|
29 | * @return <code>true</code> caso a programação possa ser executada com |
|
30 | * este controlador, leitor de espectro e timer. |
|
31 | */ |
|
32 | boolean aceita(final IProgramacaoAmostragem prog, |
|
33 | final IControladorTemperatura control, |
|
34 | final ILeitorEspectro leitor, |
|
35 | final ITimer timerLocal); |
|
36 | ||
37 | /** |
|
38 | * Adiciona um ouvinte aos eventos gerados por este controlador. |
|
39 | * |
|
40 | * @param ouvinte o ouvinte que será notificado sempre que o estado |
|
41 | * deste controlador mudar. |
|
42 | */ |
|
43 | void addOuvinteEventosControladorAmostragem( |
|
44 | final IOuvinteEventosControladorAmostragem ouvinte); |
|
45 | ||
46 | /** |
|
47 | * Cancela a execução da programação atual. |
|
48 | */ |
|
49 | void cancel(); |
|
50 | ||
51 | /** |
|
52 | * Carrega uma programação de um arquivo. |
|
53 | * |
|
54 | * @param file O arquivo que será lido. |
|
55 | * @return A programação lida. |
|
56 | * @throws IOException Se ocorrer algum erro de leitura. |
|
57 | * @throws ClassNotFoundException Se o arquivo não tiver um |
|
58 | * uma programação gravada. |
|
59 | */ |
|
60 | IProgramacaoAmostragem carregaProgramacao(final File file) |
|
61 | throws IOException, ClassNotFoundException; |
|
62 | ||
63 | /** |
|
64 | * Obtém o status corrente. |
|
65 | * |
|
66 | * @return O status corrente. |
|
67 | */ |
|
68 | Status getStatus(); |
|
69 | ||
70 | /** |
|
71 | * Grava uma programação para um arquivo. |
|
72 | * |
|
73 | * @param programacaoLocal Programação que será gravada |
|
74 | * @param file Arquivo que será gravado. |
|
75 | * @throws IOException Se ocorrer algum erro durante a gravação. |
|
76 | */ |
|
77 | void gravaProgramacao(final IProgramacaoAmostragem programacaoLocal, |
|
78 | final File file) throws IOException; |
|
79 | ||
80 | /** |
|
81 | * Limpa todos os recursos utilizados por este controlador, inclusive |
|
82 | * a programação atual. |
|
83 | */ |
|
84 | void limpaProgramacao(); |
|
85 | ||
86 | /** |
|
87 | * Inicia a execução da programação atual. |
|
88 | */ |
|
89 | void start(); |
|
90 | ||
91 | ||
92 | /** |
|
93 | * Status do controlador de amostragem. |
|
94 | */ |
|
95 | public interface Status { |
|
96 | /** |
|
97 | * Obtém o estado do controlador de amostragem. |
|
98 | * |
|
99 | * @return Estado do controlador de amostragem. |
|
100 | */ |
|
101 | Estado getEstado(); |
|
102 | ||
103 | /** |
|
104 | * Obtém o nome da amostragem atual. |
|
105 | * |
|
106 | * @return Nome da amostragem atual. |
|
107 | */ |
|
108 | String getNomeAmostragemAtual(); |
|
109 | ||
110 | /** |
|
111 | * Obtém a temperatura atual do controlador de temperatura |
|
112 | * controlado pelo controlador de amostragem. |
|
113 | * |
|
114 | * @return Temperatura atual do controlador de temperatura. |
|
115 | */ |
|
116 | double getTemperaturaAtual(); |
|
117 | ||
118 | /** |
|
119 | * Obtém o momento da última gravação parcial do espectro. |
|
120 | * |
|
121 | * @return Momento da última gravação parcial do espectro. |
|
122 | */ |
|
123 | long getTempoDaUltimaGravacao(); |
|
124 | ||
125 | /** |
|
126 | * Obtém o tempo decorrido da programação. |
|
127 | * |
|
128 | * @return Tempo decorrido da programação. |
|
129 | */ |
|
130 | long getTempoDecorridoProgramacao(); |
|
131 | ||
132 | /** |
|
133 | * Obtém o tempo decorrido da amostragem atual. |
|
134 | * |
|
135 | * @return Tempo decorrido da amostragem atual. |
|
136 | */ |
|
137 | long getTempoDecorridoAmostragem(); |
|
138 | ||
139 | /** |
|
140 | * Obtém o tempo total da amostragem atual. |
|
141 | * |
|
142 | * @return O tempo total da amostragem atual. |
|
143 | */ |
|
144 | long getTempoTotalAmostragem(); |
|
145 | ||
146 | /** |
|
147 | * Obtém o tempo total da programação. |
|
148 | * |
|
149 | * @return Tempo total de programação. |
|
150 | */ |
|
151 | long getTempoTotalProgramacao(); |
|
152 | ||
153 | } |
|
154 | ||
155 | /** |
|
156 | * Estado corrente do controlador de amostragem. |
|
157 | */ |
|
158 | 9 | public enum Estado { |
159 | /** |
|
160 | * Sem nenhuma programação. |
|
161 | */ |
|
162 | 1 | SEM_PROGRAMACAO, |
163 | /** |
|
164 | * Com programação válida mas não iniciado. |
|
165 | */ |
|
166 | 1 | NAO_INICIADO, |
167 | /** |
|
168 | * Preparando a amostragem para iniciar a sua execução. |
|
169 | */ |
|
170 | 1 | PREPARA_AMOSTRAGEM, |
171 | /** |
|
172 | * Esperando que o controlador de temperatura chegue à temperatura |
|
173 | * definida pela amostragem atual. |
|
174 | */ |
|
175 | 1 | ESPERANDO_TEMPERATURA_INICIAL, |
176 | ||
177 | /** |
|
178 | * Temperatura está de acordo com a amostrage atual. Esperando |
|
179 | * alcançar o término da amostragem. |
|
180 | */ |
|
181 | 1 | EM_AMOSTRAGEM, |
182 | ||
183 | /** |
|
184 | * Durante a amostragem atual, o controlador de temperatura |
|
185 | * saiu da temperatura aceita. Esperando que o |
|
186 | * controlador retorne à temperatura correta da |
|
187 | * amostragem atual. |
|
188 | */ |
|
189 | 1 | ESPERANDO_RETORNO_TEMPERATURA, |
190 | ||
191 | /** |
|
192 | * A programação das amostragens terminou com sucesso. |
|
193 | */ |
|
194 | 1 | PROGRAMACAO_TERMINADA, |
195 | /** |
|
196 | * A programação foi encerrada pelo usuário. |
|
197 | */ |
|
198 | 1 | CANCELADO |
199 | } |
|
200 | } |