Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x

EmptySource.php

Same filename in this branch
  1. 11.1.x core/modules/migrate/src/Plugin/migrate/source/EmptySource.php

Namespace

Drupal\migrate_drupal\Plugin\migrate\source

File

core/modules/migrate_drupal/src/Plugin/migrate/source/EmptySource.php

View source
<?php

namespace Drupal\migrate_drupal\Plugin\migrate\source;

use Drupal\Component\Plugin\DependentPluginInterface;
use Drupal\Core\Entity\DependencyTrait;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\migrate\Plugin\MigrationInterface;
use Drupal\migrate\Plugin\migrate\source\EmptySource as BaseEmptySource;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;

/**
 * Source returning an empty row with Drupal specific config dependencies.
 *
 * For more information and available configuration keys, refer to the parent
 * classes.
 *
 * @see \Drupal\migrate\Plugin\migrate\source\EmptySource
 * @see \Drupal\migrate\Plugin\migrate\source\SourcePluginBase
 *
 * @MigrateSource(
 *   id = "md_empty",
 *   source_module = "system",
 * )
 */
class EmptySource extends BaseEmptySource implements ContainerFactoryPluginInterface, DependentPluginInterface {
    use DependencyTrait;
    
    /**
     * The entity type manager.
     *
     * @var \Drupal\Core\Entity\EntityTypeManagerInterface
     */
    protected $entityTypeManager;
    
    /**
     * {@inheritdoc}
     */
    public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, EntityTypeManagerInterface $entity_type_manager) {
        parent::__construct($configuration, $plugin_id, $plugin_definition, $migration);
        $this->entityTypeManager = $entity_type_manager;
    }
    
    /**
     * {@inheritdoc}
     */
    public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, ?MigrationInterface $migration = NULL) {
        return new static($configuration, $plugin_id, $plugin_definition, $migration, $container->get('entity_type.manager'));
    }
    
    /**
     * {@inheritdoc}
     */
    public function calculateDependencies() {
        // The empty source plugin supports the entity_type constant.
        if (isset($this->configuration['constants']['entity_type'])) {
            $this->addDependency('module', $this->entityTypeManager
                ->getDefinition($this->configuration['constants']['entity_type'])
                ->getProvider());
        }
        return $this->dependencies;
    }

}

Classes

Title Deprecated Summary
EmptySource Source returning an empty row with Drupal specific config dependencies.

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal