3 namespace Drupal\search_api_synonym\Import;
5 use Drupal\Core\Config\ConfigFactoryInterface;
6 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
7 use Drupal\Core\Plugin\PluginBase;
8 use Drupal\Core\Form\FormStateInterface;
9 use Drupal\file\Entity\File;
10 use Symfony\Component\DependencyInjection\ContainerInterface;
13 * Base class for plugins handling import of search api synonyms.
17 abstract class ImportPluginBase extends PluginBase implements ImportPluginInterface, ContainerFactoryPluginInterface {
20 * Config factory service.
22 * @var \Drupal\Core\Config\ConfigFactoryInterface
24 protected $configFactory;
29 public function __construct(array $configuration, $plugin_id, array $plugin_definition, ConfigFactoryInterface $config_factory) {
30 parent::__construct($configuration, $plugin_id, $plugin_definition);
31 $this->configFactory = $config_factory;
37 public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
39 $configuration, $plugin_id, $plugin_definition, $container->get('config.factory')
46 public function parseFile(File $file, array $settings = []) {
53 public function allowedExtensions() {
60 public function getConfiguration() {
61 return $this->configuration;
67 public function setConfiguration(array $configuration) {
68 $this->configuration += $configuration;
74 public function defaultConfiguration() {
81 public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
88 public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {
89 $values = $form_state->getValues();
95 public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
96 parent::submitConfigurationForm($form, $form_state);
102 public function calculateDependencies() {