fileManager = $fileManager; } public function getAddonsManager() { if ( is_null( $this->addonsManager ) ) { $this->addonsManager = new AddonsManager( $this->fileManager ); } return $this->addonsManager; } /** * @return PluginApi */ public function getPluginsApi() { if ( is_null( $this->pluginsApi ) ) { $this->pluginsApi = new PluginApi( $this->getFileManager() ); } return $this->pluginsApi; } /** * @return WizardApi */ public function getWizardApi() { if ( is_null( $this->wizardApi ) ) { $this->wizardApi = new WizardApi( $this->getPluginsApi() ); } return $this->wizardApi; } /** * @return PluginsHandler */ public function getPluginsHandler() { if ( is_null( $this->pluginsHandler ) ) { $this->pluginsHandler = new PluginsHandler( $this->getPluginsApi(), $this->getFileManager() ); } return $this->pluginsHandler; } /** * @return WizardHandler */ public function getWizardHandler() { if ( is_null( $this->wizardHandler ) ) { $this->wizardHandler = new WizardHandler( $this->getWizardApi(), $this->getFileManager() ); } return $this->wizardHandler; } /** * @return ToolbarHandler */ public function getToolbarHandler() { if ( is_null( $this->toolbarHandler ) ) { $this->toolbarHandler = new ToolbarHandler( $this->getPluginsApi(), $this->getWizardApi() ); } return $this->toolbarHandler; } /** * @return AdminNotifier */ public function getNotifier() { if ( is_null( $this->notifier ) ) { $this->notifier = new AdminNotifier(); } return $this->notifier; } /** * @return FileManager */ public function getFileManager() { return $this->fileManager; } }