3 namespace Drupal\drupalmoduleupgrader;
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;
11 * Base class for DMU's plugin derivers. Sets up the translation service and
12 * provides a basic implementation of DeriverInterface::getDerivativeDefinition().
14 abstract class DeriverBase implements ContainerDeriverInterface {
16 use StringTranslationTrait;
18 public function __construct(TranslationInterface $translator) {
19 $this->stringTranslation = $translator;
25 public static function create(ContainerInterface $container, $base_plugin_id) {
26 return new static($container->get('string_translation'));
32 public function getDerivativeDefinition($derivative_id, $base_definition) {
33 $derivatives = $this->getDerivativeDefinitions($base_definition);
35 if (isset($derivatives[$derivative_id])) {
36 return $derivatives[$derivative_id];