tempcontroller.base
Class ControladorAmostragem

java.lang.Object
  extended by tempcontroller.base.ControladorAmostragem
All Implemented Interfaces:
IControladorAmostragem, IOuvinteMudancaTemperatura, IOuvinteTimer

public class ControladorAmostragem
extends java.lang.Object
implements IControladorAmostragem

Controla a execução de uma amostragem, monitorando o controlador de temperatura, o Timer e o Leitor de Espectro.


Nested Class Summary
 
Nested classes/interfaces inherited from interface tempcontroller.base.IControladorAmostragem
IControladorAmostragem.Estado, IControladorAmostragem.Status
 
Constructor Summary
ControladorAmostragem()
          Cria um novo controlador de amostragem.
 
Method Summary
 boolean aceita(IProgramacaoAmostragem prog, IControladorTemperatura control, ILeitorEspectro leitor, ITimer timerLocal)
          Método que inicia o controlador com os objetos necessários para a execução da amostragem.
 void addOuvinteEventosControladorAmostragem(IOuvinteEventosControladorAmostragem ouvinte)
          Adiciona um ouvinte aos eventos gerados por este controlador.
 void cancel()
          Cancela a execução da programação atual.
 IProgramacaoAmostragem carregaProgramacao(java.io.File file)
          Carrega uma programação de um arquivo.
 IControladorAmostragem.Status getStatus()
          Obtém o status corrente.
 void gravaProgramacao(IProgramacaoAmostragem programacaoLocal, java.io.File file)
          Grava uma programação para um arquivo.
 void limpaProgramacao()
          Limpa todos os recursos utilizados por este controlador, inclusive a programação atual.
 void novaTemperatura(double temperatura)
          Notificação do controlador de temperatura indicando que ele está em nova temperatura.
 void removeOuvinteEventosControladorAmostragem(IOuvinteEventosControladorAmostragem ouvinte)
          Remove um ouvinte dos eventos deste controlador.
 void start()
          Inicia a execução da programação atual.
 void temperaturaAlvoAlcancada(double temperatura)
          Notificação do controlador de temperatura indicando que a temperatura alvo foi alcançada.
 void tempoTotalTerminado()
          Evento do timer, indicando que o tempo total da amostragem atual foi alcançado.
 void tickDoTimer()
          Evento do timer, indicando que um tick do relógio já passou.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ControladorAmostragem

public ControladorAmostragem()
Cria um novo controlador de amostragem.

Method Detail

getStatus

public final IControladorAmostragem.Status getStatus()
Obtém o status corrente.

Specified by:
getStatus in interface IControladorAmostragem
Returns:
O status corrente.

carregaProgramacao

public final IProgramacaoAmostragem carregaProgramacao(java.io.File file)
                                                throws java.io.IOException,
                                                       java.lang.ClassNotFoundException
Carrega uma programação de um arquivo.

Specified by:
carregaProgramacao in interface IControladorAmostragem
Parameters:
file - O arquivo que será lido.
Returns:
A programação lida.
Throws:
java.io.IOException - Se ocorrer algum erro de leitura.
java.lang.ClassNotFoundException - Se o arquivo não tiver um uma programação gravada.

gravaProgramacao

public final void gravaProgramacao(IProgramacaoAmostragem programacaoLocal,
                                   java.io.File file)
                            throws java.io.IOException
Grava uma programação para um arquivo.

Specified by:
gravaProgramacao in interface IControladorAmostragem
Parameters:
programacaoLocal - Programação que será gravada
file - Arquivo que será gravado.
Throws:
java.io.IOException - Se ocorrer algum erro durante a gravação.

aceita

public final boolean aceita(IProgramacaoAmostragem prog,
                            IControladorTemperatura control,
                            ILeitorEspectro leitor,
                            ITimer timerLocal)
Método que inicia o controlador com os objetos necessários para a execução da amostragem. Ele retorna o status indicando se a amostragem pode ou não prosseguir.

Specified by:
aceita in interface IControladorAmostragem
Parameters:
prog - Programação de Amostragem.
control - Controlador de Temperatura que será utilizado.
leitor - O Leitor de espectro que será utilizado.
timerLocal - O timer que será utilizado
Returns:
true caso a programação possa ser executada com este controlador, leitor de espectro e timer.

limpaProgramacao

public final void limpaProgramacao()
Limpa todos os recursos utilizados por este controlador, inclusive a programação atual.

Specified by:
limpaProgramacao in interface IControladorAmostragem

addOuvinteEventosControladorAmostragem

public final void addOuvinteEventosControladorAmostragem(IOuvinteEventosControladorAmostragem ouvinte)
Adiciona um ouvinte aos eventos gerados por este controlador.

Specified by:
addOuvinteEventosControladorAmostragem in interface IControladorAmostragem
Parameters:
ouvinte - o ouvinte que será notificado sempre que o estado deste controlador mudar.

removeOuvinteEventosControladorAmostragem

public final void removeOuvinteEventosControladorAmostragem(IOuvinteEventosControladorAmostragem ouvinte)
Remove um ouvinte dos eventos deste controlador.

Parameters:
ouvinte - que não quer mais receber notificações de mudança de estado deste controlador.

start

public final void start()
Inicia a execução da programação atual.

Specified by:
start in interface IControladorAmostragem

cancel

public final void cancel()
Cancela a execução da programação atual.

Specified by:
cancel in interface IControladorAmostragem

novaTemperatura

public final void novaTemperatura(double temperatura)
Notificação do controlador de temperatura indicando que ele está em nova temperatura. O controlador de amosragem deve verificar se a temperatura está dentro dos limites estabelecidos.

Specified by:
novaTemperatura in interface IOuvinteMudancaTemperatura
Parameters:
temperatura - A temperatura atual do controlador.

temperaturaAlvoAlcancada

public final void temperaturaAlvoAlcancada(double temperatura)
Notificação do controlador de temperatura indicando que a temperatura alvo foi alcançada. O controlador de amostragem deve iniciar ou prosseguir na amostragem atual.

Specified by:
temperaturaAlvoAlcancada in interface IOuvinteMudancaTemperatura
Parameters:
temperatura - A temperatura atual do controlador.

tickDoTimer

public final void tickDoTimer()
Evento do timer, indicando que um tick do relógio já passou. O controlador de amostragem deve gravar um espectro com resultados parciais.

Specified by:
tickDoTimer in interface IOuvinteTimer

tempoTotalTerminado

public final void tempoTotalTerminado()
Evento do timer, indicando que o tempo total da amostragem atual foi alcançado. O controlador deve gravar a amostragem atual com os resultados finais, e prosseguir com a programação.

Specified by:
tempoTotalTerminado in interface IOuvinteTimer


Copyright © 2007. All Rights Reserved.