summaryrefslogtreecommitdiffstatshomepage
path: root/core/lib/Drupal/Core/Plugin/ContextAwarePluginInterface.php
blob: b3956392d319c0f3979ed1961a7066611ace5027 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php

namespace Drupal\Core\Plugin;

use Drupal\Component\Plugin\ContextAwarePluginInterface as ComponentContextAwarePluginInterface;

/**
 * An override of ContextAwarePluginInterface for documentation purposes.
 *
 * @see \Drupal\Component\Plugin\ContextAwarePluginInterface
 * @see \Drupal\Core\Plugin\ContextAwarePluginTrait
 *
 * @ingroup plugin_api
 */
interface ContextAwarePluginInterface extends ComponentContextAwarePluginInterface {

  /**
   * Gets the context definitions of the plugin.
   *
   * @return \Drupal\Core\Plugin\Context\ContextDefinitionInterface[]
   *   The array of context definitions, keyed by context name.
   */
  public function getContextDefinitions();

  /**
   * Gets a specific context definition of the plugin.
   *
   * @param string $name
   *   The name of the context in the plugin definition.
   *
   * @return \Drupal\Core\Plugin\Context\ContextDefinitionInterface
   *   The definition against which the context value must validate.
   *
   * @throws \Drupal\Component\Plugin\Exception\ContextException
   *   If the requested context is not defined.
   */
  public function getContextDefinition($name);

}