3 namespace Drupal\drupalmoduleupgrader\Plugin\DMU\Rewriter;
5 use Drupal\Core\Plugin\Discovery\ContainerDeriverInterface;
6 use Symfony\Component\DependencyInjection\ContainerInterface;
9 * Builds derivative definitions for the generic rewriter, based on the
10 * drupalmoduleupgrader.rewriters configuration object.
12 class GenericDeriver implements ContainerDeriverInterface {
19 public function __construct(array $config) {
20 $this->config = $config;
26 public static function create(ContainerInterface $container, $base_plugin_id) {
28 $container->get('config.factory')->get('drupalmoduleupgrader.rewriters')->get('definitions')
35 public function getDerivativeDefinition($derivative_id, $base_definition) {
36 $derivatives = $this->getDerivativeDefinitions($base_definition);
38 if (isset($derivatives[$derivative_id])) {
39 return $derivatives[$derivative_id];
46 public function getDerivativeDefinitions($base_definition) {
49 foreach ($this->config as $data_type => $definition) {
50 $derivatives[$data_type] = $definition + $base_definition;