12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?php
- namespace Drupal\Core\Action;
- use Drupal\Component\Plugin\CategorizingPluginManagerInterface;
- use Drupal\Core\Cache\CacheBackendInterface;
- use Drupal\Core\Extension\ModuleHandlerInterface;
- use Drupal\Core\Plugin\CategorizingPluginManagerTrait;
- use Drupal\Core\Plugin\DefaultPluginManager;
- /**
- * Provides an Action plugin manager.
- *
- * @see \Drupal\Core\Annotation\Action
- * @see \Drupal\Core\Action\ActionInterface
- * @see \Drupal\Core\Action\ActionBase
- * @see plugin_api
- */
- class ActionManager extends DefaultPluginManager implements CategorizingPluginManagerInterface {
- use CategorizingPluginManagerTrait;
- /**
- * Constructs a new class instance.
- *
- * @param \Traversable $namespaces
- * An object that implements \Traversable which contains the root paths
- * keyed by the corresponding namespace to look for plugin implementations.
- * @param \Drupal\Core\Cache\CacheBackendInterface $cache_backend
- * Cache backend instance to use.
- * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
- * The module handler to invoke the alter hook with.
- */
- public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler) {
- parent::__construct('Plugin/Action', $namespaces, $module_handler, 'Drupal\Core\Action\ActionInterface', 'Drupal\Core\Annotation\Action');
- $this->alterInfo('action_info');
- $this->setCacheBackend($cache_backend, 'action_info');
- }
- /**
- * Gets the plugin definitions for this entity type.
- *
- * @param string $type
- * The entity type name.
- *
- * @return array
- * An array of plugin definitions for this entity type.
- */
- public function getDefinitionsByType($type) {
- return array_filter($this->getDefinitions(), function ($definition) use ($type) {
- return $definition['type'] === $type;
- });
- }
- }
|