tempcontroller.base
Class AbstractTimer

java.lang.Object
  extended by tempcontroller.base.AbstractTimer
All Implemented Interfaces:
ITimer

public abstract class AbstractTimer
extends java.lang.Object
implements ITimer

Implementação auxiliar de um Timer. Controla o tempo decorrido.


Nested Class Summary
 
Nested classes/interfaces inherited from interface tempcontroller.base.ITimer
ITimer.Estado
 
Constructor Summary
AbstractTimer()
           
 
Method Summary
 void addOuvinteTimer(IOuvinteTimer ouvinte)
          Adiciona um ouvinte do Timer.
 void continua()
          Retoma a contagem do tempo, depois de um pause.
protected  void continuaImpl()
          Não faz nada.
protected  void fireTempoTotalTerminado()
          Notifica todos os ouvintes que o tempo total foi alcançado.
protected  void fireTickDoTimer()
          Notifica todos os ouvintes com um evento de tick.
protected  long getCurrentTime()
          Obtém o instante atual do relógio do sistema.
 ITimer.Estado getEstado()
          Obtém o estado atual do timer.
 long getTempoDecorrido()
          Obtém o tempo decorrido total.
 long getTempoTotal()
          Obtém o tempo total deste timer.
 long getTick()
          Obtém o tick do timer.
 void pause()
          Pausa a contagem do tempo.
protected  void pauseImpl()
          Não faz nada.
 void removeOuvinteTimer(IOuvinteTimer ouvinte)
          Remove um ouvinte do conjunto de ouvintes deste timer.
 void setTempoTotal(long tempoTotalLocal)
          Define o tempo total deste timer.
protected  void setTempoTotalImpl(long tempoTotalLocal)
          Não faz nada.
 void setTick(long tempo)
          Define o tick do timer.
protected  void setTickImpl(long tempo)
          Não faz nada.
 void start()
          Inicia a contagem do tempo.
protected  void startImpl()
          Não faz nada.
 void stop()
          Termina a contagem do tempo.
protected  void stopImpl()
          Não faz nada.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractTimer

public AbstractTimer()
Method Detail

setTempoTotal

public void setTempoTotal(long tempoTotalLocal)
Define o tempo total deste timer. Tempo total é a quantidade de tempo que o timer deve esperar até enviar um único evento de tempo total terminado.

Specified by:
setTempoTotal in interface ITimer
Parameters:
tempoTotalLocal - Tempo total do timer.

getTempoTotal

public long getTempoTotal()
Obtém o tempo total deste timer. Tempo total é a quantidade de tempo que o timer deve esperar até enviar um único evento de tempo total terminado.

Specified by:
getTempoTotal in interface ITimer
Returns:
O tempo total deste timer.

setTick

public void setTick(long tempo)
Define o tick do timer. Tick é o tempo que o timer deve esperar para enviar eventos de 'tick' periodicamente.

Specified by:
setTick in interface ITimer
Parameters:
tempo - Quantidade de tempo do tick.

getTick

public long getTick()
Obtém o tick do timer. Tick é o tempo que o timer deve esperar para enviar eventos de 'tick' periodicamente.

Specified by:
getTick in interface ITimer
Returns:
Quantidade de tempo do tick.

addOuvinteTimer

public void addOuvinteTimer(IOuvinteTimer ouvinte)
Adiciona um ouvinte do Timer. Este receberá os eventos de tick e de tempo total.

Specified by:
addOuvinteTimer in interface ITimer
Parameters:
ouvinte - Ouvinte dos eventos deste timer.

removeOuvinteTimer

public void removeOuvinteTimer(IOuvinteTimer ouvinte)
Remove um ouvinte do conjunto de ouvintes deste timer.

Specified by:
removeOuvinteTimer in interface ITimer
Parameters:
ouvinte - Ouvinte que não quer mais receber eventos deste timer.

fireTempoTotalTerminado

protected void fireTempoTotalTerminado()
Notifica todos os ouvintes que o tempo total foi alcançado.


fireTickDoTimer

protected void fireTickDoTimer()
Notifica todos os ouvintes com um evento de tick.


start

public void start()
Inicia a contagem do tempo.

Specified by:
start in interface ITimer

stop

public void stop()
Termina a contagem do tempo.

Specified by:
stop in interface ITimer

pause

public void pause()
Pausa a contagem do tempo.

Specified by:
pause in interface ITimer

continua

public void continua()
Retoma a contagem do tempo, depois de um pause.

Specified by:
continua in interface ITimer

getTempoDecorrido

public long getTempoDecorrido()
Obtém o tempo decorrido total. Ignora os períodos que o timer estava pausado.

Specified by:
getTempoDecorrido in interface ITimer
Returns:
O tempo decorrido.

getEstado

public ITimer.Estado getEstado()
Obtém o estado atual do timer.

Specified by:
getEstado in interface ITimer
Returns:
O estado atual do timer.

setTempoTotalImpl

protected void setTempoTotalImpl(long tempoTotalLocal)
Não faz nada. Chamado pelo método 'setTempoTotal' desta classe. Subclasses podem sobrepor este método para um controle próprio.

Parameters:
tempoTotalLocal - Tempo Total do timer.

startImpl

protected void startImpl()
Não faz nada. Chamdo pelo método 'start' desta classe. Subclasses podem sobrepor este método para um controle próprio.


stopImpl

protected void stopImpl()
Não faz nada. Chamado pelo método 'stop' desta classe. Subclasses podem sobrepor este método para um controle próprio.


setTickImpl

protected void setTickImpl(long tempo)
Não faz nada. Chamado pelo método 'setTick' desta classe. Subclasses podem sobrepor este método para controle próprio.

Parameters:
tempo - Quantidade de tempo do tick.

getCurrentTime

protected long getCurrentTime()
Obtém o instante atual do relógio do sistema. Chamado diversas vezes por esta classe para implementar o controle do tempo. Por padrão, obtém o tempo atual através de System.currentTimeMillis()

Returns:
O valor do instante atual, de acordo com o relógio do systema.

pauseImpl

protected void pauseImpl()
Não faz nada. Chamado pelo método 'pause'. Subclasses podem implementar este método para um controle próprio.


continuaImpl

protected void continuaImpl()
Não faz nada. Chamado pelo método 'continua'. Subclasses podem sobrepor este método para um controle próprio.



Copyright © 2007. All Rights Reserved.