You are here

interface MigrateProcessInterface in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 core/modules/migrate/src/Plugin/MigrateProcessInterface.php \Drupal\migrate\Plugin\MigrateProcessInterface

An interface for migrate process plugins.

A process plugin can use any number of methods instead of (but not in addition to) transform with the same arguments and then the plugin configuration needs to provide the name of the method to be called via the "method" key. See \Drupal\migrate\Plugin\migrate\process\SkipOnEmpty and migrate.migration.d6_field_instance_widget_settings.yml for examples.

Hierarchy

Expanded class hierarchy of MigrateProcessInterface

All classes that implement MigrateProcessInterface

See also

\Drupal\migrate\Plugin\MigratePluginManager

\Drupal\migrate\ProcessPluginBase

\Drupal\migrate\Annotation\MigrateProcessPlugin

Plugin API

Related topics

7 files declare their use of MigrateProcessInterface
BlockPluginId.php in core/modules/block/src/Plugin/migrate/process/BlockPluginId.php
Contains \Drupal\block\Plugin\migrate\process\BlockPluginId.
BlockVisibility.php in core/modules/block/src/Plugin/migrate/process/BlockVisibility.php
Contains \Drupal\block\Plugin\migrate\process\BlockVisibility.
BlockVisibilityTest.php in core/modules/block/tests/src/Unit/Plugin/migrate/process/BlockVisibilityTest.php
Contains \Drupal\Tests\block\Unit\Plugin\migrate\process\BlockVisibilityTest.
CckFile.php in core/modules/file/src/Plugin/migrate/process/d6/CckFile.php
Contains \Drupal\file\Plugin\migrate\process\d6\CckFile.
CckFileTest.php in core/modules/file/tests/src/Unit/Plugin/migrate/process/d6/CckFileTest.php
Contains \Drupal\Tests\file\Unit\Plugin\migrate\process\d6\CckFileTest.

... See full list

File

core/modules/migrate/src/Plugin/MigrateProcessInterface.php, line 30
Contains \Drupal\migrate\Plugin\MigrateProcessInterface.

Namespace

Drupal\migrate\Plugin
View source
interface MigrateProcessInterface extends PluginInspectionInterface {

  /**
   * Performs the associated process.
   *
   * @param mixed $value
   *   The value to be transformed.
   * @param \Drupal\migrate\MigrateExecutableInterface $migrate_executable
   *   The migration in which this process is being executed.
   * @param \Drupal\migrate\Row $row
   *   The row from the source to process. Normally, just transforming the
   *   value is adequate but very rarely you might need to change two columns
   *   at the same time or something like that.
   * @param string $destination_property
   *   The destination property currently worked on. This is only used
   *   together with the $row above.
   *
   * @return string|array
   *   The newly transformed value.
   */
  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property);

  /**
   * Indicates whether the returned value requires multiple handling.
   *
   * @return bool
   *   TRUE when the returned value contains a list of values to be processed.
   *   For example, when the 'source' property is a string and the value found
   *   is an array.
   */
  public function multiple();

}

Members

Namesort descending Modifiers Type Description Overrides
MigrateProcessInterface::multiple public function Indicates whether the returned value requires multiple handling. 1
MigrateProcessInterface::transform public function Performs the associated process. 1
PluginInspectionInterface::getPluginDefinition public function Gets the definition of the plugin implementation. 2
PluginInspectionInterface::getPluginId public function Gets the plugin_id of the plugin instance. 2