* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * @link http://www.temando.com/ */ class EntityProcessorFactory { /** * @var ShipmentProcessor */ private $shipmentProcessor; /** * EntityEventProcessorFactory constructor. * @param ShipmentProcessor $shipmentProcessor */ public function __construct(ShipmentProcessor $shipmentProcessor) { $this->shipmentProcessor = $shipmentProcessor; } /** * @param string $entityType * @return EntityProcessorInterface * @throws EventException */ public function get($entityType) { switch ($entityType) { case StreamEventInterface::ENTITY_TYPE_SHIPMENT: return $this->shipmentProcessor; default: throw EventException::unknownEntityType($entityType); } } }