webmngr.databus
Class SmartDatabus

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

public class SmartDatabus
extends Databus

Esta classe funciona como um barramento de dados normal só que possui uma funcionalidade a mais que lhe permite fazer uma seleção de quais consumidores estão interessados em quais dados.

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

Constructor Summary
SmartDatabus()
          Construtor default
SmartDatabus(java.lang.String name)
          Construtor parametrizado
 
Method Summary
 void addDataConsumer(DataConsumer dc)
          Insere um consumidor especial no barramento que não esta interessado em receber todas as informações que passam pelo barramento e sim em apenas um pequeno subconjunto delas.
Para se armazenar estes consumidores deve-se usar uma estrutura com acesso direto eficiente como uma HashTable ou um TreeMap.
protected  void notifyConsumers(DatabusObject databo)
          Notifica todos os consumidores que estão interessados em tudo que passa pelo barramento e envia as informações que interessam a alguns dos consumidores.
 DataConsumer remDataConsumer(DataConsumer dc)
          Remove um smartdataconsumer da lista de consumidores do barramento.
 
Methods inherited from class webmngr.databus.Databus
addDataProducer, getName, putDatabusObject, remDataProducer, setName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SmartDatabus

public SmartDatabus()
Construtor default

SmartDatabus

public SmartDatabus(java.lang.String name)
Construtor parametrizado
Parameters:
name - Nome deste SmartDatabus
Method Detail

remDataConsumer

public DataConsumer remDataConsumer(DataConsumer dc)
                             throws MemberNotFoundException
Remove um smartdataconsumer da lista de consumidores do barramento.
Overrides:
remDataConsumer in class Databus
Parameters:
smartdc - Consumidor que deve ser removido do barramento
Returns:
O consumidor removido.
Throws:
MemberNotFoundException - Se o consumidor nao estiver no barramento.

addDataConsumer

public void addDataConsumer(DataConsumer dc)
Insere um consumidor especial no barramento que não esta interessado em receber todas as informações que passam pelo barramento e sim em apenas um pequeno subconjunto delas.
Para se armazenar estes consumidores deve-se usar uma estrutura com acesso direto eficiente como uma HashTable ou um TreeMap.
Overrides:
addDataConsumer in class Databus
Parameters:
smartdc - O novo consumidor com interesses do barramento.

notifyConsumers

protected void notifyConsumers(DatabusObject databo)
Notifica todos os consumidores que estão interessados em tudo que passa pelo barramento e envia as informações que interessam a alguns dos consumidores.
Overrides:
notifyConsumers in class Databus
Parameters:
databo - Informação atual do barramento