public function EntityTypeListener::onEntityTypeCreate

public EntityTypeListener::onEntityTypeCreate(EntityTypeInterface $entity_type)

Reacts to the creation of the entity type.

Parameters

\Drupal\Core\Entity\EntityTypeInterface $entity_type: The entity type being created.

Overrides EntityTypeListenerInterface::onEntityTypeCreate

File

core/lib/Drupal/Core/Entity/EntityTypeListener.php, line 64

Class

EntityTypeListener
Reacts to entity type CRUD on behalf of the Entity system.

Namespace

Drupal\Core\Entity

Code

public function onEntityTypeCreate(EntityTypeInterface $entity_type) {
  $entity_type_id = $entity_type->id();

  // @todo Forward this to all interested handlers, not only storage, once
  //   iterating handlers is possible: https://www.drupal.org/node/2332857.
  $storage = $this->entityTypeManager->getStorage($entity_type_id);
  if ($storage instanceof EntityTypeListenerInterface) {
    $storage->onEntityTypeCreate($entity_type);
  }

  $this->eventDispatcher->dispatch(EntityTypeEvents::CREATE, new EntityTypeEvent($entity_type));

  $this->entityLastInstalledSchemaRepository->setLastInstalledDefinition($entity_type);
  if ($entity_type->isSubclassOf(FieldableEntityInterface::class)) {
    $this->entityLastInstalledSchemaRepository->setLastInstalledFieldStorageDefinitions($entity_type_id, $this->entityFieldManager->getFieldStorageDefinitions($entity_type_id));
  }
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Entity!EntityTypeListener.php/function/EntityTypeListener::onEntityTypeCreate/8.1.x