<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\MessageQueue\Publisher\Config; /** * Factory class for @see \Magento\Framework\MessageQueue\Publisher\Config\PublisherConnectionInterface */ class PublisherConnectionFactory { /** * Object Manager instance * * @var \Magento\Framework\ObjectManagerInterface */ private $objectManager = null; /** * Instance name to create * * @var string */ private $instanceName = null; /** * Factory constructor * * @param \Magento\Framework\ObjectManagerInterface $objectManager * @param string $instanceName */ public function __construct( \Magento\Framework\ObjectManagerInterface $objectManager, $instanceName = PublisherConnection::class ) { $this->objectManager = $objectManager; $this->instanceName = $instanceName; } /** * Create class instance with specified parameters * * @param array $data * @return \Magento\Framework\MessageQueue\Publisher\Config\PublisherConnection */ public function create(array $data = []) { return $this->objectManager->create($this->instanceName, $data); } }