View Javadoc

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 }