Mercurial > hg > cmmr2012-drupal-site
comparison core/modules/migrate/src/Annotation/MigrateSource.php @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:c75dbcec494b |
---|---|
1 <?php | |
2 | |
3 namespace Drupal\migrate\Annotation; | |
4 | |
5 use Drupal\Component\Annotation\Plugin; | |
6 | |
7 /** | |
8 * Defines a migration source plugin annotation object. | |
9 * | |
10 * Plugin Namespace: Plugin\migrate\source | |
11 * | |
12 * For a working example, check | |
13 * \Drupal\migrate\Plugin\migrate\source\EmptySource | |
14 * \Drupal\migrate_drupal\Plugin\migrate\source\UrlAlias | |
15 * | |
16 * @see \Drupal\migrate\Plugin\MigratePluginManager | |
17 * @see \Drupal\migrate\Plugin\MigrateSourceInterface | |
18 * @see \Drupal\migrate\Plugin\migrate\source\SourcePluginBase | |
19 * @see \Drupal\migrate\Annotation\MigrateProcessPlugin | |
20 * @see \Drupal\migrate\Annotation\MigrateDestination | |
21 * @see plugin_api | |
22 * | |
23 * @ingroup migration | |
24 * | |
25 * @Annotation | |
26 */ | |
27 class MigrateSource extends Plugin implements MultipleProviderAnnotationInterface { | |
28 | |
29 /** | |
30 * A unique identifier for the process plugin. | |
31 * | |
32 * @var string | |
33 */ | |
34 public $id; | |
35 | |
36 /** | |
37 * Whether requirements are met. | |
38 * | |
39 * @var bool | |
40 */ | |
41 public $requirements_met = TRUE; | |
42 | |
43 /** | |
44 * Identifies the system providing the data the source plugin will read. | |
45 * | |
46 * The source plugin itself determines how the value is used. For example, | |
47 * Migrate Drupal's source plugins expect source_module to be the name of a | |
48 * module that must be installed and enabled in the source database. | |
49 * | |
50 * @see \Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase::checkRequirements | |
51 * | |
52 * @var string | |
53 */ | |
54 public $source_module; | |
55 | |
56 /** | |
57 * Specifies the minimum version of the source provider. | |
58 * | |
59 * This can be any type, and the source plugin itself determines how it is | |
60 * used. For example, Migrate Drupal's source plugins expect this to be an | |
61 * integer representing the minimum installed database schema version of the | |
62 * module specified by source_module. | |
63 * | |
64 * @var mixed | |
65 */ | |
66 public $minimum_version; | |
67 | |
68 /** | |
69 * {@inheritdoc} | |
70 */ | |
71 public function getProvider() { | |
72 if (isset($this->definition['provider'])) { | |
73 return is_array($this->definition['provider']) ? reset($this->definition['provider']) : $this->definition['provider']; | |
74 } | |
75 return FALSE; | |
76 } | |
77 | |
78 /** | |
79 * {@inheritdoc} | |
80 */ | |
81 public function getProviders() { | |
82 if (isset($this->definition['provider'])) { | |
83 // Ensure that we return an array even if | |
84 // \Drupal\Component\Annotation\AnnotationInterface::setProvider() has | |
85 // been called. | |
86 return (array) $this->definition['provider']; | |
87 } | |
88 return []; | |
89 } | |
90 | |
91 /** | |
92 * {@inheritdoc} | |
93 */ | |
94 public function setProviders(array $providers) { | |
95 $this->definition['provider'] = $providers; | |
96 } | |
97 | |
98 } |