envFactory = $envFactory; } /** * Returns object manager factory * * @param array $arguments * @return FactoryInterface */ public function getObjectManagerFactory($arguments) { $factoryClass = $this->getDiConfig()->getPreference($this->configPreference); $this->factory = $this->createFactory($arguments, $factoryClass); $this->decorate($arguments); return $this->factory; } /** * Return name of running mode * * @return string */ public function getMode() { return $this->mode; } /** * Decorate factory * * @param array $arguments * @return void */ protected function decorate($arguments) { if (isset($arguments['MAGE_PROFILER']) && $arguments['MAGE_PROFILER'] == 2) { $this->factory = new FactoryDecorator( $this->factory, Log::getInstance() ); } } /** * Creates factory * * @param array $arguments * @param string $factoryClass * * @return FactoryInterface */ protected function createFactory($arguments, $factoryClass) { return new $factoryClass( $this->getDiConfig(), null, $this->envFactory->getDefinitions(), $arguments ); } }