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; | |
} | |
} |