Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/Entity/EntityChangedInterface.php \Drupal\Core\Entity\EntityChangedInterface
  2. 9 core/lib/Drupal/Core/Entity/EntityChangedInterface.php \Drupal\Core\Entity\EntityChangedInterface

Defines an interface for entity change timestamp tracking.

This data may be useful for more precise cache invalidation (especially on the client side) and concurrent editing locking.

The entity system automatically adds in the 'EntityChanged' constraint for entity types implementing this interface in order to disallow concurrent editing.

Hierarchy

Expanded class hierarchy of EntityChangedInterface

All classes that implement EntityChangedInterface

See also

\Drupal\Core\Entity\Plugin\Validation\Constraint\EntityChangedConstraint

Related topics

15 files declare their use of EntityChangedInterface
BlockContentInterface.php in core/modules/block_content/src/BlockContentInterface.php
CommentInterface.php in core/modules/comment/src/CommentInterface.php
ContentTranslationUITestBase.php in core/modules/content_translation/tests/src/Functional/ContentTranslationUITestBase.php
EntityChangedActionDeriver.php in core/lib/Drupal/Core/Action/Plugin/Action/Derivative/EntityChangedActionDeriver.php
EntityTestConstraints.php in core/modules/system/tests/modules/entity_test/src/Entity/EntityTestConstraints.php

... See full list

File

core/lib/Drupal/Core/Entity/EntityChangedInterface.php, line 19

Namespace

Drupal\Core\Entity
View source
interface EntityChangedInterface extends EntityInterface {

  /**
   * Gets the timestamp of the last entity change for the current translation.
   *
   * @return int
   *   The timestamp of the last entity save operation.
   */
  public function getChangedTime();

  /**
   * Sets the timestamp of the last entity change for the current translation.
   *
   * @param int $timestamp
   *   The timestamp of the last entity save operation.
   *
   * @return $this
   */
  public function setChangedTime($timestamp);

  /**
   * Gets the timestamp of the last entity change across all translations.
   *
   * This method will return the highest timestamp across all translations. To
   * check that no translation is older than in another version of the entity
   * (e.g. to avoid overwriting newer translations with old data), compare each
   * translation to the other version individually.
   *
   * @return int
   *   The timestamp of the last entity save operation across all
   *   translations.
   */
  public function getChangedTimeAcrossTranslations();

}

Members

Namesort descending Modifiers Type Description Overrides
AccessibleInterface::access public function Checks data value access. 6
CacheableDependencyInterface::getCacheContexts public function The cache contexts associated with this object. 12
CacheableDependencyInterface::getCacheMaxAge public function The maximum age for which this object may be cached. 12
CacheableDependencyInterface::getCacheTags public function The cache tags associated with this object. 12
EntityChangedInterface::getChangedTime public function Gets the timestamp of the last entity change for the current translation.
EntityChangedInterface::getChangedTimeAcrossTranslations public function Gets the timestamp of the last entity change across all translations.
EntityChangedInterface::setChangedTime public function Sets the timestamp of the last entity change for the current translation.
EntityInterface::bundle public function Gets the bundle of the entity. 1
EntityInterface::create public static function Constructs a new entity object, without permanently saving it. 1
EntityInterface::createDuplicate public function Creates a duplicate of the entity. 2
EntityInterface::delete public function Deletes an entity permanently. 1
EntityInterface::enforceIsNew public function Enforces an entity to be new. 1
EntityInterface::getCacheTagsToInvalidate public function Returns the cache tags that should be used to invalidate caches. 3
EntityInterface::getConfigDependencyKey public function Gets the key that is used to store configuration dependencies. 1
EntityInterface::getConfigDependencyName public function Gets the configuration dependency name. 1
EntityInterface::getConfigTarget public function Gets the configuration target identifier for the entity. 1
EntityInterface::getEntityType public function Gets the entity type definition. 1
EntityInterface::getEntityTypeId public function Gets the ID of the type of the entity. 1
EntityInterface::getOriginalId public function Gets the original ID. 1
EntityInterface::getTypedData public function Gets a typed data object for this entity object. 1
EntityInterface::hasLinkTemplate public function Indicates if a link template exists for a given key. 1
EntityInterface::id public function Gets the identifier. 1
EntityInterface::isNew public function Determines whether the entity is new. 1
EntityInterface::label public function Gets the label of the entity. 3
EntityInterface::language public function Gets the language of the entity. 1
EntityInterface::load public static function Loads an entity. 1
EntityInterface::loadMultiple public static function Loads one or more entities. 1
EntityInterface::postCreate public function Acts on a created entity before hooks are invoked. 1
EntityInterface::postDelete public static function Acts on deleted entities before the delete hook is invoked. 7
EntityInterface::postLoad public static function Acts on loaded entities. 2
EntityInterface::postSave public function Acts on a saved entity before the insert or update hook is invoked. 8
EntityInterface::preCreate public static function Changes the values of an entity before it is created. 4
EntityInterface::preDelete public static function Acts on entities before they are deleted and before hooks are invoked. 6
EntityInterface::preSave public function Acts on an entity before the presave hook is invoked. 8
EntityInterface::referencedEntities public function Gets a list of entities referenced by this entity. 2
EntityInterface::save public function Saves an entity permanently. 3
EntityInterface::setOriginalId public function Sets the original ID. 1
EntityInterface::toArray public function Gets an array of all property values. 2
EntityInterface::toLink public function Generates the HTML for a link to this entity. 1
EntityInterface::toUrl public function Gets the URL object for the entity. 1
EntityInterface::uriRelationships public function Gets a list of URI relationships supported by this entity. 1
EntityInterface::uuid public function Gets the entity UUID (Universally Unique Identifier). 1
RefinableCacheableDependencyInterface::addCacheableDependency public function Adds a dependency on an object: merges its cacheability metadata.
RefinableCacheableDependencyInterface::addCacheContexts public function Adds cache contexts.
RefinableCacheableDependencyInterface::addCacheTags public function Adds cache tags.
RefinableCacheableDependencyInterface::mergeCacheMaxAge public function Merges the maximum age (in seconds) with the existing maximum age.