1 /* 2 * IControladorTemperatura.java 3 * 4 * Created on 12 de Mar�o de 2007, 12:19 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 /** 13 * Interface de comunicação com o controlador de temperatura. 14 */ 15 public interface IControladorTemperatura { 16 /** 17 * Estados possíveis do controlador de temperatura. 18 */ 19 enum Estado { 20 /** 21 * Controlador de temperatura sem temperatura alvo. 22 */ 23 SEM_ALVO, 24 /** 25 * Controlador de temperatura esperando que o 26 * hardware chege à temperatura escolhida. 27 */ 28 BUSCANDO_ALVO, 29 /** 30 * Controlador de temperatura na temperatura alvo. 31 */ 32 ALVO_ALCANCADO, 33 } 34 35 /** 36 * Obtém o estado do controlador de temperatura. 37 * @return Estado do controlador de temperatura. 38 */ 39 Estado getEstado(); 40 41 /** 42 * Adiciona ouvinte de mudança de temperatura. 43 * @param ouvinte Novo ouvinte de temperatura. 44 */ 45 void addIOuvinteMundancaTemperatura( 46 final IOuvinteMudancaTemperatura ouvinte); 47 48 49 /** 50 * Remove um ouvinte deste controlador de temperatura. 51 * @param ouvinte Ouvinte que não quer mais ouvir 52 * eventos do controlador de temperatura. 53 */ 54 void removeOuvinteMudancaTemperatura( 55 final IOuvinteMudancaTemperatura ouvinte); 56 57 /** 58 * Define a temperatura alvo que o controlador deve tentar 59 * alcançar fisicamente no dispositivo. 60 * @param temperaturaAlvo Temperatura alvo. 61 */ 62 void setTemperaturaAlvo(double temperaturaAlvo); 63 64 /** 65 * Obtém a temperatura alvo deste controlador. 66 * @return Temperatura alvo deste controlador. 67 */ 68 double getTemperaturaAlvo(); 69 70 /** 71 * Obtém a temperatura atual. 72 * @return A temperatura atual. 73 */ 74 double getTemperatura(); 75 76 /** 77 * Bloqueia a thead atual at� que seja alcan�ada a temperatura alvo. 78 */ 79 void esperaAteTemperaturaAlvo(); 80 81 /** 82 * Libera os recursos. Depois deste método executado, 83 * o controlador não poderá ser mais utilizado. 84 */ 85 void dispose(); 86 87 /** 88 * Cancela a temperatura alvo, permitindo que o dispositivo 89 * fique na temperatura ambiente. Não libera os recursos 90 * pois o controlador poderá ser usado novamente. 91 */ 92 void cancelaTemperaturaAlvo(); 93 94 /** 95 * Verifica se a temperatura passada está no intervalo válido 96 * para este controlador de temperatura. 97 * @param temperatura Temperatura que será testada. 98 * @return <code>true</code> apenas se a temperatura passada estiver 99 * dentro do intervalo válido para este controlador. 100 */ 101 boolean aceitaTemperatura(double temperatura); 102 }