You are here

public function EntityBase::preSave in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Entity/EntityBase.php \Drupal\Core\Entity\EntityBase::preSave()
  2. 9 core/lib/Drupal/Core/Entity/EntityBase.php \Drupal\Core\Entity\EntityBase::preSave()
2 methods override EntityBase::preSave()
ConfigEntityBase::preSave in core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php
Acts on an entity before the presave hook is invoked.
ContentEntityBase::preSave in core/lib/Drupal/Core/Entity/ContentEntityBase.php
Acts on an entity before the presave hook is invoked.

File

core/lib/Drupal/Core/Entity/EntityBase.php, line 378

Class

EntityBase
Defines a base entity class.

Namespace

Drupal\Core\Entity

Code

public function preSave(EntityStorageInterface $storage) {

  // Check if this is an entity bundle.
  if ($this
    ->getEntityType()
    ->getBundleOf()) {

    // Throw an exception if the bundle ID is longer than 32 characters.
    if (mb_strlen($this
      ->id()) > EntityTypeInterface::BUNDLE_MAX_LENGTH) {
      throw new ConfigEntityIdLengthException("Attempt to create a bundle with an ID longer than " . EntityTypeInterface::BUNDLE_MAX_LENGTH . " characters: {$this->id}().");
    }
  }
}