S - Tipo dos assinantes.D - Tipo dos dados sendo difundidos.public class DataChannel<S,D> extends Object
| Constructor and Description |
|---|
DataChannel(IDispatcher<S,D> dispatcher,
IDispatchListener<S,D> dispatchListener)
Construtor.
|
| Modifier and Type | Method and Description |
|---|---|
int |
countListeners()
Obtém o número de assinantes cadastrados neste canal.
|
void |
publish(D... data)
Publica dados no canal.
|
int |
subscribe(S subscriber,
tecgraf.javautils.core.filter.IFilter<D> selector)
Adiciona um assinante ao canal.
|
int |
unsubscribe(S subscriber)
Remove um determinado assinante do canal.
|
void |
unsubscribeAll()
Remove todos os assinantes do canal.
|
public DataChannel(IDispatcher<S,D> dispatcher, IDispatchListener<S,D> dispatchListener)
dispatcher - Estratégia utilizada para entregar os dados aos
assinantes.dispatchListener - Ouvinte de entrega de dados.public void publish(D... data)
data - Dados a serem publicados.public int subscribe(S subscriber, tecgraf.javautils.core.filter.IFilter<D> selector) throws IllegalArgumentException
subscriber - Assinante interessado em receber dados.selector - Responsável por selecionar os dados de interesse do
assinante.IllegalArgumentException - Se o assinante já estiver cadastrado.public int unsubscribe(S subscriber)
Remove um determinado assinante do canal.
Uma vez removido, o assinante não irá mais receber dados a menos que seja
inserido de novamente através do método subscribe(Object, IFilter)
.
subscriber - Assinante a ser removido.subscribe(Object, IFilter)public void unsubscribeAll()
public int countListeners()
Copyright © 2021. All rights reserved.