You are here

trait PluginContextDefinitionTrait in Plugin 8.2

Implements \Drupal\Component\Plugin\PluginContextDefinitionInterface.

Hierarchy

1 file declares its use of PluginContextDefinitionTrait
PluginContextDefinitionTraitTest.php in tests/src/Unit/PluginDefinition/PluginContextDefinitionTraitTest.php

File

src/PluginDefinition/PluginContextDefinitionTrait.php, line 12

Namespace

Drupal\plugin\PluginDefinition
View source
trait PluginContextDefinitionTrait {

  /**
   * The context definitions.
   *
   * @var \Drupal\Component\Plugin\Context\ContextDefinitionInterface[]
   */
  protected $contextDefinitions = [];

  /**
   * Implements \Drupal\Component\Plugin\PluginContextDefinitionInterface::setContextDefinitions().
   */
  public function setContextDefinitions(array $context_definitions) {
    PluginDefinitionValidator::validateContextDefinitions($context_definitions);
    $this->contextDefinitions = $context_definitions;
    return $this;
  }

  /**
   * Implements \Drupal\Component\Plugin\PluginContextDefinitionInterface::getContextDefinitions().
   */
  public function getContextDefinitions() {
    return $this->contextDefinitions;
  }

  /**
   * Implements \Drupal\Component\Plugin\PluginContextDefinitionInterface::setContextDefinition().
   */
  public function setContextDefinition($name, ContextDefinitionInterface $context_definition) {
    $this->contextDefinitions[$name] = $context_definition;
    return $this;
  }

  /**
   * Implements \Drupal\Component\Plugin\PluginContextDefinitionInterface::getContextDefinition().
   */
  public function getContextDefinition($name) {
    if (!$this
      ->hasContextDefinition($name)) {
      throw new \InvalidArgumentException(sprintf('Context %s does not exist.', $name));
    }
    return $this->contextDefinitions[$name];
  }

  /**
   * Implements \Drupal\Component\Plugin\PluginContextDefinitionInterface::hasContextDefinition().
   */
  public function hasContextDefinition($name) {
    return isset($this->contextDefinitions[$name]);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
PluginContextDefinitionTrait::$contextDefinitions protected property The context definitions.
PluginContextDefinitionTrait::getContextDefinition public function Implements \Drupal\Component\Plugin\PluginContextDefinitionInterface::getContextDefinition().
PluginContextDefinitionTrait::getContextDefinitions public function Implements \Drupal\Component\Plugin\PluginContextDefinitionInterface::getContextDefinitions().
PluginContextDefinitionTrait::hasContextDefinition public function Implements \Drupal\Component\Plugin\PluginContextDefinitionInterface::hasContextDefinition().
PluginContextDefinitionTrait::setContextDefinition public function Implements \Drupal\Component\Plugin\PluginContextDefinitionInterface::setContextDefinition().
PluginContextDefinitionTrait::setContextDefinitions public function Implements \Drupal\Component\Plugin\PluginContextDefinitionInterface::setContextDefinitions().