X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Fmigrate%2Fsrc%2FPlugin%2FMigratePluginManager.php;fp=web%2Fcore%2Fmodules%2Fmigrate%2Fsrc%2FPlugin%2FMigratePluginManager.php;h=b3645dbdd0e41c3bbf3419dfb33bea71bdf8fc7c;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hp=0000000000000000000000000000000000000000;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad;p=yaffs-website diff --git a/web/core/modules/migrate/src/Plugin/MigratePluginManager.php b/web/core/modules/migrate/src/Plugin/MigratePluginManager.php new file mode 100644 index 000000000..b3645dbdd --- /dev/null +++ b/web/core/modules/migrate/src/Plugin/MigratePluginManager.php @@ -0,0 +1,65 @@ +alterInfo('migrate_' . $type . '_info'); + $this->setCacheBackend($cache_backend, 'migrate_plugins_' . $type); + } + + /** + * {@inheritdoc} + */ + public function createInstance($plugin_id, array $configuration = [], MigrationInterface $migration = NULL) { + $plugin_definition = $this->getDefinition($plugin_id); + $plugin_class = DefaultFactory::getPluginClass($plugin_id, $plugin_definition); + // If the plugin provides a factory method, pass the container to it. + if (is_subclass_of($plugin_class, 'Drupal\Core\Plugin\ContainerFactoryPluginInterface')) { + $plugin = $plugin_class::create(\Drupal::getContainer(), $configuration, $plugin_id, $plugin_definition, $migration); + } + else { + $plugin = new $plugin_class($configuration, $plugin_id, $plugin_definition, $migration); + } + return $plugin; + } + +}