public function Entity::createDuplicate

Implements EntityInterface::createDuplicate().

Overrides EntityInterface::createDuplicate

2 calls to Entity::createDuplicate()
ConfigEntityBase::createDuplicate in drupal/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php
Overrides Entity::createDuplicate().
Node::createDuplicate in drupal/core/modules/node/lib/Drupal/node/Plugin/Core/Entity/Node.php
Overrides Drupal\Core\Entity\Entity::createDuplicate().
3 methods override Entity::createDuplicate()
ConfigEntityBase::createDuplicate in drupal/core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php
Overrides Entity::createDuplicate().
EntityNG::createDuplicate in drupal/core/lib/Drupal/Core/Entity/EntityNG.php
Overrides Entity::createDuplicate().
Node::createDuplicate in drupal/core/modules/node/lib/Drupal/node/Plugin/Core/Entity/Node.php
Overrides Drupal\Core\Entity\Entity::createDuplicate().

File

drupal/core/lib/Drupal/Core/Entity/Entity.php, line 337
Definition of Drupal\Core\Entity\Entity.

Class

Entity
Defines a base entity class.

Namespace

Drupal\Core\Entity

Code

public function createDuplicate() {
  $duplicate = clone $this;
  $entity_info = $this
    ->entityInfo();
  $duplicate->{$entity_info['entity_keys']['id']} = NULL;

  // Check if the entity type supports UUIDs and generate a new one if so.
  if (!empty($entity_info['entity_keys']['uuid'])) {
    $uuid = new Uuid();
    $duplicate->{$entity_info['entity_keys']['uuid']} = $uuid
      ->generate();
  }
  return $duplicate;
}