Mercurial > hg > cmmr2012-drupal-site
comparison core/modules/migrate/src/Plugin/MigrationInterface.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\Plugin; | |
4 | |
5 use Drupal\Component\Plugin\DerivativeInspectionInterface; | |
6 use Drupal\Component\Plugin\PluginInspectionInterface; | |
7 | |
8 /** | |
9 * Interface for migrations. | |
10 */ | |
11 interface MigrationInterface extends PluginInspectionInterface, DerivativeInspectionInterface { | |
12 | |
13 /** | |
14 * The migration is currently not running. | |
15 */ | |
16 const STATUS_IDLE = 0; | |
17 | |
18 /** | |
19 * The migration is currently importing. | |
20 */ | |
21 const STATUS_IMPORTING = 1; | |
22 | |
23 /** | |
24 * The migration is currently being rolled back. | |
25 */ | |
26 const STATUS_ROLLING_BACK = 2; | |
27 | |
28 /** | |
29 * The migration is being stopped. | |
30 */ | |
31 const STATUS_STOPPING = 3; | |
32 | |
33 /** | |
34 * The migration has been disabled. | |
35 */ | |
36 const STATUS_DISABLED = 4; | |
37 | |
38 /** | |
39 * Migration error. | |
40 */ | |
41 const MESSAGE_ERROR = 1; | |
42 | |
43 /** | |
44 * Migration warning. | |
45 */ | |
46 const MESSAGE_WARNING = 2; | |
47 | |
48 /** | |
49 * Migration notice. | |
50 */ | |
51 const MESSAGE_NOTICE = 3; | |
52 | |
53 /** | |
54 * Migration info. | |
55 */ | |
56 const MESSAGE_INFORMATIONAL = 4; | |
57 | |
58 /** | |
59 * All records have been processed. | |
60 */ | |
61 const RESULT_COMPLETED = 1; | |
62 | |
63 /** | |
64 * The process has stopped itself (e.g., the memory limit is approaching). | |
65 */ | |
66 const RESULT_INCOMPLETE = 2; | |
67 | |
68 /** | |
69 * The process was stopped externally (e.g., via drush migrate-stop). | |
70 */ | |
71 const RESULT_STOPPED = 3; | |
72 | |
73 /** | |
74 * The process had a fatal error. | |
75 */ | |
76 const RESULT_FAILED = 4; | |
77 | |
78 /** | |
79 * Dependencies are unfulfilled - skip the process. | |
80 */ | |
81 const RESULT_SKIPPED = 5; | |
82 | |
83 /** | |
84 * This migration is disabled, skipping. | |
85 */ | |
86 const RESULT_DISABLED = 6; | |
87 | |
88 /** | |
89 * An alias for getPluginId() for backwards compatibility reasons. | |
90 * | |
91 * @return string | |
92 * The plugin_id of the plugin instance. | |
93 * | |
94 * @see \Drupal\migrate\Plugin\MigrationInterface::getPluginId() | |
95 */ | |
96 public function id(); | |
97 | |
98 /** | |
99 * Get the plugin label. | |
100 * | |
101 * @return string | |
102 * The label for this migration. | |
103 */ | |
104 public function label(); | |
105 | |
106 /** | |
107 * Returns the initialized source plugin. | |
108 * | |
109 * @return \Drupal\migrate\Plugin\MigrateSourceInterface | |
110 * The source plugin. | |
111 */ | |
112 public function getSourcePlugin(); | |
113 | |
114 /** | |
115 * Returns the process plugins. | |
116 * | |
117 * @param array $process | |
118 * A process configuration array. | |
119 * | |
120 * @return \Drupal\migrate\Plugin\MigrateProcessInterface[][] | |
121 * An associative array. The keys are the destination property names. Values | |
122 * are process pipelines. Each pipeline contains an array of plugins. | |
123 */ | |
124 public function getProcessPlugins(array $process = NULL); | |
125 | |
126 /** | |
127 * Returns the initialized destination plugin. | |
128 * | |
129 * @param bool $stub_being_requested | |
130 * TRUE to indicate that this destination will be asked to construct a stub. | |
131 * | |
132 * @return \Drupal\migrate\Plugin\MigrateDestinationInterface | |
133 * The destination plugin. | |
134 */ | |
135 public function getDestinationPlugin($stub_being_requested = FALSE); | |
136 | |
137 /** | |
138 * Returns the initialized id_map plugin. | |
139 * | |
140 * @return \Drupal\migrate\Plugin\MigrateIdMapInterface | |
141 * The ID map. | |
142 */ | |
143 public function getIdMap(); | |
144 | |
145 /** | |
146 * Check if all source rows from this migration have been processed. | |
147 * | |
148 * @return bool | |
149 * TRUE if this migration is complete otherwise FALSE. | |
150 */ | |
151 public function allRowsProcessed(); | |
152 | |
153 /** | |
154 * Set the current migration status. | |
155 * | |
156 * @param int $status | |
157 * One of the STATUS_* constants. | |
158 */ | |
159 public function setStatus($status); | |
160 | |
161 /** | |
162 * Get the current migration status. | |
163 * | |
164 * @return int | |
165 * The current migration status. Defaults to STATUS_IDLE. | |
166 */ | |
167 public function getStatus(); | |
168 | |
169 /** | |
170 * Retrieve a label for the current status. | |
171 * | |
172 * @return string | |
173 * User-friendly string corresponding to a STATUS_ constant. | |
174 */ | |
175 public function getStatusLabel(); | |
176 | |
177 /** | |
178 * Get the result to return upon interruption. | |
179 * | |
180 * @return int | |
181 * The current interruption result. Defaults to RESULT_INCOMPLETE. | |
182 */ | |
183 public function getInterruptionResult(); | |
184 | |
185 /** | |
186 * Clears the result to return upon interruption. | |
187 */ | |
188 public function clearInterruptionResult(); | |
189 | |
190 /** | |
191 * Signal that the migration should be interrupted with the specified result | |
192 * code. | |
193 * | |
194 * @param int $result | |
195 * One of the MigrationInterface::RESULT_* constants. | |
196 */ | |
197 public function interruptMigration($result); | |
198 | |
199 /** | |
200 * Get the normalized process pipeline configuration describing the process | |
201 * plugins. | |
202 * | |
203 * The process configuration is always normalized. All shorthand processing | |
204 * will be expanded into their full representations. | |
205 * | |
206 * @see https://www.drupal.org/node/2129651#get-shorthand | |
207 * | |
208 * @return array | |
209 * The normalized configuration describing the process plugins. | |
210 */ | |
211 public function getProcess(); | |
212 | |
213 /** | |
214 * Allows you to override the entire process configuration. | |
215 * | |
216 * @param array $process | |
217 * The entire process pipeline configuration describing the process plugins. | |
218 * | |
219 * @return $this | |
220 */ | |
221 public function setProcess(array $process); | |
222 | |
223 /** | |
224 * Set the process pipeline configuration for an individual destination field. | |
225 * | |
226 * This method allows you to set the process pipeline configuration for a | |
227 * single property within the full process pipeline configuration. | |
228 * | |
229 * @param string $property | |
230 * The property of which to set the process pipeline configuration. | |
231 * @param mixed $process_of_property | |
232 * The process pipeline configuration to be set for this property. | |
233 * | |
234 * @return $this | |
235 * The migration entity. | |
236 */ | |
237 public function setProcessOfProperty($property, $process_of_property); | |
238 | |
239 /** | |
240 * Merge the process pipeline configuration for a single property. | |
241 * | |
242 * @param string $property | |
243 * The property of which to merge the passed in process pipeline | |
244 * configuration. | |
245 * @param array $process_of_property | |
246 * The process pipeline configuration to be merged with the existing process | |
247 * pipeline configuration. | |
248 * | |
249 * @return $this | |
250 * The migration entity. | |
251 * | |
252 * @see Drupal\migrate_drupal\Plugin\migrate\load\LoadEntity::processLinkField() | |
253 */ | |
254 public function mergeProcessOfProperty($property, array $process_of_property); | |
255 | |
256 /** | |
257 * Checks if the migration should track time of last import. | |
258 * | |
259 * @return bool | |
260 * TRUE if the migration is tracking last import time. | |
261 */ | |
262 public function isTrackLastImported(); | |
263 | |
264 /** | |
265 * Set if the migration should track time of last import. | |
266 * | |
267 * @param bool $track_last_imported | |
268 * Boolean value to indicate if the migration should track last import time. | |
269 * | |
270 * @return $this | |
271 */ | |
272 public function setTrackLastImported($track_last_imported); | |
273 | |
274 /** | |
275 * Get the dependencies for this migration. | |
276 * | |
277 * @return array | |
278 * The dependencies for this migrations. | |
279 */ | |
280 public function getMigrationDependencies(); | |
281 | |
282 /** | |
283 * Get the destination configuration, with at least a 'plugin' key. | |
284 * | |
285 * @return array | |
286 * The destination configuration. | |
287 */ | |
288 public function getDestinationConfiguration(); | |
289 | |
290 /** | |
291 * Get the source configuration, with at least a 'plugin' key. | |
292 * | |
293 * @return array | |
294 * The source configuration. | |
295 */ | |
296 public function getSourceConfiguration(); | |
297 | |
298 /** | |
299 * If true, track time of last import. | |
300 * | |
301 * @return bool | |
302 * Flag to determine desire of tracking time of last import. | |
303 */ | |
304 public function getTrackLastImported(); | |
305 | |
306 /** | |
307 * The destination identifiers. | |
308 * | |
309 * An array of destination identifiers: the keys are the name of the | |
310 * properties, the values are dependent on the ID map plugin. | |
311 * | |
312 * @return array | |
313 * Destination identifiers. | |
314 */ | |
315 public function getDestinationIds(); | |
316 | |
317 /** | |
318 * The migration tags. | |
319 * | |
320 * @return array | |
321 * Migration tags. | |
322 */ | |
323 public function getMigrationTags(); | |
324 | |
325 /** | |
326 * Indicates if the migration is auditable. | |
327 * | |
328 * @return bool | |
329 */ | |
330 public function isAuditable(); | |
331 | |
332 } |