Coverage Report - tempcontroller.base.ITimer
 
Classes in this File Line Coverage Branch Coverage Complexity
ITimer
100% 
N/A 
0
 
 1  
 package tempcontroller.base;
 2  
 
 3  
 /**
 4  
  * Abstração de um Timer simples, com contagem de tempo decrescente
 5  
  * e geração de eventos de 'tick' periódicos.
 6  
  */
 7  
 public interface ITimer {
 8  
 
 9  
     /**
 10  
      * Estados do timer.
 11  
      */
 12  5
     public enum Estado {
 13  
         /**
 14  
          * Estado em que o timer não foi iniciado.
 15  
          */
 16  1
         NAO_INICIADO,
 17  
         /**
 18  
          * Contando o tempo.
 19  
          */
 20  1
         CRONOMETRANDO,
 21  
         /**
 22  
          * Pausado.
 23  
          */
 24  1
         PAUSADO,
 25  
         /**
 26  
          * Tempo total encerrado. Fim da contagem do tempo.
 27  
          */
 28  1
         TERMINADO
 29  
     }
 30  
     
 31  
     /**
 32  
      * Define o tempo total do timer. Este é o tempo que o timer
 33  
      * irá contar até gerar uma única vez o evento de 'tempoTotalTerminado'.
 34  
      * @param tempTotal Tempo total de contagem do tempo.
 35  
      */
 36  
     void setTempoTotal(long tempTotal);
 37  
     
 38  
     /**
 39  
      * Define o tempo de eventos periódicos de 'tick'. O timer gerará eventos
 40  
      * de tick com período 'tempo'. O primeiro evento será a critério
 41  
      * do próprio timer, podem ser a qualquer momento a partir do 
 42  
      * 'start' até uma espera máxima do próprio tamanho do tick.
 43  
      * @param tempo Quantidade de tempo do período do tick.
 44  
      */
 45  
     void setTick(long tempo);
 46  
     
 47  
     /**
 48  
      * Obtém o período do tick.
 49  
      * @return Período do tick.
 50  
      */
 51  
     long getTick();
 52  
     
 53  
     /**
 54  
      * Adiciona ouvintes do timer. Este ouvinte
 55  
      * ouvirá o evento de 'tempoTotalTerminado' e também
 56  
      * de ticks do relógio.
 57  
      * @param ouvinte Ouvinte do timer.
 58  
      */
 59  
     void addOuvinteTimer(IOuvinteTimer ouvinte);
 60  
     
 61  
     /**
 62  
      * Remove um ouvinte ao conjunto de ouvintes do timer.
 63  
      * @param ouvinte Ouvinte que não quer mais receber eventos deste
 64  
      * timer.
 65  
      */
 66  
     void removeOuvinteTimer(IOuvinteTimer ouvinte);
 67  
     
 68  
     /**
 69  
      * Inicia a contagem de tempo.
 70  
      */
 71  
     void start();
 72  
     
 73  
     /**
 74  
      * Termina a contagem de tempo, independente dela ter ou não
 75  
      * alcançado o seu tempo total.
 76  
      */
 77  
     void stop();
 78  
     
 79  
     /**
 80  
      * Pausa a contagem de tempo.
 81  
      */
 82  
     void pause();
 83  
     
 84  
     /**
 85  
      * Retorna a contagem de tempo que foi pausada.
 86  
      */
 87  
     void continua();
 88  
     
 89  
     /**
 90  
      * Obtém o tempo decorrido.
 91  
      * @return Tempo decorrido de acordo com a contagem deste timer.
 92  
      */
 93  
     long getTempoDecorrido();
 94  
     
 95  
     /**
 96  
      * Obtém o tempo total que a seu término encerra a contagem do tempo
 97  
      * e também provoca o evento 'tempoTotalTerminado'.
 98  
      * @return O tempo total deste timer.
 99  
      */
 100  
     long getTempoTotal();
 101  
     
 102  
     /**
 103  
      * Obtém o estado deste timer.
 104  
      * @return O estado deste timer.
 105  
      */
 106  
     Estado getEstado();
 107  
 }