Chris@0: discovery; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Gets the plugin factory. Chris@0: * Chris@0: * @return \Drupal\Component\Plugin\Factory\FactoryInterface Chris@0: */ Chris@0: protected function getFactory() { Chris@0: return $this->factory; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function getDefinition($plugin_id, $exception_on_invalid = TRUE) { Chris@0: return $this->getDiscovery()->getDefinition($plugin_id, $exception_on_invalid); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function getDefinitions() { Chris@0: return $this->getDiscovery()->getDefinitions(); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function createInstance($plugin_id, array $configuration = []) { Chris@0: // If this PluginManager has fallback capabilities catch Chris@0: // PluginNotFoundExceptions. Chris@0: if ($this instanceof FallbackPluginManagerInterface) { Chris@0: try { Chris@0: return $this->getFactory()->createInstance($plugin_id, $configuration); Chris@0: } Chris@0: catch (PluginNotFoundException $e) { Chris@0: $fallback_id = $this->getFallbackPluginId($plugin_id, $configuration); Chris@0: return $this->getFactory()->createInstance($fallback_id, $configuration); Chris@0: } Chris@0: } Chris@0: else { Chris@0: return $this->getFactory()->createInstance($plugin_id, $configuration); Chris@0: } Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function getInstance(array $options) { Chris@0: return $this->mapper->getInstance($options); Chris@0: } Chris@0: Chris@0: }