| Current Path : /var/www/clients/client3/web2/web/vendor/magento/framework-message-queue/Publisher/ |
| Current File : /var/www/clients/client3/web2/web/vendor/magento/framework-message-queue/Publisher/Config.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Framework\MessageQueue\Publisher;
use Magento\Framework\Exception\LocalizedException;
use Magento\Framework\Phrase;
use \Magento\Framework\MessageQueue\Publisher\Config\PublisherConfigItem\Iterator;
/**
* Publisher config provides access data declared in etc/queue_publisher.xml
*/
class Config implements ConfigInterface
{
/**
* Publisher config data iterator.
*
* @var Iterator
*/
private $iterator;
/**
* Initialize dependencies.
*
* @param Iterator $iterator
*/
public function __construct(Iterator $iterator)
{
$this->iterator = $iterator;
}
/**
* {@inheritdoc}
*/
public function getPublisher($topic)
{
$publisher = $this->iterator[$topic];
if (!$publisher) {
throw new LocalizedException(
new Phrase("Publisher '%publisher' is not declared.", ['publisher' => $topic])
);
}
return $publisher;
}
/**
* {@inheritdoc}
*/
public function getPublishers()
{
return $this->iterator;
}
}