Chris@0: entityDefinitions = $entity_definitions; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public static function create(ContainerInterface $container, $base_plugin_id) { Chris@0: return new static( Chris@0: $container->get('entity.manager')->getDefinitions() Chris@0: ); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function getDerivativeDefinition($derivative_id, $base_plugin_definition) { Chris@0: if (!empty($this->derivatives) && !empty($this->derivatives[$derivative_id])) { Chris@0: return $this->derivatives[$derivative_id]; Chris@0: } Chris@0: $this->getDerivativeDefinitions($base_plugin_definition); Chris@0: return $this->derivatives[$derivative_id]; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function getDerivativeDefinitions($base_plugin_definition) { Chris@0: foreach ($this->entityDefinitions as $entity_type => $entity_info) { Chris@0: $class = is_subclass_of($entity_info->getClass(), 'Drupal\Core\Config\Entity\ConfigEntityInterface') ? Chris@0: 'Drupal\migrate\Plugin\migrate\destination\EntityConfigBase' : Chris@0: 'Drupal\migrate\Plugin\migrate\destination\EntityContentBase'; Chris@0: $this->derivatives[$entity_type] = [ Chris@0: 'id' => "entity:$entity_type", Chris@0: 'class' => $class, Chris@0: 'requirements_met' => 1, Chris@0: 'provider' => $entity_info->getProvider(), Chris@0: ]; Chris@0: } Chris@0: return $this->derivatives; Chris@0: } Chris@0: Chris@0: }