Code Coverage  | 
     ||||||||||
Classes and Traits  | 
      Functions and Methods  | 
      Lines  | 
     ||||||||
| Total |         | 
      100.00%  | 
      1 / 1  | 
              | 
      100.00%  | 
      5 / 5  | 
      CRAP |         | 
      100.00%  | 
      15 / 15  | 
     
| PluginBase |         | 
      100.00%  | 
      1 / 1  | 
              | 
      100.00%  | 
      5 / 5  | 
      7 |         | 
      100.00%  | 
      15 / 15  | 
     
| __construct |         | 
      100.00%  | 
      1 / 1  | 
      1 |         | 
      100.00%  | 
      4 / 4  | 
     |||
| getPluginId |         | 
      100.00%  | 
      1 / 1  | 
      1 |         | 
      100.00%  | 
      1 / 1  | 
     |||
| getBaseId |         | 
      100.00%  | 
      1 / 1  | 
      2 |         | 
      100.00%  | 
      4 / 4  | 
     |||
| getDerivativeId |         | 
      100.00%  | 
      1 / 1  | 
      2 |         | 
      100.00%  | 
      5 / 5  | 
     |||
| getPluginDefinition |         | 
      100.00%  | 
      1 / 1  | 
      1 |         | 
      100.00%  | 
      1 / 1  | 
     |||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\Component\Plugin\PluginBase. | |
| */ | |
| namespace Drupal\Component\Plugin; | |
| /** | |
| * Base class for plugins wishing to support metadata inspection. | |
| */ | |
| abstract class PluginBase implements PluginInspectionInterface, DerivativeInspectionInterface { | |
| /** | |
| * A string which is used to separate base plugin IDs from the derivative ID. | |
| */ | |
| const DERIVATIVE_SEPARATOR = ':'; | |
| /** | |
| * The plugin_id. | |
| * | |
| * @var string | |
| */ | |
| protected $pluginId; | |
| /** | |
| * The plugin implementation definition. | |
| * | |
| * @var array | |
| */ | |
| protected $pluginDefinition; | |
| /** | |
| * Configuration information passed into the plugin. | |
| * | |
| * When using an interface like | |
| * \Drupal\Component\Plugin\ConfigurablePluginInterface, this is where the | |
| * configuration should be stored. | |
| * | |
| * Plugin configuration is optional, so plugin implementations must provide | |
| * their own setters and getters. | |
| * | |
| * @var array | |
| */ | |
| protected $configuration; | |
| /** | |
| * Constructs a Drupal\Component\Plugin\PluginBase object. | |
| * | |
| * @param array $configuration | |
| * A configuration array containing information about the plugin instance. | |
| * @param string $plugin_id | |
| * The plugin_id for the plugin instance. | |
| * @param mixed $plugin_definition | |
| * The plugin implementation definition. | |
| */ | |
| public function __construct(array $configuration, $plugin_id, $plugin_definition) { | |
| $this->configuration = $configuration; | |
| $this->pluginId = $plugin_id; | |
| $this->pluginDefinition = $plugin_definition; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getPluginId() { | |
| return $this->pluginId; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getBaseId() { | |
| $plugin_id = $this->getPluginId(); | |
| if (strpos($plugin_id, static::DERIVATIVE_SEPARATOR)) { | |
| list($plugin_id) = explode(static::DERIVATIVE_SEPARATOR, $plugin_id, 2); | |
| } | |
| return $plugin_id; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getDerivativeId() { | |
| $plugin_id = $this->getPluginId(); | |
| $derivative_id = NULL; | |
| if (strpos($plugin_id, static::DERIVATIVE_SEPARATOR)) { | |
| list(, $derivative_id) = explode(static::DERIVATIVE_SEPARATOR, $plugin_id, 2); | |
| } | |
| return $derivative_id; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getPluginDefinition() { | |
| return $this->pluginDefinition; | |
| } | |
| } |