Pull merge.
[yaffs-website] / web / core / lib / Drupal / Core / Executable / ExecutableManagerInterface.php
1 <?php
2
3 namespace Drupal\Core\Executable;
4
5 use Drupal\Component\Plugin\PluginManagerInterface;
6
7 /**
8  * An interface for managers of executable plugins.
9  */
10 interface ExecutableManagerInterface extends PluginManagerInterface {
11
12   /**
13    * Executes an executable plugin.
14    *
15    * @param \Drupal\Core\Executable\ExecutableInterface $plugin
16    *   An executable plugin instance managed by the implementing manager.
17    *
18    * @return mixed
19    *   The returned data varies by plugin implementation, e.g. conditions return
20    *   the boolean evaluation result.
21    *
22    * @throws \Drupal\Core\Executable\ExecutableException
23    *   If the plugin could not be executed.
24    */
25   public function execute(ExecutableInterface $plugin);
26
27 }