Same filename and directory in other branches
- 8.9.x core/lib/Drupal/Component/Plugin/Discovery/StaticDiscoveryDecorator.php
- 9 core/lib/Drupal/Component/Plugin/Discovery/StaticDiscoveryDecorator.php
Namespace
Drupal\Component\Plugin\Discovery
File
core/lib/Drupal/Component/Plugin/Discovery/StaticDiscoveryDecorator.php
View source
<?php
namespace Drupal\Component\Plugin\Discovery;
class StaticDiscoveryDecorator extends StaticDiscovery {
protected $decorated;
protected $registerDefinitions;
public function __construct(DiscoveryInterface $decorated, $registerDefinitions = NULL) {
$this->decorated = $decorated;
$this->registerDefinitions = $registerDefinitions;
}
public function getDefinition($base_plugin_id, $exception_on_invalid = TRUE) {
if (isset($this->registerDefinitions)) {
call_user_func($this->registerDefinitions);
}
$this->definitions += $this->decorated
->getDefinitions();
return parent::getDefinition($base_plugin_id, $exception_on_invalid);
}
public function getDefinitions() {
if (isset($this->registerDefinitions)) {
call_user_func($this->registerDefinitions);
}
$this->definitions += $this->decorated
->getDefinitions();
return parent::getDefinitions();
}
public function __call($method, $args) {
return call_user_func_array([
$this->decorated,
$method,
], $args);
}
}
Classes