Further modules included.
[yaffs-website] / web / modules / contrib / drupalmoduleupgrader / src / DeriverBase.php
1 <?php
2
3 namespace Drupal\drupalmoduleupgrader;
4
5 use Drupal\Core\Plugin\Discovery\ContainerDeriverInterface;
6 use Drupal\Core\StringTranslation\StringTranslationTrait;
7 use Drupal\Core\StringTranslation\TranslationInterface;
8 use Symfony\Component\DependencyInjection\ContainerInterface;
9
10 /**
11  * Base class for DMU's plugin derivers. Sets up the translation service and
12  * provides a basic implementation of DeriverInterface::getDerivativeDefinition().
13  */
14 abstract class DeriverBase implements ContainerDeriverInterface {
15
16   use StringTranslationTrait;
17
18   public function __construct(TranslationInterface $translator) {
19     $this->stringTranslation = $translator;
20   }
21
22   /**
23    * {@inheritdoc}
24    */
25   public static function create(ContainerInterface $container, $base_plugin_id) {
26     return new static($container->get('string_translation'));
27   }
28
29   /**
30    * {@inheritdoc}
31    */
32   public function getDerivativeDefinition($derivative_id, $base_definition) {
33     $derivatives = $this->getDerivativeDefinitions($base_definition);
34
35     if (isset($derivatives[$derivative_id])) {
36       return $derivatives[$derivative_id];
37     }
38   }
39
40 }