Same filename and directory in other branches
- 8.9.x core/modules/migrate/src/Plugin/migrate/destination/DestinationBase.php
- 9 core/modules/migrate/src/Plugin/migrate/destination/DestinationBase.php
Namespace
Drupal\migrate\Plugin\migrate\destination
File
core/modules/migrate/src/Plugin/migrate/destination/DestinationBase.php
View source
<?php
namespace Drupal\migrate\Plugin\migrate\destination;
use Drupal\Core\Plugin\PluginBase;
use Drupal\migrate\Plugin\MigrationInterface;
use Drupal\migrate\Exception\RequirementsException;
use Drupal\migrate\Plugin\MigrateDestinationInterface;
use Drupal\migrate\Plugin\MigrateIdMapInterface;
use Drupal\migrate\Plugin\RequirementsInterface;
abstract class DestinationBase extends PluginBase implements MigrateDestinationInterface, RequirementsInterface {
protected $supportsRollback = FALSE;
protected $rollbackAction = MigrateIdMapInterface::ROLLBACK_DELETE;
protected $migration;
public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->migration = $migration;
}
public function rollbackAction() {
return $this->rollbackAction;
}
public function checkRequirements() {
if (empty($this->pluginDefinition['requirements_met'])) {
throw new RequirementsException(sprintf("Destination plugin '%s' did not meet the requirements", $this->pluginId));
}
}
public function rollback(array $destination_identifier) {
}
public function supportsRollback() {
return $this->supportsRollback;
}
protected function setRollbackAction(array $id_map, $update_action = MigrateIdMapInterface::ROLLBACK_PRESERVE) {
if (isset($id_map['sourceid1'])) {
$this->rollbackAction = $id_map['rollback_action'];
}
else {
$this->rollbackAction = $update_action;
}
}
public function getDestinationModule() {
if (!empty($this->configuration['destination_module'])) {
return $this->configuration['destination_module'];
}
if (!empty($this->pluginDefinition['destination_module'])) {
return $this->pluginDefinition['destination_module'];
}
if (is_string($this->migration->provider)) {
return $this->migration->provider;
}
else {
return reset($this->migration->provider);
}
}
}
Classes