Same filename and directory in other branches
- 8.9.x core/modules/migrate/src/Plugin/NoSourcePluginDecorator.php
- 9 core/modules/migrate/src/Plugin/NoSourcePluginDecorator.php
Namespace
Drupal\migrate\Plugin
File
core/modules/migrate/src/Plugin/NoSourcePluginDecorator.php
View source
<?php
namespace Drupal\migrate\Plugin;
use Drupal\Component\Plugin\Discovery\DiscoveryInterface;
use Drupal\Component\Plugin\Discovery\DiscoveryTrait;
class NoSourcePluginDecorator implements DiscoveryInterface {
use DiscoveryTrait;
protected $decorated;
public function __construct(DiscoveryInterface $decorated) {
$this->decorated = $decorated;
}
public function getDefinitions() {
$source_plugin_manager = \Drupal::service('plugin.manager.migrate.source');
return array_filter($this->decorated
->getDefinitions(), function (array $definition) use ($source_plugin_manager) {
return $source_plugin_manager
->hasDefinition($definition['source']['plugin']);
});
}
public function __call($method, array $args) {
return call_user_func_array([
$this->decorated,
$method,
], $args);
}
}
Classes