webmngr.calculators
Class AbstractCalculator

java.lang.Object
  |
  +--webmngr.calculators.AbstractCalculator
All Implemented Interfaces:
Calculator, DatabusMember, DataConsumer, DataProducer, java.io.Serializable, SmartDataConsumer
Direct Known Subclasses:
DeltaActivityCalculator, PercentualActivityCalculator, TotalActivityCalculator

public class AbstractCalculator
extends java.lang.Object
implements Calculator

Classe abstrata que representa metodos comuns de todos os calculadores existentes no barramento Activity. Copyright: Copyright (c) 2002 Company:

Author:
Giorgio Onofre Limeira(giorgio@dsc.ufpb.br)
See Also:
Serialized Form

Field Summary
protected  java.util.Vector buffer
          Fila de dados para serem logados.
 Databus inputDatabus
          Barramento de onde vem as informações para serem filtradas.
protected  java.lang.String inputDatabusName
          Nome do barramento ao qual o filtro deve se conectar para consumir.
 Databus outputDatabus
          Barramento de onde vem as informações para serem filtradas.
protected  java.lang.String outputDatabusName
          Nome do barramento ao qual o filtro deve se conectar para produzir.
protected  java.lang.String outputOid
          Oid que indica onde a informação produzida deverá ser armazenada
 
Constructor Summary
AbstractCalculator()
          Construtor default
 
Method Summary
 void addGroup(Group group)
          Adiciona um novo grupo a lista de grupos desse calculador
 void addInterestingDevice(java.lang.String device)
          Adiciona um novo dispositivo a lista de dispositivo de interesse deste calculador.
 void addInterestingInformation(java.lang.String information)
          Adiciona uma nova informacão a lista de informações de interesse deste calculador.
 void consume(DatabusObject databo)
          Insere a informação vinda do barramento de entrada!
 Databus getInputDatabus()
          Retorna o barramento que serão consumidas as informacoes
 java.util.Iterator getInterests()
          Retorna um Iterador com os interesses deste filtro que eh um consumidor.
 java.lang.String getName()
          Retorna o nome do calculator
 Databus getOutputDatabus()
          Retorna o barramento onde as informaçoes serao inseridas
 java.lang.String getOutputOid()
          Retorna o Oid de saida
 void groupProduce(Group group, Device d, VariableBindings vb)
          Metodo que apenas sera implementado nas subclasses pois cada calculador sabe como calcular os valores de determinados oids.
 void joinBus()
          Conecta este DatabusConsumer a um barramento de dados.
O DatabusMember deve chamar este método toda vez que quiser entrar no barramento.
 void leaveBus()
          Desconecta este DatabusConsumer de um barramento de dados.
O DatabusMember deve chamar este método toda vez que quiser sair do barramento.
 void produce()
          Insere um nova informação no barramento no barramento de saida
 void setInputDatabus(java.lang.String inputDatabusName)
          Seta o barramento que deve me conectar como consumidor.
 void setName(java.lang.String name)
          Configura o nome do calculator
 void setOutputDatabus(java.lang.String outputDatabusName)
          Seta o barramento onde as informações serão inseridas.
 void setOutputOid(java.lang.String output)
          Modifica o oid de saida
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

buffer

protected java.util.Vector buffer
Fila de dados para serem logados.

inputDatabusName

protected java.lang.String inputDatabusName
Nome do barramento ao qual o filtro deve se conectar para consumir.

outputDatabusName

protected java.lang.String outputDatabusName
Nome do barramento ao qual o filtro deve se conectar para produzir.

outputDatabus

public Databus outputDatabus
Barramento de onde vem as informações para serem filtradas.

inputDatabus

public Databus inputDatabus
Barramento de onde vem as informações para serem filtradas.

outputOid

protected java.lang.String outputOid
Oid que indica onde a informação produzida deverá ser armazenada
Constructor Detail

AbstractCalculator

public AbstractCalculator()
Construtor default
Method Detail

setName

public void setName(java.lang.String name)
Configura o nome do calculator
Specified by:
setName in interface DatabusMember
Parameters:
name - O nome do calculador

getName

public java.lang.String getName()
Retorna o nome do calculator
Specified by:
getName in interface DatabusMember

setOutputDatabus

public void setOutputDatabus(java.lang.String outputDatabusName)
Seta o barramento onde as informações serão inseridas.
Specified by:
setOutputDatabus in interface DataProducer
Parameters:
outputDatabusName - Nome do barramento ao qual quero me conectar.

getOutputDatabus

public Databus getOutputDatabus()
Retorna o barramento onde as informaçoes serao inseridas
Specified by:
getOutputDatabus in interface DataProducer
Returns:
Barramento ao qual estou conectado como produtor.

setInputDatabus

public void setInputDatabus(java.lang.String inputDatabusName)
Seta o barramento que deve me conectar como consumidor.
Specified by:
setInputDatabus in interface DataConsumer
Parameters:
inputDatabusName - Nome do barramento ao qual quero me conectar.

getInputDatabus

public Databus getInputDatabus()
Retorna o barramento que serão consumidas as informacoes
Specified by:
getInputDatabus in interface DataConsumer
Returns:
Barramento ao qual estou conectado como consumidor.

getOutputOid

public java.lang.String getOutputOid()
Retorna o Oid de saida
Returns:
O oid de saida do calculador

setOutputOid

public void setOutputOid(java.lang.String output)
Modifica o oid de saida
Parameters:
output - O string representa o novo oid

addInterestingDevice

public void addInterestingDevice(java.lang.String device)
Adiciona um novo dispositivo a lista de dispositivo de interesse deste calculador.
Specified by:
addInterestingDevice in interface SmartDataConsumer
Parameters:
Device - Disposito de interesse do calculador.

addGroup

public void addGroup(Group group)
Adiciona um novo grupo a lista de grupos desse calculador
Parameters:
Group - Grupo que sera adicionado ao calculador

addInterestingInformation

public void addInterestingInformation(java.lang.String information)
Adiciona uma nova informacão a lista de informações de interesse deste calculador.
Specified by:
addInterestingInformation in interface SmartDataConsumer
Parameters:
Oid - Uma nova informação de interesse desse calculador.

getInterests

public java.util.Iterator getInterests()
Retorna um Iterador com os interesses deste filtro que eh um consumidor. Esta lista é obtida pelo produto cartesiano do conjunto de dispositivos e do conjunto de informações.
Specified by:
getInterests in interface SmartDataConsumer
Returns:
Iterator Vetor de Interest, constituido pelo para (Device,Informação)

consume

public void consume(DatabusObject databo)
Insere a informação vinda do barramento de entrada!
Specified by:
consume in interface DataConsumer
Parameters:
DatabusObject - Um pacote do barramento de entrada.

produce

public void produce()
Insere um nova informação no barramento no barramento de saida
Specified by:
produce in interface DataProducer

groupProduce

public void groupProduce(Group group,
                         Device d,
                         VariableBindings vb)
Metodo que apenas sera implementado nas subclasses pois cada calculador sabe como calcular os valores de determinados oids.
Parameters:
group - Grupo que esta sendo analisado
device - Dispositivo analisado
vb - Variable Binding que contem os oids monitorados.

leaveBus

public void leaveBus()
Desconecta este DatabusConsumer de um barramento de dados.
O DatabusMember deve chamar este método toda vez que quiser sair do barramento.
Specified by:
leaveBus in interface DataConsumer

joinBus

public void joinBus()
Conecta este DatabusConsumer a um barramento de dados.
O DatabusMember deve chamar este método toda vez que quiser entrar no barramento.
Specified by:
joinBus in interface DataConsumer