webmngr.databus
Class Databus

java.lang.Object
  |
  +--webmngr.databus.Databus
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
SmartDatabus

public class Databus
extends java.lang.Object
implements java.io.Serializable

Classe que representa um barramento de dados que faz broadcast da informação para todos os consumidores.
Os objetos podem entrar no barramento como consumidores ou produtores.
Os produtores geram a informação que circula no barramento e os consumidores recebem toda a informação que circula nele.

Author:
Alexandre Nóbrega Duarte
See Also:
Serialized Form

Constructor Summary
Databus()
          Construtor default
Databus(java.lang.String name)
          Construtor parametrizado.
 
Method Summary
 void addDataConsumer(DataConsumer datac)
          Adiciona um consumidor à lista de consumidores do barramento que estão interessados em tudo que passa pelo barramento.
 void addDataProducer(DataProducer datap)
          Adiciona um produtor à lista de produtores do barramento.
 java.lang.String getName()
          Método que acesso o nome do barramento
protected  void notifyConsumers(DatabusObject databo)
          Este método notifica todos os consumidores sobre novos dados no barramento.
 void putDatabusObject(DatabusObject databo)
          Insere uma nova informação no barramento.
Os DataProducers chamam este método quando querem inserir informações no barramento.
 DataConsumer remDataConsumer(DataConsumer datac)
          Remove um consumidor da lista de consumidores do barramento.
 DataProducer remDataProducer(DataProducer datap)
          Remove um produtor da lista de produtores do barramento.
 void setName(java.lang.String name)
          Muda o nome do barramento.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Databus

public Databus()
Construtor default

Databus

public Databus(java.lang.String name)
Construtor parametrizado.
Parameters:
name - Nome do barramento
Method Detail

setName

public void setName(java.lang.String name)
Muda o nome do barramento.
Parameters:
name - Novo nome do barramento

getName

public java.lang.String getName()
Método que acesso o nome do barramento
Returns:
Nome do barramento.

addDataProducer

public void addDataProducer(DataProducer datap)
                     throws MemberAlreadyInBusException
Adiciona um produtor à lista de produtores do barramento.
Parameters:
datap - Novo produtor do barramento

remDataProducer

public DataProducer remDataProducer(DataProducer datap)
                             throws MemberNotFoundException
Remove um produtor da lista de produtores do barramento.
Parameters:
datap - Produtor a ser removido do barramento
Returns:
O DataProducer removido do barramento
Throws:
MemberNotFoundException - Se o produtor não estiver no barramento.

addDataConsumer

public void addDataConsumer(DataConsumer datac)
Adiciona um consumidor à lista de consumidores do barramento que estão interessados em tudo que passa pelo barramento.
Parameters:
datac - Novo consumidor do barramento

remDataConsumer

public DataConsumer remDataConsumer(DataConsumer datac)
                             throws MemberNotFoundException
Remove um consumidor da lista de consumidores do barramento.
Parameters:
datac - Consumidor a ser removido do barramento
Returns:
O DataConsumer removido do barramento
Throws:
MemberNotFoundException - Se o consumidor não estiver no barramento.

putDatabusObject

public void putDatabusObject(DatabusObject databo)
Insere uma nova informação no barramento.
Os DataProducers chamam este método quando querem inserir informações no barramento.
Parameters:
databo - Nova informação que vai circular no barramento.

notifyConsumers

protected void notifyConsumers(DatabusObject databo)
Este método notifica todos os consumidores sobre novos dados no barramento.
Parameters:
databo - O DatabusObject que vai ser passado para os consumidores