22 private $objectManager =
null;
34 private $engineResolver;
49 $this->handlers = $handlers;
50 $this->engineResolver = $engineResolver;
64 $currentHandler = $this->engineResolver->getCurrentSearchEngine();
65 if (!isset($this->handlers[$currentHandler])) {
68 $this->create($currentHandler)->switchIndex($dimensions);
79 $indexSwitcher = $this->objectManager->create($this->handlers[
$handler]);
82 throw new \InvalidArgumentException(
83 $handler .
' index switcher doesn\'t implement ' . IndexSwitcherInterface::class
87 return $indexSwitcher;
switchIndex(array $dimensions)
__construct(ObjectManagerInterface $objectManager, EngineResolverInterface $engineResolver, array $handlers=[])
catch(\Exception $e) $handler