Mercurial > hg > isophonics-drupal-site
view core/modules/migrate/src/Plugin/MigrationInterface.php @ 14:1fec387a4317
Update Drupal core to 8.5.2 via Composer
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:46:53 +0100 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
<?php namespace Drupal\migrate\Plugin; use Drupal\Component\Plugin\DerivativeInspectionInterface; use Drupal\Component\Plugin\PluginInspectionInterface; /** * Interface for migrations. */ interface MigrationInterface extends PluginInspectionInterface, DerivativeInspectionInterface { /** * The migration is currently not running. */ const STATUS_IDLE = 0; /** * The migration is currently importing. */ const STATUS_IMPORTING = 1; /** * The migration is currently being rolled back. */ const STATUS_ROLLING_BACK = 2; /** * The migration is being stopped. */ const STATUS_STOPPING = 3; /** * The migration has been disabled. */ const STATUS_DISABLED = 4; /** * Migration error. */ const MESSAGE_ERROR = 1; /** * Migration warning. */ const MESSAGE_WARNING = 2; /** * Migration notice. */ const MESSAGE_NOTICE = 3; /** * Migration info. */ const MESSAGE_INFORMATIONAL = 4; /** * All records have been processed. */ const RESULT_COMPLETED = 1; /** * The process has stopped itself (e.g., the memory limit is approaching). */ const RESULT_INCOMPLETE = 2; /** * The process was stopped externally (e.g., via drush migrate-stop). */ const RESULT_STOPPED = 3; /** * The process had a fatal error. */ const RESULT_FAILED = 4; /** * Dependencies are unfulfilled - skip the process. */ const RESULT_SKIPPED = 5; /** * This migration is disabled, skipping. */ const RESULT_DISABLED = 6; /** * An alias for getPluginId() for backwards compatibility reasons. * * @return string * The plugin_id of the plugin instance. * * @see \Drupal\migrate\Plugin\MigrationInterface::getPluginId() */ public function id(); /** * Get the plugin label. * * @return string * The label for this migration. */ public function label(); /** * Returns the initialized source plugin. * * @return \Drupal\migrate\Plugin\MigrateSourceInterface * The source plugin. */ public function getSourcePlugin(); /** * Returns the process plugins. * * @param array $process * A process configuration array. * * @return \Drupal\migrate\Plugin\MigrateProcessInterface[][] * An associative array. The keys are the destination property names. Values * are process pipelines. Each pipeline contains an array of plugins. */ public function getProcessPlugins(array $process = NULL); /** * Returns the initialized destination plugin. * * @param bool $stub_being_requested * TRUE to indicate that this destination will be asked to construct a stub. * * @return \Drupal\migrate\Plugin\MigrateDestinationInterface * The destination plugin. */ public function getDestinationPlugin($stub_being_requested = FALSE); /** * Returns the initialized id_map plugin. * * @return \Drupal\migrate\Plugin\MigrateIdMapInterface * The ID map. */ public function getIdMap(); /** * Check if all source rows from this migration have been processed. * * @return bool * TRUE if this migration is complete otherwise FALSE. */ public function allRowsProcessed(); /** * Set the current migration status. * * @param int $status * One of the STATUS_* constants. */ public function setStatus($status); /** * Get the current migration status. * * @return int * The current migration status. Defaults to STATUS_IDLE. */ public function getStatus(); /** * Retrieve a label for the current status. * * @return string * User-friendly string corresponding to a STATUS_ constant. */ public function getStatusLabel(); /** * Get the result to return upon interruption. * * @return int * The current interruption result. Defaults to RESULT_INCOMPLETE. */ public function getInterruptionResult(); /** * Clears the result to return upon interruption. */ public function clearInterruptionResult(); /** * Signal that the migration should be interrupted with the specified result * code. * * @param int $result * One of the MigrationInterface::RESULT_* constants. */ public function interruptMigration($result); /** * Get the normalized process pipeline configuration describing the process * plugins. * * The process configuration is always normalized. All shorthand processing * will be expanded into their full representations. * * @see https://www.drupal.org/node/2129651#get-shorthand * * @return array * The normalized configuration describing the process plugins. */ public function getProcess(); /** * Allows you to override the entire process configuration. * * @param array $process * The entire process pipeline configuration describing the process plugins. * * @return $this */ public function setProcess(array $process); /** * Set the process pipeline configuration for an individual destination field. * * This method allows you to set the process pipeline configuration for a * single property within the full process pipeline configuration. * * @param string $property * The property of which to set the process pipeline configuration. * @param mixed $process_of_property * The process pipeline configuration to be set for this property. * * @return $this * The migration entity. */ public function setProcessOfProperty($property, $process_of_property); /** * Merge the process pipeline configuration for a single property. * * @param string $property * The property of which to merge the passed in process pipeline * configuration. * @param array $process_of_property * The process pipeline configuration to be merged with the existing process * pipeline configuration. * * @return $this * The migration entity. * * @see Drupal\migrate_drupal\Plugin\migrate\load\LoadEntity::processLinkField() */ public function mergeProcessOfProperty($property, array $process_of_property); /** * Checks if the migration should track time of last import. * * @return bool * TRUE if the migration is tracking last import time. */ public function isTrackLastImported(); /** * Set if the migration should track time of last import. * * @param bool $track_last_imported * Boolean value to indicate if the migration should track last import time. * * @return $this */ public function setTrackLastImported($track_last_imported); /** * Get the dependencies for this migration. * * @return array * The dependencies for this migrations. */ public function getMigrationDependencies(); /** * Get the destination configuration, with at least a 'plugin' key. * * @return array * The destination configuration. */ public function getDestinationConfiguration(); /** * Get the source configuration, with at least a 'plugin' key. * * @return array * The source configuration. */ public function getSourceConfiguration(); /** * If true, track time of last import. * * @return bool * Flag to determine desire of tracking time of last import. */ public function getTrackLastImported(); /** * The destination identifiers. * * An array of destination identifiers: the keys are the name of the * properties, the values are dependent on the ID map plugin. * * @return array * Destination identifiers. */ public function getDestinationIds(); /** * The migration tags. * * @return array * Migration tags. */ public function getMigrationTags(); /** * Indicates if the migration is auditable. * * @return bool */ public function isAuditable(); }