![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/Indexer/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Indexer; use Magento\Framework\Indexer\Handler\DefaultHandler; use Magento\Framework\ObjectManagerInterface; /** * @api Instantiate save handler when implementing custom Indexer\Action * @since 100.0.2 */ class HandlerPool { /** * @var ObjectManagerInterface */ protected $objectManager; /** * @var HandlerInterface */ protected $defaultHandler; /** * @param ObjectManagerInterface $objectManager * @param DefaultHandler $defaultHandler */ public function __construct( ObjectManagerInterface $objectManager, DefaultHandler $defaultHandler ) { $this->defaultHandler = $defaultHandler; $this->objectManager = $objectManager; } /** * Get handler class instance * * @param string $handlerClass * @throws \InvalidArgumentException * @return HandlerInterface */ public function get($handlerClass = null) { if ($handlerClass === null) { return $this->defaultHandler; } $handler = $this->objectManager->get($handlerClass); if (!$handler instanceof HandlerInterface) { throw new \InvalidArgumentException( $handlerClass . ' doesn\'t implement \Magento\Framework\Indexer\HandlerInterface' ); } return $handler; } }