setCacheBackend($cache_backend, 'devel_dumper_plugins'); $this->alterInfo('devel_dumper_info'); } /** * {@inheritdoc} */ public function processDefinition(&$definition, $plugin_id) { parent::processDefinition($definition, $plugin_id); $definition['supported'] = (bool) call_user_func([$definition['class'], 'checkRequirements']); } /** * {@inheritdoc} */ public function isPluginSupported($plugin_id) { $definition = $this->getDefinition($plugin_id, FALSE); return $definition && $definition['supported']; } /** * {@inheritdoc} */ public function createInstance($plugin_id, array $configuration = []) { if (!$this->isPluginSupported($plugin_id)) { $plugin_id = $this->getFallbackPluginId($plugin_id); } return parent::createInstance($plugin_id, $configuration); } /** * {@inheritdoc} */ public function getFallbackPluginId($plugin_id, array $configuration = []) { return 'default'; } }