You are here

class EmbeddedDataSource in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/migrate/src/Plugin/migrate/source/EmbeddedDataSource.php \Drupal\migrate\Plugin\migrate\source\EmbeddedDataSource

Source which takes its data directly from the plugin config.

Plugin annotation


@MigrateSource(
  id = "embedded_data"
)

Hierarchy

Expanded class hierarchy of EmbeddedDataSource

File

core/modules/migrate/src/Plugin/migrate/source/EmbeddedDataSource.php, line 18
Contains \Drupal\migrate\Plugin\migrate\source\EmbeddedDataSource.

Namespace

Drupal\migrate\Plugin\migrate\source
View source
class EmbeddedDataSource extends SourcePluginBase {

  /**
   * Data obtained from the source plugin configuration.
   *
   * @var array[]
   *   Array of data rows, each one an array of values keyed by field names.
   */
  protected $dataRows = [];

  /**
   * Description of the unique ID fields for this source.
   *
   * @var array[]
   *   Each array member is keyed by a field name, with a value that is an
   *   array with a single member with key 'type' and value a column type such
   *   as 'integer'.
   */
  protected $ids = [];

  /**
   * {@inheritdoc}
   */
  public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration) {
    parent::__construct($configuration, $plugin_id, $plugin_definition, $migration);
    $this->dataRows = $configuration['data_rows'];
    $this->ids = $configuration['ids'];
  }

  /**
   * {@inheritdoc}
   */
  public function fields() {
    if ($this
      ->count() > 0) {
      $first_row = reset($this->dataRows);
      $field_names = array_keys($first_row);
      return array_combine($field_names, $field_names);
    }
    else {
      return [];
    }
  }

  /**
   * {@inheritdoc}
   */
  public function initializeIterator() {
    return new \ArrayIterator($this->dataRows);
  }

  /**
   * {@inheritdoc}
   */
  public function __toString() {
    return 'Embedded data';
  }

  /**
   * {@inheritdoc}
   */
  public function getIds() {
    return $this->ids;
  }

  /**
   * {@inheritdoc}
   */
  public function count() {
    return count($this->dataRows);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
EmbeddedDataSource::$dataRows protected property Data obtained from the source plugin configuration.
EmbeddedDataSource::$ids protected property Description of the unique ID fields for this source.
EmbeddedDataSource::count public function Get the source count. Overrides SourcePluginBase::count
EmbeddedDataSource::fields public function Returns available fields on the source. Overrides MigrateSourceInterface::fields
EmbeddedDataSource::getIds public function Defines the source fields uniquely identifying a source row. None of these fields should contain a NULL value - if necessary, use prepareRow() or hook_migrate_prepare_row() to rewrite NULL values to appropriate empty values (such as '' or 0). Overrides MigrateSourceInterface::getIds
EmbeddedDataSource::initializeIterator public function Initialize the iterator with the source data. Overrides SourcePluginBase::initializeIterator
EmbeddedDataSource::__construct public function Constructs a Drupal\Component\Plugin\PluginBase object. Overrides SourcePluginBase::__construct
EmbeddedDataSource::__toString public function Overrides MigrateSourceInterface::__toString
PluginBase::$configuration protected property Configuration information passed into the plugin. 2
PluginBase::$pluginDefinition protected property The plugin implementation definition.
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
SourcePluginBase::$cache protected property
SourcePluginBase::$cacheCounts protected property Whether this instance should cache the source count.
SourcePluginBase::$cacheKey protected property Key to use for caching counts.
SourcePluginBase::$currentRow protected property The current row from the query
SourcePluginBase::$currentSourceIds protected property The primary key of the current row
SourcePluginBase::$highWaterProperty protected property The name and type of the highwater property in the source.
SourcePluginBase::$idMap protected property
SourcePluginBase::$iterator protected property
SourcePluginBase::$mapRowAdded protected property By default, next() will directly read the map row and add it to the data row. A source plugin implementation may do this itself (in particular, the SQL source can incorporate the map table into the query) - if so, it should set this TRUE so we…
SourcePluginBase::$migration protected property
SourcePluginBase::$moduleHandler protected property
SourcePluginBase::$originalHighWater protected property The high water mark at the beginning of the import operation.
SourcePluginBase::$skipCount protected property Whether this instance should not attempt to count the source.
SourcePluginBase::$trackChanges protected property If TRUE, we will maintain hashed source rows to determine whether incoming data has changed.
SourcePluginBase::aboveHighwater protected function Check if the incoming data is newer than what we've previously imported.
SourcePluginBase::current public function
SourcePluginBase::getCache protected function Get the cache object.
SourcePluginBase::getCurrentIds public function Getter for currentSourceIds data member.
SourcePluginBase::getIterator protected function Returns the iterator that will yield the row arrays to be processed.
SourcePluginBase::getModuleHandler protected function Get the module handler.
SourcePluginBase::key public function Get the iterator key.
SourcePluginBase::next public function The migration iterates over rows returned by the source plugin. This method determines the next row which will be processed and imported into the system.
SourcePluginBase::prepareRow public function Add additional data to the row. Overrides MigrateSourceInterface::prepareRow 33
SourcePluginBase::rewind public function Rewind the iterator.
SourcePluginBase::rowChanged protected function Check if the incoming row has changed since our last import.
SourcePluginBase::valid public function Whether the iterator is currently valid.
StringTranslationTrait::$stringTranslation protected property The string translation service.
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.