interface EntityInterface

Defines a common interface for all entity objects.

When implementing this interface which extends Traversable, make sure to list IteratorAggregate or Iterator before this interface in the implements clause.

Hierarchy

Expanded class hierarchy of EntityInterface

All classes that implement EntityInterface

90 files declare their use of EntityInterface
AccountFormController.php in drupal/core/modules/user/lib/Drupal/user/AccountFormController.php
Definition of Drupal\user\AccountFormController.
CategoryFormController.php in drupal/core/modules/contact/lib/Drupal/contact/CategoryFormController.php
Definition of Drupal\contact\CategoryFormController.
CategoryListController.php in drupal/core/modules/contact/lib/Drupal/contact/CategoryListController.php
comment.api.php in drupal/core/modules/comment/comment.api.php
Hooks provided by the Comment module.
comment.module in drupal/core/modules/comment/comment.module
Enables users to comment on published content.

... See full list

File

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

Namespace

Drupal\Core\Entity
View source
interface EntityInterface extends ComplexDataInterface, AccessibleInterface, TranslatableInterface {

  /**
   * Returns the entity identifier (the entity's machine name or numeric ID).
   *
   * @return
   *   The identifier of the entity, or NULL if the entity does not yet have
   *   an identifier.
   */
  public function id();

  /**
   * Returns the entity UUID (Universally Unique Identifier).
   *
   * The UUID is guaranteed to be unique and can be used to identify an entity
   * across multiple systems.
   *
   * @return string
   *   The UUID of the entity, or NULL if the entity does not have one.
   */
  public function uuid();

  /**
   * Returns whether the entity is new.
   *
   * Usually an entity is new if no ID exists for it yet. However, entities may
   * be enforced to be new with existing IDs too.
   *
   * @return
   *   TRUE if the entity is new, or FALSE if the entity has already been saved.
   *
   * @see Drupal\Core\Entity\EntityInterface::enforceIsNew()
   */
  public function isNew();

  /**
   * Returns whether a new revision should be created on save.
   *
   * @return bool
   *   TRUE if a new revision should be created.
   *
   * @see Drupal\Core\Entity\EntityInterface::setNewRevision()
   */
  public function isNewRevision();

  /**
   * Enforces an entity to be saved as a new revision.
   *
   * @param bool $value
   *   (optional) Whether a new revision should be saved.
   *
   * @see Drupal\Core\Entity\EntityInterface::isNewRevision()
   */
  public function setNewRevision($value = TRUE);

  /**
   * Enforces an entity to be new.
   *
   * Allows migrations to create entities with pre-defined IDs by forcing the
   * entity to be new before saving.
   *
   * @param bool $value
   *   (optional) Whether the entity should be forced to be new. Defaults to
   *   TRUE.
   *
   * @see Drupal\Core\Entity\EntityInterface::isNew()
   */
  public function enforceIsNew($value = TRUE);

  /**
   * Returns the type of the entity.
   *
   * @return
   *   The type of the entity.
   */
  public function entityType();

  /**
   * Returns the bundle of the entity.
   *
   * @return
   *   The bundle of the entity. Defaults to the entity type if the entity type
   *   does not make use of different bundles.
   */
  public function bundle();

  /**
   * Returns the label of the entity.
   *
   * @param $langcode
   *   (optional) The language code of the language that should be used for
   *   getting the label. If set to NULL, the entity's default language is
   *   used.
   *
   * @return
   *   The label of the entity, or NULL if there is no label defined.
   */
  public function label($langcode = NULL);

  /**
   * Returns the URI elements of the entity.
   *
   * @return
   *   An array containing the 'path' and 'options' keys used to build the URI
   *   of the entity, and matching the signature of url(). NULL if the entity
   *   has no URI of its own.
   */
  public function uri();

  /**
   * Saves an entity permanently.
   *
   * @return
   *   Either SAVED_NEW or SAVED_UPDATED, depending on the operation performed.
   *
   * @throws Drupal\Core\Entity\EntityStorageException
   *   In case of failures an exception is thrown.
   */
  public function save();

  /**
   * Deletes an entity permanently.
   *
   * @throws Drupal\Core\Entity\EntityStorageException
   *   In case of failures an exception is thrown.
   */
  public function delete();

  /**
   * Creates a duplicate of the entity.
   *
   * @return Drupal\Core\Entity\EntityInterface
   *   A clone of the current entity with all identifiers unset, so saving
   *   it inserts a new entity into the storage system.
   */
  public function createDuplicate();

  /**
   * Returns the info of the type of the entity.
   *
   * @see entity_get_info()
   */
  public function entityInfo();

  /**
   * Returns the revision identifier of the entity.
   *
   * @return
   *   The revision identifier of the entity, or NULL if the entity does not
   *   have a revision identifier.
   */
  public function getRevisionId();

  /**
   * Checks if this entity is the default revision.
   *
   * @param bool $new_value
   *   (optional) A Boolean to (re)set the isDefaultRevision flag.
   *
   * @return bool
   *   TRUE if the entity is the default revision, FALSE otherwise. If
   *   $new_value was passed, the previous value is returned.
   */
  public function isDefaultRevision($new_value = NULL);

}

Members

Namesort descending Modifiers Type Description Overrides
AccessibleInterface::access public function Checks data value access. 4
ComplexDataInterface::get public function Gets a property object. 5
ComplexDataInterface::getProperties public function Gets an array of property objects. 5
ComplexDataInterface::getPropertyDefinition public function Gets the definition of a contained property. 5
ComplexDataInterface::getPropertyDefinitions public function Gets an array property definitions of contained properties. 12
ComplexDataInterface::getPropertyValues public function Gets an array of property values. 5
ComplexDataInterface::isEmpty public function Determines whether the data structure is empty. 5
ComplexDataInterface::set public function Sets a property value. 5
ComplexDataInterface::setPropertyValues public function Sets multiple property values. 5
EntityInterface::bundle public function Returns the bundle of the entity. 2
EntityInterface::createDuplicate public function Creates a duplicate of the entity. 2
EntityInterface::delete public function Deletes an entity permanently. 2
EntityInterface::enforceIsNew public function Enforces an entity to be new. 2
EntityInterface::entityInfo public function Returns the info of the type of the entity. 2
EntityInterface::entityType public function Returns the type of the entity. 2
EntityInterface::getRevisionId public function Returns the revision identifier of the entity. 2
EntityInterface::id public function Returns the entity identifier (the entity's machine name or numeric ID). 2
EntityInterface::isDefaultRevision public function Checks if this entity is the default revision. 2
EntityInterface::isNew public function Returns whether the entity is new. 2
EntityInterface::isNewRevision public function Returns whether a new revision should be created on save. 2
EntityInterface::label public function Returns the label of the entity. 2
EntityInterface::save public function Saves an entity permanently. 2
EntityInterface::setNewRevision public function Enforces an entity to be saved as a new revision. 2
EntityInterface::uri public function Returns the URI elements of the entity. 2
EntityInterface::uuid public function Returns the entity UUID (Universally Unique Identifier). 2
TranslatableInterface::getTranslation public function Gets a translation of the data. 2
TranslatableInterface::getTranslationLanguages public function Returns the languages the data is translated to. 2
TranslatableInterface::language public function Returns the default language. 2