class InfoHookDecorator in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Plugin/Discovery/InfoHookDecorator.php \Drupal\Core\Plugin\Discovery\InfoHookDecorator
Allows info hook implementations to enhance discovered plugin definitions.
Hierarchy
- class \Drupal\Core\Plugin\Discovery\InfoHookDecorator implements DiscoveryInterface uses DiscoveryTrait
Expanded class hierarchy of InfoHookDecorator
1 file declares its use of InfoHookDecorator
- ConfigMapperManager.php in core/modules/ config_translation/ src/ ConfigMapperManager.php 
File
- core/lib/ Drupal/ Core/ Plugin/ Discovery/ InfoHookDecorator.php, line 11 
Namespace
Drupal\Core\Plugin\DiscoveryView source
class InfoHookDecorator implements DiscoveryInterface {
  use DiscoveryTrait;
  /**
   * The Discovery object being decorated.
   *
   * @var \Drupal\Component\Plugin\Discovery\DiscoveryInterface
   */
  protected $decorated;
  /**
   * The name of the info hook that will be implemented by this discovery instance.
   *
   * @var string
   */
  protected $hook;
  /**
   * Constructs an InfoHookDecorator object.
   *
   * @param \Drupal\Component\Plugin\Discovery\DiscoveryInterface $decorated
   *   The object implementing DiscoveryInterface that is being decorated.
   * @param string $hook
   *   The name of the info hook to be invoked by this discovery instance.
   */
  public function __construct(DiscoveryInterface $decorated, $hook) {
    $this->decorated = $decorated;
    $this->hook = $hook;
  }
  /**
   * {@inheritdoc}
   */
  public function getDefinitions() {
    $definitions = $this->decorated
      ->getDefinitions();
    foreach (\Drupal::moduleHandler()
      ->getImplementations($this->hook) as $module) {
      $function = $module . '_' . $this->hook;
      $function($definitions);
    }
    return $definitions;
  }
  /**
   * Passes through all unknown calls onto the decorated object.
   */
  public function __call($method, $args) {
    return call_user_func_array([
      $this->decorated,
      $method,
    ], $args);
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| DiscoveryTrait:: | protected | function | Gets a specific plugin definition. | |
| DiscoveryTrait:: | public | function | 3 | |
| DiscoveryTrait:: | public | function | ||
| InfoHookDecorator:: | protected | property | The Discovery object being decorated. | |
| InfoHookDecorator:: | protected | property | The name of the info hook that will be implemented by this discovery instance. | |
| InfoHookDecorator:: | public | function | Gets the definition of all plugins for this type. Overrides DiscoveryTrait:: | |
| InfoHookDecorator:: | public | function | Passes through all unknown calls onto the decorated object. | |
| InfoHookDecorator:: | public | function | Constructs an InfoHookDecorator object. | 
