6 declare(strict_types=1);
18 private $multiDimensionProviderFactory;
23 private $dimensionProviders;
28 private $dimensionModeConfiguration;
36 \
Magento\Framework\
Indexer\MultiDimensionProviderFactory $multiDimensionProviderFactory,
38 array $dimensionProviders
40 $this->multiDimensionProviderFactory = $multiDimensionProviderFactory;
41 $this->dimensionProviders = $dimensionProviders;
42 $this->dimensionModeConfiguration = $dimensionModeConfiguration;
54 $dimensionConfiguration = $this->dimensionModeConfiguration->getDimensionConfiguration($dimensionsMode);
57 foreach ($dimensionConfiguration as $dimensionName) {
58 if (!isset($this->dimensionProviders[$dimensionName])) {
59 throw new \LogicException(
60 'Dimension Provider is missing. Cannot handle unknown dimension: ' . $dimensionName
63 $providers[] = clone $this->dimensionProviders[$dimensionName];
66 return $this->multiDimensionProviderFactory->create(
68 'dimensionProviders' => $providers
__construct(\Magento\Framework\Indexer\MultiDimensionProviderFactory $multiDimensionProviderFactory, DimensionModeConfiguration $dimensionModeConfiguration, array $dimensionProviders)
create(string $dimensionsMode=null)