3 namespace Drupal\Component\Plugin;
5 use Drupal\Component\Plugin\Discovery\DiscoveryInterface;
6 use Drupal\Component\Plugin\Factory\FactoryInterface;
7 use Drupal\Component\Plugin\Mapper\MapperInterface;
10 * Interface implemented by plugin managers.
12 * There are no explicit methods on the manager interface. Instead plugin
13 * managers broker the interactions of the different plugin components, and
14 * therefore, must implement each component interface, which is enforced by
15 * this interface extending all of the component ones.
17 * While a plugin manager may directly implement these interface methods with
18 * custom logic, it is expected to be more common for plugin managers to proxy
19 * the method invocations to the respective components, and directly implement
20 * only the additional functionality needed by the specific pluggable system.
21 * To follow this pattern, plugin managers can extend from the PluginManagerBase
22 * class, which contains the proxying logic.
24 * @see \Drupal\Component\Plugin\PluginManagerBase
28 interface PluginManagerInterface extends DiscoveryInterface, FactoryInterface, MapperInterface {