AbstractSenderHandler
extends AbstractHandler
in package
implements
ExchangeHandlerInterface
Clase base para los handlers de envío del proceso de intercambio.
Table of Contents
Interfaces
- ExchangeHandlerInterface
- Interfaz para los handlers del intercambio.
Properties
Methods
- __construct() : mixed
- Constructor del handler.
- handle() : array<string|int, ExchangeResultInterface>
- Procesa una bolsa de intercambio, sus sobres y documentos.
- hasRequiredData() : bool
- Determina si el sobre tiene los datos mínimos necesarios.
- resolveStrategies() : array<string|int, string>
- Entrega las estrategias que efectivamente se pueden ejecutar con el sobre que se ha pasado.
- shouldProcess() : bool
- Determina si el sobre debe ser procesado por el handler y pasado a una estrategia si tiene los datos necesarios y se encuentra una estrategia válida.
Properties
$senderWorker
private
SenderWorkerInterface
$senderWorker
Methods
__construct()
Constructor del handler.
public
__construct(SenderWorkerInterface $senderWorker[, array<string|int, mixed> $strategies = [] ]) : mixed
Parameters
- $senderWorker : SenderWorkerInterface
- $strategies : array<string|int, mixed> = []
-
Estrategias que este handler puede manejar.
handle()
Procesa una bolsa de intercambio, sus sobres y documentos.
public
handle(ExchangeBagInterface $bag) : array<string|int, ExchangeResultInterface>
Parameters
- $bag : ExchangeBagInterface
-
Bolsa con los sobres, si corresponde, y las opciones para realizar el intercambio de documentos.
Return values
array<string|int, ExchangeResultInterface> —Los resultados de procesar los sobres de la bolsa. Tiene el estado de cada estrategia que procesó el sobre.
hasRequiredData()
Determina si el sobre tiene los datos mínimos necesarios.
protected
abstract hasRequiredData(EnvelopeInterface $envelope) : bool
Estos datos mínimos son independientes de la estrategia que use el handler, pero están relacionados. Por ejemplo, estrategias que envían el sobre por correo electrónico requerirán un correo electrónico en el destinatario.
Parameters
- $envelope : EnvelopeInterface
Return values
boolresolveStrategies()
Entrega las estrategias que efectivamente se pueden ejecutar con el sobre que se ha pasado.
protected
resolveStrategies(EnvelopeInterface $envelope) : array<string|int, string>
Este método revisa cada estrategia pasando el sobre para saber si la estrategia lo puede procesar.
Parameters
- $envelope : EnvelopeInterface
Return values
array<string|int, string> —Códigos de las estrategias que se pueden ejecutar.
shouldProcess()
Determina si el sobre debe ser procesado por el handler y pasado a una estrategia si tiene los datos necesarios y se encuentra una estrategia válida.
protected
abstract shouldProcess(EnvelopeInterface $envelope) : bool
Parameters
- $envelope : EnvelopeInterface