@lybioit/component-interface-pattern
Version:
Padrão de Interface de Componente - Abstrações para desenvolvimento de componentes reutilizáveis. Projeto da disciplina BRADEPO do IFSP-BRA.
56 lines • 2.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BroadcastPortOutbox = void 0;
const PortOutbox_1 = require("./PortOutbox");
/**
* BroadcastPortOutbox (Caixa de Saída de Transmissão de Porto)
*
* Especialização abstrata de PortOutbox voltada ao envio de invocação de
* operações requeridas a múltiplos componentes simultaneamente.
*
* Esta implementação permite comunicação broadcast, onde uma única caixa
* de saída pode se conectar a múltiplos portos externos e enviar mensagens
* para todos eles simultaneamente.
*
* @abstract Esta classe deve ser estendida para implementar comportamentos específicos
*/
class BroadcastPortOutbox extends PortOutbox_1.PortOutbox {
constructor() {
super(...arguments);
/** Lista de portas externas às quais esta caixa de saída está conectada */
this.externalPorts = [];
}
/**
* Conecta esta caixa de saída a um porto externo.
*
* Adiciona um novo porto à lista de conexões, permitindo que esta
* caixa de saída envie mensagens para múltiplos destinos.
*
* @param externalPort - O porto externo ao qual se conectar
*/
connect(externalPort) {
// Implementação para conectar ao porto de transmissão
}
/**
* Desconecta esta caixa de saída de um porto externo específico.
*
* Remove um porto específico da lista de conexões, mantendo
* as outras conexões ativas.
*
* @param externalPort - O porto externo do qual se desconectar
*/
disconnectFrom(externalPort) {
// Implementação para desconectar porto externo específico
}
/**
* Desconecta esta caixa de saída de todos os portos externos.
*
* Remove todas as conexões externas, efetivamente isolando
* esta caixa de saída de qualquer comunicação externa.
*/
disconnect() {
// Implementação para desconectar todos os portos
}
}
exports.BroadcastPortOutbox = BroadcastPortOutbox;
//# sourceMappingURL=BroadcastPortOutbox.js.map