function KeyValueEntityStorage::save

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Entity/KeyValueStore/KeyValueEntityStorage.php \Drupal\Core\Entity\KeyValueStore\KeyValueEntityStorage::save()
  2. 8.9.x core/lib/Drupal/Core/Entity/KeyValueStore/KeyValueEntityStorage.php \Drupal\Core\Entity\KeyValueStore\KeyValueEntityStorage::save()
  3. 11.x core/lib/Drupal/Core/Entity/KeyValueStore/KeyValueEntityStorage.php \Drupal\Core\Entity\KeyValueStore\KeyValueEntityStorage::save()

Overrides EntityStorageBase::save

File

core/lib/Drupal/Core/Entity/KeyValueStore/KeyValueEntityStorage.php, line 160

Class

KeyValueEntityStorage
Provides a key value backend for entities.

Namespace

Drupal\Core\Entity\KeyValueStore

Code

public function save(EntityInterface $entity) {
  $id = $entity->id();
  if ($id === NULL || $id === '') {
    throw new EntityMalformedException('The entity does not have an ID.');
  }
  // Check the entity ID length.
  // @todo This is not config-specific, but serial IDs will likely never hit
  //   this limit. Consider renaming the exception class.
  if (strlen($entity->id()) > static::MAX_ID_LENGTH) {
    throw new ConfigEntityIdLengthException("Entity ID {$entity->id()} exceeds maximum allowed length of " . static::MAX_ID_LENGTH . ' characters.');
  }
  return parent::save($entity);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.