You are here

abstract class ConfigurableAuthorizationPluginBase in Authorization 8

Provides a base class for all configurable Authorization plugins.

Hierarchy

Expanded class hierarchy of ConfigurableAuthorizationPluginBase

2 files declare their use of ConfigurableAuthorizationPluginBase
ConsumerPluginBase.php in src/Consumer/ConsumerPluginBase.php
ProviderPluginBase.php in src/Provider/ProviderPluginBase.php

File

src/Plugin/ConfigurableAuthorizationPluginBase.php, line 16

Namespace

Drupal\authorization\Plugin
View source
abstract class ConfigurableAuthorizationPluginBase extends PluginBase implements ConfigurableAuthorizationPluginInterface {
  use DependencyTrait;

  /**
   * Type.
   *
   * @var string
   */
  protected $type;

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

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
    $plugin = new static($configuration, $plugin_id, $plugin_definition);

    /** @var \Drupal\Core\StringTranslation\TranslationInterface $translation */
    $translation = $container
      ->get('string_translation');
    $plugin
      ->setStringTranslation($translation);
    return $plugin;
  }

  /**
   * {@inheritdoc}
   */
  public function label() : TranslatableMarkup {
    $plugin_definition = $this
      ->getPluginDefinition();
    return $plugin_definition['label'];
  }

  /**
   * {@inheritdoc}
   */
  public function getDescription() {
    $plugin_definition = $this
      ->getPluginDefinition();
    return $plugin_definition['description'] ?? '';
  }

  /**
   * {@inheritdoc}
   */
  public function getType() : string {
    return $this->type;
  }

  /**
   * {@inheritdoc}
   */
  public function getTokens() : array {
    $tokens = [];
    $tokens['@' . $this
      ->getType() . '_name'] = $this
      ->label();
    $tokens['@' . $this
      ->getType() . '_mappingDirections'] = '';
    $tokens['@examples'] = '';
    return $tokens;
  }

  /**
   * {@inheritdoc}
   */
  public function defaultConfiguration() : array {
    return [];
  }

  /**
   * Unused, configuration is saved in the profile, required by base class.
   */
  public function getConfiguration() {
  }

  /**
   * Unused, configuration is saved in the profile, required by base class.
   *
   * @param array $configuration
   *   Configuration.
   */
  public function setConfiguration(array $configuration) {
  }

  /**
   * {@inheritdoc}
   */
  public function buildConfigurationForm(array $form, FormStateInterface $form_state) : array {
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function validateConfigurationForm(array &$form, FormStateInterface $form_state) : void {
  }

  /**
   * {@inheritdoc}
   */
  public function submitConfigurationForm(array &$form, FormStateInterface $form_state) : void {
  }

  /**
   * {@inheritdoc}
   */
  public function buildRowForm(array $form, FormStateInterface $form_state, $index) : array {

    // Should be removed.
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function validateRowForm(array &$form, FormStateInterface $form_state) : void {
  }

  /**
   * {@inheritdoc}
   */
  public function buildRowDescription(array $form, FormStateInterface $form_state) : string {

    // Should be removed.
    return "";
  }

  /**
   * {@inheritdoc}
   */
  public function submitRowForm(array &$form, FormStateInterface $form_state) : void {
  }

  /**
   * {@inheritdoc}
   */
  public function calculateDependencies() : array {
    $this
      ->addDependency('module', $this
      ->getPluginDefinition()['provider']);
    return $this->dependencies;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ConfigurableAuthorizationPluginBase::$type protected property Type. 2
ConfigurableAuthorizationPluginBase::buildConfigurationForm public function Form constructor. Overrides PluginFormInterface::buildConfigurationForm 1
ConfigurableAuthorizationPluginBase::buildRowDescription public function Builds the authorization row description. Overrides ConfigurableAuthorizationPluginInterface::buildRowDescription
ConfigurableAuthorizationPluginBase::buildRowForm public function Builds the authorization form row. Overrides ConfigurableAuthorizationPluginInterface::buildRowForm 1
ConfigurableAuthorizationPluginBase::calculateDependencies public function Calculates dependencies for the configured plugin. Overrides DependentPluginInterface::calculateDependencies
ConfigurableAuthorizationPluginBase::create public static function Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface::create 1
ConfigurableAuthorizationPluginBase::defaultConfiguration public function Gets default configuration for this plugin. Overrides ConfigurableInterface::defaultConfiguration
ConfigurableAuthorizationPluginBase::getConfiguration public function Unused, configuration is saved in the profile, required by base class. Overrides ConfigurableInterface::getConfiguration
ConfigurableAuthorizationPluginBase::getDescription public function Returns the plugin's description. Overrides ConfigurableAuthorizationPluginInterface::getDescription
ConfigurableAuthorizationPluginBase::getTokens public function Tokens for the relevant plugin. Overrides ConfigurableAuthorizationPluginInterface::getTokens
ConfigurableAuthorizationPluginBase::getType public function
ConfigurableAuthorizationPluginBase::label public function Returns the label for use on the administration pages. Overrides ConfigurableAuthorizationPluginInterface::label
ConfigurableAuthorizationPluginBase::setConfiguration public function Unused, configuration is saved in the profile, required by base class. Overrides ConfigurableInterface::setConfiguration
ConfigurableAuthorizationPluginBase::submitConfigurationForm public function Form submission handler. Overrides PluginFormInterface::submitConfigurationForm
ConfigurableAuthorizationPluginBase::submitRowForm public function Submits the authorization form row. Overrides ConfigurableAuthorizationPluginInterface::submitRowForm
ConfigurableAuthorizationPluginBase::validateConfigurationForm public function Form validation handler. Overrides PluginFormInterface::validateConfigurationForm
ConfigurableAuthorizationPluginBase::validateRowForm public function Validates the authorization form row. Overrides ConfigurableAuthorizationPluginInterface::validateRowForm
ConfigurableAuthorizationPluginBase::__construct public function Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides PluginBase::__construct 1
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
DependencyTrait::$dependencies protected property The object's dependencies.
DependencyTrait::addDependencies protected function Adds multiple dependencies.
DependencyTrait::addDependency protected function Adds a dependency.
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.