interface FileInterface implements ContentEntityInterface, EntityChangedInterface, EntityOwnerInterface (View source)

Defines getter and setter methods for file entity base fields.

Constants

STATUS_PERMANENT

Indicates that the file is permanent and should not be deleted.

Temporary files older than the system.file.temporary_maximum_age will be removed during cron runs if cleanup is not disabled. (Permanent files will not be removed during the file garbage collection process.)

Methods

access(string $operation, AccountInterface $account = NULL, bool $return_as_object = FALSE)

Checks data value access.

string[]
getCacheContexts()

The cache contexts associated with this object.

string[]
getCacheTags()

The cache tags associated with this object.

int
getCacheMaxAge()

The maximum age for which this object may be cached.

$this
addCacheContexts(array $cache_contexts)

Adds cache contexts.

$this
addCacheTags(array $cache_tags)

Adds cache tags.

$this
mergeCacheMaxAge(int $max_age)

Merges the maximum age (in seconds) with the existing maximum age.

$this
addCacheableDependency(CacheableDependencyInterface|object $other_object)

Adds a dependency on an object: merges its cacheability metadata.

string|null
uuid()

Gets the entity UUID (Universally Unique Identifier).

string|int|null
id()

Gets the identifier.

language()

Gets the language of the entity.

bool
isNew()

Determines whether the entity is new.

$this
enforceIsNew(bool $value = TRUE)

Enforces an entity to be new.

string
getEntityTypeId()

Gets the ID of the type of the entity.

string
bundle()

Gets the bundle of the entity.

string|TranslatableMarkup|null
label()

Gets the label of the entity.

Url
toUrl(string $rel = 'canonical', array $options = [])

Gets the URL object for the entity.

toLink(string|null $text = NULL, string $rel = 'canonical', array $options = [])

Generates the HTML for a link to this entity.

bool
hasLinkTemplate(string $key)

Indicates if a link template exists for a given key.

string[]
uriRelationships()

Gets a list of URI relationships supported by this entity.

static EntityInterface|null
load(mixed $id)

Loads an entity.

static EntityInterface[]
loadMultiple(array $ids = NULL)

Loads one or more entities.

static EntityInterface
create(array $values = [])

Constructs a new entity object, without permanently saving it.

int
save()

Saves an entity permanently.

delete()

Deletes an entity permanently.

preSave(EntityStorageInterface $storage)

Acts on an entity before the presave hook is invoked.

postSave(EntityStorageInterface $storage, bool $update = TRUE)

Acts on a saved entity before the insert or update hook is invoked.

static 
preCreate(EntityStorageInterface $storage, array $values)

Changes the values of an entity before it is created.

postCreate(EntityStorageInterface $storage)

Acts on a created entity before hooks are invoked.

static 
preDelete(EntityStorageInterface $storage, array $entities)

Acts on entities before they are deleted and before hooks are invoked.

static 
postDelete(EntityStorageInterface $storage, array $entities)

Acts on deleted entities before the delete hook is invoked.

static 
postLoad(EntityStorageInterface $storage, array $entities)

Acts on loaded entities.

createDuplicate()

Creates a duplicate of the entity.

getEntityType()

Gets the entity type definition.

referencedEntities()

Gets a list of entities referenced by this entity.

int|string|null
getOriginalId()

Gets the original ID.

string[]
getCacheTagsToInvalidate()

Returns the cache tags that should be used to invalidate caches.

$this
setOriginalId(int|string|null $id)

Sets the original ID.

array
toArray()

Gets an array of all property values.

getTypedData()

Gets a typed data object for this entity object.

string
getConfigDependencyKey()

Gets the key that is used to store configuration dependencies.

string
getConfigDependencyName()

Gets the configuration dependency name.

string
getConfigTarget()

Gets the configuration target identifier for the entity.

baseFieldDefinitions(EntityTypeInterface $entity_type)

Provides base field definitions for an entity type.

bundleFieldDefinitions(EntityTypeInterface $entity_type, string $bundle, array $base_field_definitions)

Provides field definitions for a specific bundle.

bool
hasField(string $field_name)

Determines whether the entity has a field with the given name.

getFieldDefinition(string $name)

Gets the definition of a contained field.

getFieldDefinitions()

Gets an array of field definitions of all contained fields.

get(string $field_name)

Gets a field item list.

$this
set(string $field_name, mixed $value, bool $notify = TRUE)

Sets a field value.

getFields(bool $include_computed = TRUE)

Gets an array of all field item lists.

getTranslatableFields(bool $include_computed = TRUE)

Gets an array of field item lists for translatable fields.

onChange(string $field_name)

Reacts to changes to a field.

validate()

Validates the currently set values.

bool
isValidationRequired()

Checks whether entity validation is required before saving the entity.

$this
setValidationRequired(bool $required)

Sets whether entity validation is required before saving the entity.

bool
isDefaultTranslation()

Checks whether the translation is the default one.

bool
isNewTranslation()

Checks whether the translation is new.

getTranslationLanguages(bool $include_default = TRUE)

Returns the languages the data is translated to.

$this
getTranslation($langcode)

Gets a translation of the data.

$this
getUntranslated()

Returns the translatable object referring to the original language.

bool
hasTranslation(string $langcode)

Checks there is a translation for the given language code.

$this
addTranslation(string $langcode, array $values = [])

Adds a new translation to the translatable object.

removeTranslation(string $langcode)

Removes the translation identified by the given language code.

bool
isTranslatable()

Returns the translation support status.

bool
hasTranslationChanges()

Determines if the current translation of the entity has unsaved changes.

bool
isNewRevision()

Determines whether a new revision should be created on save.

setNewRevision(bool $value = TRUE)

Enforces an entity to be saved as a new revision.

The
getRevisionId()

Gets the revision identifier of the entity.

int
getLoadedRevisionId()

Gets the loaded Revision ID of the entity.

$this
updateLoadedRevisionId()

Updates the loaded Revision ID with the revision ID.

bool
isDefaultRevision(bool $new_value = NULL)

Checks if this entity is the default revision.

bool
wasDefaultRevision()

Checks whether the entity object was a default revision when it was saved.

bool
isLatestRevision()

Checks if this entity is the latest revision.

preSaveRevision(EntityStorageInterface $storage, stdClass $record)

Acts on a revision before it gets saved.

bool
isLatestTranslationAffectedRevision()

Checks whether this is the latest revision affecting this translation.

$this
setRevisionTranslationAffected(bool|null $affected)

Marks the current revision translation as affected.

bool
isRevisionTranslationAffected()

Checks whether the current translation is affected by the current revision.

bool
isRevisionTranslationAffectedEnforced()

Checks if the revision translation affected flag value has been enforced.

$this
setRevisionTranslationAffectedEnforced(bool $enforced)

Enforces the revision translation affected flag value.

bool
isDefaultTranslationAffectedOnly()

Checks if untranslatable fields should affect only the default translation.

$this
setSyncing(bool $status)

Sets the status of the synchronization flag.

bool
isSyncing()

Returns whether this entity is being changed as part of a synchronization.

int
getChangedTime()

Gets the timestamp of the last entity change for the current translation.

$this
setChangedTime(int $timestamp)

Sets the timestamp of the last entity change for the current translation.

int
getChangedTimeAcrossTranslations()

Gets the timestamp of the last entity change across all translations.

getOwner()

Returns the entity owner's user entity.

$this
setOwner(UserInterface $account)

Sets the entity owner's user entity.

int|null
getOwnerId()

Returns the entity owner's user ID.

$this
setOwnerId(int $uid)

Sets the entity owner's user ID.

string
getFilename()

Returns the name of the file.

setFilename(string $filename)

Sets the name of the file.

string
getFileUri()

Returns the URI of the file.

setFileUri(string $uri)

Sets the URI of the file.

string
createFileUrl(bool $relative = TRUE)

Creates a file URL for the URI of this file.

string
getMimeType()

Returns the MIME type of the file.

setMimeType(string $mime)

Sets the MIME type of the file.

string
getSize()

Returns the size of the file.

setSize(int $size)

Sets the size of the file.

bool
isPermanent()

Returns TRUE if the file is permanent.

bool
isTemporary()

Returns TRUE if the file is temporary.

setPermanent()

Sets the file status to permanent.

setTemporary()

Sets the file status to temporary.

int
getCreatedTime()

Returns the file entity creation timestamp.

Details

bool|AccessResultInterface access(string $operation, AccountInterface $account = NULL, bool $return_as_object = FALSE)

Checks data value access.

Parameters

string $operation

The operation to be performed.

AccountInterface $account

(optional) The user for which to check access, or NULL to check access for the current user. Defaults to NULL.

bool $return_as_object

(optional) Defaults to FALSE.

Return Value

bool|AccessResultInterface

The access result. Returns a boolean if $return_as_object is FALSE (this is the default) and otherwise an AccessResultInterface object. When a boolean is returned, the result of AccessInterface::isAllowed() is returned, i.e. TRUE means access is explicitly allowed, FALSE means access is either explicitly forbidden or "no opinion".

string[] getCacheContexts()

The cache contexts associated with this object.

These identify a specific variation/representation of the object.

Cache contexts are tokens: placeholders that are converted to cache keys by the @cache_contexts_manager service. The replacement value depends on the request context (the current URL, language, and so on). They're converted before storing an object in cache.

Return Value

string[]

An array of cache context tokens, used to generate a cache ID.

See also

CacheContextsManager::convertTokensToKeys

string[] getCacheTags()

The cache tags associated with this object.

When this object is modified, these cache tags will be invalidated.

Return Value

string[]

A set of cache tags.

int getCacheMaxAge()

The maximum age for which this object may be cached.

Return Value

int

The maximum time in seconds that this object may be cached.

$this addCacheContexts(array $cache_contexts)

Adds cache contexts.

Parameters

array $cache_contexts

The cache contexts to be added.

Return Value

$this

$this addCacheTags(array $cache_tags)

Adds cache tags.

Parameters

array $cache_tags

The cache tags to be added.

Return Value

$this

$this mergeCacheMaxAge(int $max_age)

Merges the maximum age (in seconds) with the existing maximum age.

The max age will be set to the given value if it is lower than the existing value.

Parameters

int $max_age

The max age to associate.

Return Value

$this

Exceptions

InvalidArgumentException

$this addCacheableDependency(CacheableDependencyInterface|object $other_object)

Adds a dependency on an object: merges its cacheability metadata.

Parameters

CacheableDependencyInterface|object $other_object

The dependency. If the object implements CacheableDependencyInterface, then its cacheability metadata will be used. Otherwise, the passed in object must be assumed to be uncacheable, so max-age 0 is set.

Return Value

$this

See also

CacheableMetadata::createFromObject

string|null uuid()

Gets 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 Value

string|null

The UUID of the entity, or NULL if the entity does not have one.

string|int|null id()

Gets the identifier.

Return Value

string|int|null

The entity identifier, or NULL if the object does not yet have an identifier.

LanguageInterface language()

Gets the language of the entity.

Return Value

LanguageInterface

The language object.

bool isNew()

Determines 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 Value

bool

TRUE if the entity is new, or FALSE if the entity has already been saved.

See also

EntityInterface::enforceIsNew

$this enforceIsNew(bool $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.

Parameters

bool $value

(optional) Whether the entity should be forced to be new. Defaults to TRUE.

Return Value

$this

See also

EntityInterface::isNew

string getEntityTypeId()

Gets the ID of the type of the entity.

Return Value

string

The entity type ID.

string bundle()

Gets the bundle of the entity.

Return Value

string

The bundle of the entity. Defaults to the entity type ID if the entity type does not make use of different bundles.

string|TranslatableMarkup|null label()

Gets the label of the entity.

Return Value

string|TranslatableMarkup|null

The label of the entity, or NULL if there is no label defined.

Url toUrl(string $rel = 'canonical', array $options = [])

Gets the URL object for the entity.

The entity must have an id already. Content entities usually get their IDs by saving them.

URI templates might be set in the links array in an annotation, for example:

Parameters

string $rel

The link relationship type, for example: canonical or edit-form.

array $options

See \Drupal\Core\Routing\UrlGeneratorInterface::generateFromRoute() for the available options.

Return Value

Url

The URL object.

Exceptions

EntityMalformedException
UndefinedLinkTemplateException

Generates the HTML for a link to this entity.

Parameters

string|null $text

(optional) The link text for the anchor tag as a translated string. If NULL, it will use the entity's label. Defaults to NULL.

string $rel

(optional) The link relationship type. Defaults to 'canonical'.

array $options

See \Drupal\Core\Routing\UrlGeneratorInterface::generateFromRoute() for the available options.

Return Value

Link

A Link to the entity.

Exceptions

EntityMalformedException
UndefinedLinkTemplateException

bool hasLinkTemplate(string $key)

Indicates if a link template exists for a given key.

Parameters

string $key

The link type.

Return Value

bool

TRUE if the link template exists, FALSE otherwise.

string[] uriRelationships()

Gets a list of URI relationships supported by this entity.

Return Value

string[]

An array of link relationships supported by this entity.

static EntityInterface|null load(mixed $id)

Loads an entity.

Parameters

mixed $id

The id of the entity to load.

Return Value

EntityInterface|null

The entity object or NULL if there is no entity with the given ID.

static EntityInterface[] loadMultiple(array $ids = NULL)

Loads one or more entities.

Parameters

array $ids

An array of entity IDs, or NULL to load all entities.

Return Value

EntityInterface[]

An array of entity objects indexed by their IDs.

static EntityInterface create(array $values = [])

Constructs a new entity object, without permanently saving it.

Parameters

array $values

(optional) An array of values to set, keyed by property name. If the entity type has bundles, the bundle key has to be specified.

Return Value

EntityInterface

The entity object.

int save()

Saves an entity permanently.

When saving existing entities, the entity is assumed to be complete, partial updates of entities are not supported.

Return Value

int

Either SAVED_NEW or SAVED_UPDATED, depending on the operation performed.

Exceptions

EntityStorageException

delete()

Deletes an entity permanently.

preSave(EntityStorageInterface $storage)

Acts on an entity before the presave hook is invoked.

Used before the entity is saved and before invoking the presave hook. Note that in case of translatable content entities this callback is only fired on their current translation. It is up to the developer to iterate over all translations if needed. This is different from its counterpart in the Field API, FieldItemListInterface::preSave(), which is fired on all field translations automatically.

Adjust existing implementations and the documentation according to https://www.drupal.org/node/2577609 to have a consistent API.

Parameters

EntityStorageInterface $storage

The entity storage object.

Exceptions

Exception

See also

FieldItemListInterface::preSave

postSave(EntityStorageInterface $storage, bool $update = TRUE)

Acts on a saved entity before the insert or update hook is invoked.

Used after the entity is saved, but before invoking the insert or update hook. Note that in case of translatable content entities this callback is only fired on their current translation. It is up to the developer to iterate over all translations if needed.

Parameters

EntityStorageInterface $storage

The entity storage object.

bool $update

TRUE if the entity has been updated, or FALSE if it has been inserted.

static preCreate(EntityStorageInterface $storage, array $values)

Changes the values of an entity before it is created.

Load defaults for example.

Parameters

EntityStorageInterface $storage

The entity storage object.

array $values

An array of values to set, keyed by property name. If the entity type has bundles the bundle key has to be specified.

postCreate(EntityStorageInterface $storage)

Acts on a created entity before hooks are invoked.

Used after the entity is created, but before saving the entity and before any of the presave hooks are invoked.

See the @link entity_crud Entity CRUD topic @endlink for more information.

Parameters

EntityStorageInterface $storage

The entity storage object.

See also

EntityInterface::create

static preDelete(EntityStorageInterface $storage, array $entities)

Acts on entities before they are deleted and before hooks are invoked.

Used before the entities are deleted and before invoking the delete hook.

Parameters

EntityStorageInterface $storage

The entity storage object.

array $entities

An array of entities.

static postDelete(EntityStorageInterface $storage, array $entities)

Acts on deleted entities before the delete hook is invoked.

Used after the entities are deleted but before invoking the delete hook.

Parameters

EntityStorageInterface $storage

The entity storage object.

array $entities

An array of entities.

static postLoad(EntityStorageInterface $storage, array $entities)

Acts on loaded entities.

Parameters

EntityStorageInterface $storage

The entity storage object.

array $entities

An array of entities.

EntityInterface createDuplicate()

Creates a duplicate of the entity.

Return Value

EntityInterface

A clone of $this with all identifiers unset, so saving it inserts a new entity into the storage system.

EntityTypeInterface getEntityType()

Gets the entity type definition.

Return Value

EntityTypeInterface

The entity type definition.

EntityInterface[] referencedEntities()

Gets a list of entities referenced by this entity.

Return Value

EntityInterface[]

An array of entities.

int|string|null getOriginalId()

Gets the original ID.

Return Value

int|string|null

The original ID, or NULL if no ID was set or for entity types that do not support renames.

string[] getCacheTagsToInvalidate()

Returns the cache tags that should be used to invalidate caches.

This will not return additional cache tags added through addCacheTags().

$this setOriginalId(int|string|null $id)

Sets the original ID.

Parameters

int|string|null $id

The new ID to set as original ID. If the entity supports renames, setting NULL will prevent an update from being considered a rename.

Return Value

$this

array toArray()

Gets an array of all property values.

Return Value

array

An array of property values, keyed by property name.

ComplexDataInterface getTypedData()

Gets a typed data object for this entity object.

The returned typed data object wraps this entity and allows dealing with entities based on the generic typed data API.

Return Value

ComplexDataInterface

The typed data object for this entity.

See also

TypedDataInterface

string getConfigDependencyKey()

Gets the key that is used to store configuration dependencies.

Return Value

string

The key to be used in configuration dependencies when storing dependencies on entities of this type.

See also

EntityTypeInterface::getConfigDependencyKey

string getConfigDependencyName()

Gets the configuration dependency name.

Configuration entities can depend on content and configuration entities. They store an array of content and config dependency names in their "dependencies" key.

Return Value

string

The configuration dependency name.

See also

ConfigDependencyManager

string getConfigTarget()

Gets the configuration target identifier for the entity.

Used to supply the correct format for storing a reference targeting this entity in configuration.

Return Value

string

The configuration target identifier.

static FieldDefinitionInterface[] baseFieldDefinitions(EntityTypeInterface $entity_type)

Provides base field definitions for an entity type.

Implementations typically use the class \Drupal\Core\Field\BaseFieldDefinition for creating the field definitions; for example a 'name' field could be defined as the following:

Parameters

EntityTypeInterface $entity_type

The entity type definition. Useful when a single class is used for multiple, possibly dynamic entity types.

Return Value

FieldDefinitionInterface[]

An array of base field definitions for the entity type, keyed by field name.

See also

EntityFieldManagerInterface::getFieldDefinitions
FieldableEntityInterface::bundleFieldDefinitions

static FieldDefinitionInterface[] bundleFieldDefinitions(EntityTypeInterface $entity_type, string $bundle, array $base_field_definitions)

Provides field definitions for a specific bundle.

This function can return definitions both for bundle fields (fields that are not defined in $base_field_definitions, and therefore might not exist on some bundles) as well as bundle-specific overrides of base fields (fields that are defined in $base_field_definitions, and therefore exist for all bundles). However, bundle-specific base field overrides can also be provided by 'base_field_override' configuration entities, and that is the recommended approach except in cases where an entity type needs to provide a bundle-specific base field override that is decoupled from configuration. Note that for most entity types, the bundles themselves are derived from configuration (e.g., 'node' bundles are managed via 'node_type' configuration entities), so decoupling bundle-specific base field overrides from configuration only makes sense for entity types that also decouple their bundles from configuration. In cases where both this function returns a bundle-specific override of a base field and a 'base_field_override' configuration entity exists, the latter takes precedence.

WARNING: This method will be changed in https://www.drupal.org/node/2346347.

Parameters

EntityTypeInterface $entity_type

The entity type definition. Useful when a single class is used for multiple, possibly dynamic entity types.

string $bundle

The bundle.

array $base_field_definitions

The list of base field definitions.

Return Value

FieldDefinitionInterface[]

An array of bundle field definitions, keyed by field name.

See also

EntityFieldManagerInterface::getFieldDefinitions
FieldableEntityInterface::baseFieldDefinitions

bool hasField(string $field_name)

Determines whether the entity has a field with the given name.

Parameters

string $field_name

The field name.

Return Value

bool

TRUE if the entity has a field with the given name. FALSE otherwise.

FieldDefinitionInterface|null getFieldDefinition(string $name)

Gets the definition of a contained field.

Parameters

string $name

The name of the field.

Return Value

FieldDefinitionInterface|null

The definition of the field or null if the field does not exist.

FieldDefinitionInterface[] getFieldDefinitions()

Gets an array of field definitions of all contained fields.

Return Value

FieldDefinitionInterface[]

An array of field definitions, keyed by field name.

See also

EntityFieldManagerInterface::getFieldDefinitions

FieldItemListInterface get(string $field_name)

Gets a field item list.

Parameters

string $field_name

The name of the field to get; e.g., 'title' or 'name'.

Return Value

FieldItemListInterface

The field item list, containing the field items.

Exceptions

InvalidArgumentException

$this set(string $field_name, mixed $value, bool $notify = TRUE)

Sets a field value.

Parameters

string $field_name

The name of the field to set; e.g., 'title' or 'name'.

mixed $value

The value to set, or NULL to unset the field.

bool $notify

(optional) Whether to notify the entity of the change. Defaults to TRUE. If the update stems from the entity, set it to FALSE to avoid being notified again.

Return Value

$this

Exceptions

InvalidArgumentException

FieldItemListInterface[] getFields(bool $include_computed = TRUE)

Gets an array of all field item lists.

Parameters

bool $include_computed

If set to TRUE, computed fields are included. Defaults to TRUE.

Return Value

FieldItemListInterface[]

An array of field item lists implementing, keyed by field name.

FieldItemListInterface[] getTranslatableFields(bool $include_computed = TRUE)

Gets an array of field item lists for translatable fields.

Parameters

bool $include_computed

If set to TRUE, computed fields are included. Defaults to TRUE.

Return Value

FieldItemListInterface[]

An array of field item lists implementing, keyed by field name.

onChange(string $field_name)

Reacts to changes to a field.

Note that this is invoked after any changes have been applied.

Parameters

string $field_name

The name of the field which is changed.

Exceptions

InvalidArgumentException
LogicException

EntityConstraintViolationListInterface validate()

Validates the currently set values.

Return Value

EntityConstraintViolationListInterface

A list of constraint violations. If the list is empty, validation succeeded.

bool isValidationRequired()

Checks whether entity validation is required before saving the entity.

Return Value

bool

TRUE if validation is required, FALSE if not.

$this setValidationRequired(bool $required)

Sets whether entity validation is required before saving the entity.

Parameters

bool $required

TRUE if validation is required, FALSE otherwise.

Return Value

$this

bool isDefaultTranslation()

Checks whether the translation is the default one.

Return Value

bool

TRUE if the translation is the default one, FALSE otherwise.

bool isNewTranslation()

Checks whether the translation is new.

Return Value

bool

TRUE if the translation is new, FALSE otherwise.

LanguageInterface[] getTranslationLanguages(bool $include_default = TRUE)

Returns the languages the data is translated to.

Parameters

bool $include_default

(optional) Whether the default language should be included. Defaults to TRUE.

Return Value

LanguageInterface[]

An associative array of language objects, keyed by language codes.

$this getTranslation($langcode)

Gets a translation of the data.

The returned translation has to be of the same type than this typed data object.

Parameters

$langcode

The language code of the translation to get or LanguageInterface::LANGCODE_DEFAULT to get the data in default language.

Return Value

$this

A typed data object for the translated data.

Exceptions

InvalidArgumentException

$this getUntranslated()

Returns the translatable object referring to the original language.

Return Value

$this

The translation object referring to the original language.

bool hasTranslation(string $langcode)

Checks there is a translation for the given language code.

Parameters

string $langcode

The language code identifying the translation.

Return Value

bool

TRUE if the translation exists, FALSE otherwise.

$this addTranslation(string $langcode, array $values = [])

Adds a new translation to the translatable object.

To create a translation of an entity prefilled with the original data:

Parameters

string $langcode

The language code identifying the translation.

array $values

(optional) An array of initial values to be assigned to the translatable fields. Defaults to none.

Return Value

$this

Exceptions

InvalidArgumentException

removeTranslation(string $langcode)

Removes the translation identified by the given language code.

Parameters

string $langcode

The language code identifying the translation to be removed.

bool isTranslatable()

Returns the translation support status.

Return Value

bool

TRUE if the object has translation support enabled.

bool hasTranslationChanges()

Determines if the current translation of the entity has unsaved changes.

Return Value

bool

TRUE if the current translation of the entity has changes.

bool isNewRevision()

Determines whether a new revision should be created on save.

Return Value

bool

TRUE if a new revision should be created.

See also

\Drupal\Core\Entity\EntityInterface::setNewRevision()

setNewRevision(bool $value = TRUE)

Enforces an entity to be saved as a new revision.

Parameters

bool $value

(optional) Whether a new revision should be saved.

Exceptions

LogicException

See also

\Drupal\Core\Entity\EntityInterface::isNewRevision()

The getRevisionId()

Gets the revision identifier of the entity.

Return Value

The

revision identifier of the entity, or NULL if the entity does not have a revision identifier.

int getLoadedRevisionId()

Gets the loaded Revision ID of the entity.

Return Value

int

The loaded Revision identifier of the entity, or NULL if the entity does not have a revision identifier.

$this updateLoadedRevisionId()

internal  
 

Updates the loaded Revision ID with the revision ID.

This method should not be used, it could unintentionally cause the original revision ID property value to be lost.

Return Value

$this

bool isDefaultRevision(bool $new_value = NULL)

Checks if this entity is the default revision.

Parameters

bool $new_value

(optional) A Boolean to (re)set the isDefaultRevision flag.

Return Value

bool

TRUE if the entity is the default revision, FALSE otherwise. If $new_value was passed, the previous value is returned.

bool wasDefaultRevision()

Checks whether the entity object was a default revision when it was saved.

Return Value

bool

TRUE if the entity object was a revision, FALSE otherwise.

bool isLatestRevision()

Checks if this entity is the latest revision.

Return Value

bool

TRUE if the entity is the latest revision, FALSE otherwise.

preSaveRevision(EntityStorageInterface $storage, stdClass $record)

Acts on a revision before it gets saved.

Parameters

EntityStorageInterface $storage

The entity storage object.

stdClass $record

The revision object.

bool isLatestTranslationAffectedRevision()

Checks whether this is the latest revision affecting this translation.

Return Value

bool

TRUE if this revision is the latest one affecting the active translation, FALSE otherwise.

$this setRevisionTranslationAffected(bool|null $affected)

Marks the current revision translation as affected.

Setting the revision translation affected flag through the setter or through the field directly will always enforce it, which will be used by the entity storage to determine if the flag should be recomputed or the set value should be used instead.

Parameters

bool|null $affected

The flag value. A NULL value can be specified to reset the current value and make sure a new value will be computed by the system.

Return Value

$this

See also

ContentEntityStorageBase::populateAffectedRevisionTranslations

bool isRevisionTranslationAffected()

Checks whether the current translation is affected by the current revision.

Return Value

bool

TRUE if the entity object is affected by the current revision, FALSE otherwise.

bool isRevisionTranslationAffectedEnforced()

internal  
 

Checks if the revision translation affected flag value has been enforced.

Return Value

bool

TRUE if revision translation affected flag is enforced, FALSE otherwise.

$this setRevisionTranslationAffectedEnforced(bool $enforced)

internal  
 

Enforces the revision translation affected flag value.

Note that this method call will not have any influence on the storage if the value of the revision translation affected flag is NULL which is used as an indication for the storage to recompute the flag.

Parameters

bool $enforced

If TRUE, the value of the revision translation affected flag will be enforced so that on entity save the entity storage will not recompute it. Otherwise the storage will recompute it.

Return Value

$this

See also

\Drupal\Core\Entity\ContentEntityInterface::setRevisionTranslationAffected()

bool isDefaultTranslationAffectedOnly()

Checks if untranslatable fields should affect only the default translation.

Return Value

bool

TRUE if untranslatable fields should affect only the default translation, FALSE otherwise.

$this setSyncing(bool $status)

Sets the status of the synchronization flag.

Parameters

bool $status

The status of the synchronization flag.

Return Value

$this

bool isSyncing()

Returns whether this entity is being changed as part of a synchronization.

If you are writing code that responds to a change in this entity (insert, update, delete, presave, etc.), and your code would result in a change to this entity itself, a configuration change (whether related to this entity, another entity, or non-entity configuration), you need to check and see if this entity change is part of a synchronization process, and skip executing your code if that is the case.

For example, \Drupal\node\Entity\NodeType::postSave() adds the default body field to newly created node type configuration entities, which is a configuration change. You would not want this code to run during an import, because imported entities were already given the body field when they were originally created, and the imported configuration includes all of their currently-configured fields. On the other hand, \Drupal\field\Entity\FieldStorageConfig::preSave() and the methods it calls make sure that the storage tables are created or updated for the field storage configuration entity, which is not a configuration change, and it must be done whether due to an import or not. So, the first method should check $entity->isSyncing() and skip executing if it returns TRUE, and the second should not perform this check.

Return Value

bool

TRUE if the configuration entity is being created, updated, or deleted through a synchronization process.

int getChangedTime()

Gets the timestamp of the last entity change for the current translation.

Return Value

int

The timestamp of the last entity save operation.

$this setChangedTime(int $timestamp)

Sets the timestamp of the last entity change for the current translation.

Parameters

int $timestamp

The timestamp of the last entity save operation.

Return Value

$this

int getChangedTimeAcrossTranslations()

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 Value

int

The timestamp of the last entity save operation across all translations.

UserInterface getOwner()

Returns the entity owner's user entity.

Return Value

UserInterface

The owner user entity.

$this setOwner(UserInterface $account)

Sets the entity owner's user entity.

Parameters

UserInterface $account

The owner user entity.

Return Value

$this

int|null getOwnerId()

Returns the entity owner's user ID.

Return Value

int|null

The owner user ID, or NULL in case the user ID field has not been set on the entity.

$this setOwnerId(int $uid)

Sets the entity owner's user ID.

Parameters

int $uid

The owner user id.

Return Value

$this

string getFilename()

Returns the name of the file.

This may differ from the basename of the URI if the file is renamed to avoid overwriting an existing file.

Return Value

string

Name of the file.

setFilename(string $filename)

Sets the name of the file.

Parameters

string $filename

The file name that corresponds to this file. May differ from the basename of the URI and changing the filename does not change the URI.

string getFileUri()

Returns the URI of the file.

Return Value

string

The URI of the file, e.g. public://directory/file.jpg.

setFileUri(string $uri)

Sets the URI of the file.

Parameters

string $uri

The URI of the file, e.g. public://directory/file.jpg. Does not change the location of the file.

string createFileUrl(bool $relative = TRUE)

Creates a file URL for the URI of this file.

Parameters

bool $relative

(optional) Whether the URL should be root-relative, defaults to TRUE.

Return Value

string

A string containing a URL that may be used to access the file.

See also

FileUrlGeneratorInterface

string getMimeType()

Returns the MIME type of the file.

Return Value

string

The MIME type of the file, e.g. image/jpeg or text/xml.

setMimeType(string $mime)

Sets the MIME type of the file.

Parameters

string $mime

The MIME type of the file, e.g. image/jpeg or text/xml.

string getSize()

Returns the size of the file.

Return Value

string

The size of the file in bytes.

setSize(int $size)

Sets the size of the file.

Parameters

int $size

The size of the file in bytes.

bool isPermanent()

Returns TRUE if the file is permanent.

Return Value

bool

TRUE if the file status is permanent.

bool isTemporary()

Returns TRUE if the file is temporary.

Return Value

bool

TRUE if the file status is temporary.

setPermanent()

Sets the file status to permanent.

setTemporary()

Sets the file status to temporary.

int getCreatedTime()

Returns the file entity creation timestamp.

Return Value

int

Creation timestamp of the file entity.