summaryrefslogtreecommitdiffstatshomepage
path: root/core/modules/migrate_drupal/src/FieldDiscoveryInterface.php
blob: 5648f219eb698e902e09015f8ea639e68a636d41 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php

namespace Drupal\migrate_drupal;

use Drupal\migrate\Plugin\MigrationInterface;

/**
 * Provides field discovery for Drupal 6 & 7 migrations.
 */
interface FieldDiscoveryInterface {

  const DRUPAL_6 = '6';

  const DRUPAL_7 = '7';

  /**
   * Adds the field processes to a migration.
   *
   * This method is used in field migrations to execute the migration process
   * alter method specified by the 'field_plugin_method' key of the migration
   * for all field plugins applicable to this Drupal to Drupal migration. This
   * method is used internally for field, field instance, widget, and formatter
   * migrations to allow field plugins to alter the process for these
   * migrations.
   *
   * @param \Drupal\migrate\Plugin\MigrationInterface $migration
   *   The migration to add process plugins to.
   *
   * @throws \InvalidArgumentException
   *
   * @internal
   */
  public function addAllFieldProcesses(MigrationInterface $migration);

  /**
   * Adds the field processes for an entity to a migration.
   *
   * This method is used in field migrations to execute the migration process
   * alter method specified by the 'field_plugin_method' key of the migration
   * for all field plugins applicable to this Drupal to Drupal migration. This
   * method is used internally for field, field instance, widget, and formatter
   * migrations to allow field plugins to alter the process for these
   * migrations.
   *
   * @param \Drupal\migrate\Plugin\MigrationInterface $migration
   *   The migration to add processes to.
   * @param string $entity_type_id
   *   The legacy entity type to add processes for.
   *
   * @throws \InvalidArgumentException
   */
  public function addEntityFieldProcesses(MigrationInterface $migration, $entity_type_id);

  /**
   * Adds the field processes for a bundle to a migration.
   *
   * @param \Drupal\migrate\Plugin\MigrationInterface $migration
   *   The migration to add processes to.
   * @param string $entity_type_id
   *   The legacy entity type to add processes for.
   * @param string $bundle
   *   The legacy bundle (or content_type) to add processes for.
   *
   * @throws \InvalidArgumentException
   */
  public function addBundleFieldProcesses(MigrationInterface $migration, $entity_type_id, $bundle);

}