YamlFormExporterManager.php in YAML Form 8
File
src/YamlFormExporterManager.php
View source
<?php
namespace Drupal\yamlform;
use Drupal\Core\Cache\CacheBackendInterface;
use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\Plugin\CategorizingPluginManagerTrait;
use Drupal\Core\Plugin\DefaultPluginManager;
class YamlFormExporterManager extends DefaultPluginManager implements YamlFormExporterManagerInterface {
use CategorizingPluginManagerTrait {
getSortedDefinitions as traitGetSortedDefinitions;
}
public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_exporter) {
parent::__construct('Plugin/YamlFormExporter', $namespaces, $module_exporter, 'Drupal\\yamlform\\YamlFormExporterInterface', 'Drupal\\yamlform\\Annotation\\YamlFormExporter');
$this
->alterInfo('yamlform_exporter_info');
$this
->setCacheBackend($cache_backend, 'yamlform_exporter_plugins');
}
public function getSortedDefinitions(array $definitions = NULL) {
$definitions = $this
->traitGetSortedDefinitions($definitions);
return $definitions;
}
public function getInstances(array $configuration = []) {
$instances = [];
$plugin_definitions = $this
->getDefinitions();
$plugin_definitions = $this
->getSortedDefinitions($plugin_definitions);
foreach ($plugin_definitions as $plugin_id => $plugin_definition) {
$instances[$plugin_id] = $this
->createInstance($plugin_id, $configuration);
}
return $instances;
}
public function getOptions() {
$plugin_definitions = $this
->getDefinitions();
$plugin_definitions = $this
->getSortedDefinitions($plugin_definitions);
$options = [];
foreach ($plugin_definitions as $plugin_id => $plugin_definition) {
$options[$plugin_id] = $plugin_definition['label'];
}
return $options;
}
public function getFallbackPluginId($plugin_id, array $configuration = []) {
return 'delimited';
}
}