presto-8.x-2.2/src/Plugin/Presto/OptionalDependency/AbstractOptionalDependency.php

src/Plugin/Presto/OptionalDependency/AbstractOptionalDependency.php
<?php

namespace Drupal\presto\Plugin\Presto\OptionalDependency;

use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\Core\Plugin\PluginBase;
use Drupal\presto\Installer\OptionalDependencies\OptionalDependencyInterface;
use Drupal\presto\Mixins\DrupalDependencyInstallerTrait;
use Symfony\Component\DependencyInjection\ContainerInterface;

/**
 * Class AbstractOptionalDependency.
 *
 * @package Drupal\presto\Plugin\OptionalDependency
 */
abstract class AbstractOptionalDependency extends PluginBase implements
    ContainerFactoryPluginInterface,
    OptionalDependencyInterface {

  use DrupalDependencyInstallerTrait;

  /**
   * {@inheritdoc}
   */
  public function __construct(
    array $configuration,
    $pluginId,
    $pluginDefinition
  ) {
    parent::__construct($configuration, $pluginId, $pluginDefinition);
    $this->configuration += $this->defaultConfiguration();
  }

  /**
   * {@inheritdoc}
   */
  public static function create(
    ContainerInterface $container,
    array $configuration,
    $pluginId,
    $pluginDefinition
  ) {
    return new static(
      $configuration,
      $pluginId,
      $pluginDefinition
    );
  }

  /**
   * {@inheritdoc}
   */
  public function getConfiguration() {
    return $this->configuration;
  }

  /**
   * {@inheritdoc}
   */
  public function setConfiguration(array $configuration) {
    $this->configuration = $configuration;
    return $this;
  }

  /**
   * {@inheritdoc}
   */
  public function calculateDependencies() {
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function validateConfigurationForm(
    array &$form,
    FormStateInterface $form_state
  ) {
    // Validation is optional.
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc