You are here

protected function LayoutPluginManager::getDiscovery in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Layout/LayoutPluginManager.php \Drupal\Core\Layout\LayoutPluginManager::getDiscovery()
  2. 10 core/lib/Drupal/Core/Layout/LayoutPluginManager.php \Drupal\Core\Layout\LayoutPluginManager::getDiscovery()

Gets the plugin discovery.

Return value

\Drupal\Component\Plugin\Discovery\DiscoveryInterface

Overrides DefaultPluginManager::getDiscovery

File

core/lib/Drupal/Core/Layout/LayoutPluginManager.php, line 71

Class

LayoutPluginManager
Provides a plugin manager for layouts.

Namespace

Drupal\Core\Layout

Code

protected function getDiscovery() {
  if (!$this->discovery) {
    $discovery = new AnnotatedClassDiscovery($this->subdir, $this->namespaces, $this->pluginDefinitionAnnotationName, $this->additionalAnnotationNamespaces);
    $discovery = new YamlDiscoveryDecorator($discovery, 'layouts', $this->moduleHandler
      ->getModuleDirectories() + $this->themeHandler
      ->getThemeDirectories());
    $discovery
      ->addTranslatableProperty('label')
      ->addTranslatableProperty('description')
      ->addTranslatableProperty('category');
    $discovery = new AnnotationBridgeDecorator($discovery, $this->pluginDefinitionAnnotationName);
    $discovery = new ContainerDerivativeDiscoveryDecorator($discovery);
    $this->discovery = $discovery;
  }
  return $this->discovery;
}