Coverage Report - tempcontroller.base.IControladorAmostragem
 
Classes in this File Line Coverage Branch Coverage Complexity
IControladorAmostragem
100% 
N/A 
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  
 }