/** * {@inheritdoc} */ public function __construct(array $configuration, $plugin_id, $plugin_definition, Connection $database, EntityManagerInterface $entity_manager, ModuleHandlerInterface $module_handler, AccountInterface $current_user) { parent::__construct($configuration, $plugin_id, $plugin_definition); if (empty($plugin_definition['target_entity'])) { throw new \InvalidArgumentException("Missing required 'target_entity' property for a matcher."); } $this->database = $database; $this->entityManager = $entity_manager; $this->moduleHandler = $module_handler; $this->currentUser = $current_user; $this->target_type = $plugin_definition['target_entity']; }