* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * @link http://www.temando.com/ */ class OrderOperationProcessorPool { /** * @var SaveProcessorInterface[] */ private $saveProcessors; /** * OrderOperationProcessorPool constructor. * @param SaveProcessorInterface[] $saveProcessors */ public function __construct(array $saveProcessors = []) { $this->saveProcessors = $saveProcessors; } /** * @param SalesOrderInterface $salesOrder * @param OrderInterface $requestType * @param OrderResponseType $responseType * @return void * @throws LocalizedException */ public function processSaveResponse( SalesOrderInterface $salesOrder, OrderInterface $requestType, OrderResponseType $responseType ) { foreach ($this->saveProcessors as $processor) { $processor->postProcess($salesOrder, $requestType, $responseType); } } }