123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Elasticsearch\Elasticsearch5\Model\Client;
- use Magento\AdvancedSearch\Model\Client\ClientFactoryInterface;
- use Magento\AdvancedSearch\Model\Client\ClientResolver;
- /**
- * Proxy for client factories
- */
- class ClientFactoryProxy implements ClientFactoryInterface
- {
- /**
- * @var ClientResolver
- */
- private $clientResolver;
- /**
- * @var ClientFactoryInterface[]
- */
- private $clientFactories;
- /**
- * CategoryFieldsProviderProxy constructor.
- * @param ClientResolver $clientResolver
- * @param ClientFactoryInterface[] $clientFactories
- */
- public function __construct(
- ClientResolver $clientResolver,
- array $clientFactories
- ) {
- $this->clientResolver = $clientResolver;
- $this->clientFactories = $clientFactories;
- }
- /**
- * @return ClientFactoryInterface
- */
- private function getClientFactory()
- {
- return $this->clientFactories[$this->clientResolver->getCurrentEngine()];
- }
- /**
- * @inheritdoc
- */
- public function create(array $options = [])
- {
- return $this->getClientFactory()->create($options);
- }
- }
|