RoleAccessConsumerManager.php in Role Access Control 8
File
src/RoleAccessConsumerManager.php
View source
<?php
namespace Drupal\rac;
use Drupal\Component\Plugin\Factory\DefaultFactory;
use Drupal\Core\Cache\CacheBackendInterface;
use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\Plugin\DefaultPluginManager;
use Drupal\Core\Plugin\Discovery\ContainerDerivativeDiscoveryDecorator;
use Drupal\Core\Plugin\Discovery\AnnotatedClassDiscovery;
class RoleAccessConsumerManager extends DefaultPluginManager {
public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler) {
parent::__construct('Plugin/rac', $namespaces, $module_handler, 'Drupal\\rac\\RoleAccessConsumerInterface', 'Drupal\\rac\\RoleAccessConsumer');
$this
->alterInfo('archiver_info');
$this
->setCacheBackend($cache_backend, 'archiver_info_plugins');
$this->factory = new DefaultFactory($this
->getDiscovery());
}
protected function getDiscovery() {
if (!$this->discovery) {
$discovery = new AnnotatedClassDiscovery($this->subdir, $this->namespaces, $this->pluginDefinitionAnnotationName, $this->additionalAnnotationNamespaces);
$this->discovery = new ContainerDerivativeDiscoveryDecorator($discovery);
}
return $this->discovery;
}
}