You are here

public function FarmEntityBundlePluginHandler::getFieldStorageDefinitions in farmOS 2.x

File

modules/core/entity/src/BundlePlugin/FarmEntityBundlePluginHandler.php, line 17

Class

FarmEntityBundlePluginHandler
Extends BundlePluginHandler to invoke hook_farm_entity_bundle_field_info().

Namespace

Drupal\farm_entity\BundlePlugin

Code

public function getFieldStorageDefinitions() {
  $definitions = [];

  // Allow modules to add definitions.
  foreach (array_keys($this->pluginManager
    ->getDefinitions()) as $plugin_id) {
    $definitions += \Drupal::moduleHandler()
      ->invokeAll('farm_entity_bundle_field_info', [
      $this->entityType,
      $plugin_id,
    ]);
  }

  // Ensure the presence of required keys which aren't set by the plugin.
  // This is copied directly from the parent method for consistency.
  foreach ($definitions as $field_name => $definition) {
    $definition
      ->setName($field_name);
    $definition
      ->setTargetEntityTypeId($this->entityType
      ->id());
    $definitions[$field_name] = $definition;
  }

  // Get definitions from the parent method.
  $definitions += parent::getFieldStorageDefinitions();
  return $definitions;
}