ContentEntityNullStorage
class ContentEntityNullStorage extends ContentEntityStorageBase (View source)
Defines a null entity storage.
Used for content entity types that have no storage.
Traits
Provides a standard way to announce deprecated properties.
Wrapper methods for \Drupal\Core\StringTranslation\TranslationInterface.
Provides dependency injection friendly methods for serialization.
Properties
| protected TranslationInterface | $stringTranslation | The string translation service. |
from StringTranslationTrait |
| protected array | $_serviceIds | An array of service IDs keyed by property name used for serialization. |
from DependencySerializationTrait |
| protected array | $_entityStorages | An array of entity type IDs keyed by the property name of their storages. |
from DependencySerializationTrait |
| protected ModuleHandlerInterface | $moduleHandler | The module handler to invoke hooks on. |
from EntityHandlerBase |
| protected string | $entityTypeId | Entity type ID for this storage. |
from EntityStorageBase |
| protected EntityTypeInterface | $entityType | Information about the entity type. |
from EntityStorageBase |
| protected string | $idKey | Name of the entity's ID field in the entity database table. |
from EntityStorageBase |
| protected string | $uuidKey | Name of entity's UUID database table field, if it supports UUIDs. |
from EntityStorageBase |
| protected string | $langcodeKey | The name of the entity langcode property. |
from EntityStorageBase |
| protected UuidInterface | $uuidService | The UUID service. |
from EntityStorageBase |
| protected string | $entityClass | Name of the entity class. |
from EntityStorageBase |
| protected MemoryCacheInterface | $memoryCache | The memory cache. |
from EntityStorageBase |
| protected string | $memoryCacheTag | The memory cache cache tag. |
from EntityStorageBase |
| protected | $deprecatedProperties | {@inheritdoc} | from ContentEntityStorageBase |
| protected string|bool | $bundleKey | The entity bundle key. |
from ContentEntityStorageBase |
| protected EntityFieldManagerInterface | $entityFieldManager | The entity field manager service. |
from ContentEntityStorageBase |
| protected EntityTypeBundleInfoInterface | $entityTypeBundleInfo | The entity bundle info. |
from ContentEntityStorageBase |
| protected CacheBackendInterface | $cacheBackend | Cache backend. |
from ContentEntityStorageBase |
| protected array | $latestRevisionIds | Stores the latest revision IDs for entities. |
from ContentEntityStorageBase |
Methods
Translates a string to the current language or to a given language.
Formats a string containing a count of items.
Returns the number of plurals supported by a given language.
Gets the string translation service.
Constructs a ContentEntityStorageBase object.
Builds the cache ID for the passed in entity ID.
Loads an unchanged entity from the database.
Resets the internal, static entity cache.
Gets entities from the static cache.
Constructs a new entity object, without permanently saving it.
Performs storage-specific creation of entities.
Loads one entity.
Loads one or more entities.
Performs storage-specific loading of entities.
Gathers entities from a 'preload' step.
Maps from storage records to entity objects.
Deletes permanently saved entities.
Load entities by their property values.
Determines if the storage contains any data.
Gets an entity query instance.
Gets an aggregated query instance.
Gets the name of the service for the query for this entity storage.
Instantiates a new instance of this entity handler.
Creates an entity with sample field values.
Initializes field values.
Checks whether any entity revision is translated.
Checks whether any stored entity revision is translated.
Constructs a new entity translation object, without permanently saving it.
Creates a new revision starting off from the specified entity object.
Returns an array of field names to skip when merging revision translations.
Returns the latest revision identifier for an entity.
Returns the latest revision affecting the specified translation.
Reacts to the creation of a field storage definition.
Reacts to the update of a field storage definition.
Reacts to the deletion of a field storage definition.
Reacts to the creation of a field.
Reacts to the update of a field.
Reacts to the deletion of a field.
Purges a batch of field data.
Reads values to be purged for a single field.
Removes field items from storage per entity during purge.
Performs final cleanup after all data of a field has been purged.
Load a specific entity revision.
Loads multiple entity revisions.
Actually loads revision field item values from the storage.
Actually loads revision field item values from the storage.
Writes entity field values to the storage.
Deletes entity field values from the storage.
Delete a specific entity revision.
Deletes field values of an entity revision from the storage.
Checks translation statuses and invoke the related hooks if needed.
Invokes hook_entity_storage_load().
Invokes a method on the Field objects within an entity.
Invokes the post save method on the Field objects within an entity.
Checks whether the field values changed compared to the original entity.
Populates the affected flag for all the revision translations.
Ensures integer entity key values are valid.
Gets entities from the persistent cache backend.
Stores entities in the persistent cache backend.
Determines the number of entities with values for a given field.
Details
protected TranslatableMarkup
t(string $string, array $args = [], array $options = [])
Translates a string to the current language or to a given language.
See \Drupal\Core\StringTranslation\TranslatableMarkup::__construct() for important security information and usage guidelines.
In order for strings to be localized, make them available in one of the ways supported by the
protected
formatPlural($count, $singular, $plural, array $args = [], array $options = [])
Formats a string containing a count of items.
protected
getNumberOfPlurals($langcode = NULL)
Returns the number of plurals supported by a given language.
protected TranslationInterface
getStringTranslation()
Gets the string translation service.
$this
setStringTranslation(TranslationInterface $translation)
Sets the string translation service to use.
__sleep()
{@inheritdoc}
__wakeup()
{@inheritdoc}
protected ModuleHandlerInterface
moduleHandler()
Gets the module handler.
$this
setModuleHandler(ModuleHandlerInterface $module_handler)
Sets the module handler for this handler.
__construct(EntityTypeInterface $entity_type, EntityFieldManagerInterface $entity_field_manager, CacheBackendInterface $cache, MemoryCacheInterface $memory_cache = NULL, EntityTypeBundleInfoInterface $entity_type_bundle_info = NULL)
Constructs a ContentEntityStorageBase object.
string
getEntityTypeId()
Gets the entity type ID.
EntityTypeInterface
getEntityType()
Gets the entity type definition.
protected string
buildCacheId(int $id)
Builds the cache ID for the passed in entity ID.
EntityInterface|null
loadUnchanged(mixed $id)
Loads an unchanged entity from the database.
resetCache(array $ids = NULL)
Resets the internal, static entity cache.
protected EntityInterface[]
getFromStaticCache(array $ids)
Gets entities from the static cache.
protected
setStaticCache(array $entities)
Stores entities in the static entity cache.
protected
invokeHook(string $hook, EntityInterface $entity)
Invokes a hook on behalf of the entity.
EntityInterface
create(array $values = [])
Constructs a new entity object, without permanently saving it.
protected EntityInterface
doCreate(array $values)
Performs storage-specific creation of entities.
EntityInterface|null
load(mixed $id)
Loads one entity.
EntityInterface[]
loadMultiple(array $ids = NULL)
Loads one or more entities.
protected EntityInterface[]
doLoadMultiple(array $ids = NULL)
Performs storage-specific loading of entities.
Override this method to add custom functionality directly after loading. This is always called, while self::postLoad() is only called when there are actual results.
protected EntityInterface[]
preLoad(array $ids = NULL)
Gathers entities from a 'preload' step.
protected
postLoad(array $entities)
Attaches data to entities upon loading.
protected EntityInterface[]
mapFromStorageRecords(array $records)
Maps from storage records to entity objects.
protected bool
has(int|string $id, EntityInterface $entity)
Determines if this entity already exists in storage.
delete(array $entities)
Deletes permanently saved entities.
protected
doDelete(EntityInterface[] $entities)
Performs storage-specific entity deletion.
SAVED_NEW
save(EntityInterface $entity)
Saves the entity permanently.
protected int|string
doPreSave(EntityInterface $entity)
Performs presave entity processing.
protected bool|int
doSave(int|string $id, EntityInterface $entity)
Performs storage-specific saving of the entity.
protected
doPostSave(EntityInterface $entity, bool $update)
Performs post save entity processing.
restore(EntityInterface $entity)
Restores a previously saved entity.
Note that the entity is assumed to be in a valid state for the storage, so the restore process does not invoke any hooks, nor does it perform any pre or post-save operations.
protected
buildPropertyQuery(QueryInterface $entity_query, array $values)
Builds an entity query.
EntityInterface[]
loadByProperties(array $values = [])
Load entities by their property values.
bool
hasData()
Determines if the storage contains any data.
QueryInterface
getQuery(string $conjunction = 'AND')
Gets an entity query instance.
QueryAggregateInterface
getAggregateQuery(string $conjunction = 'AND')
Gets an aggregated query instance.
protected string
getQueryServiceName()
Gets the name of the service for the query for this entity storage.
__get($name)
Allows to access deprecated/removed properties.
This method must be public.
static EntityHandlerInterface
createInstance(ContainerInterface $container, EntityTypeInterface $entity_type)
Instantiates a new instance of this entity handler.
This is a factory method that returns a new instance of this object. The factory should pass any needed dependencies into the constructor of this object, but not the container itself. Every call to this method must return a new instance of this object; that is, it may not implement a singleton.
FieldableEntityInterface
createWithSampleValues(string|bool $bundle = FALSE, array $values = [])
Creates an entity with sample field values.
protected
initFieldValues(ContentEntityInterface $entity, array $values = [], array $field_names = [])
Initializes field values.
protected bool
isAnyRevisionTranslated(TranslatableInterface $entity)
Checks whether any entity revision is translated.
protected bool
isAnyStoredRevisionTranslated(TranslatableInterface $entity)
Checks whether any stored entity revision is translated.
A revisionable entity can have translations in a pending revision, hence the default revision may appear as not translated. This determines whether the entity has any translation in the storage and thus should be considered as multilingual.
ContentEntityInterface
createTranslation(ContentEntityInterface $entity, string $langcode, array $values = [])
Constructs a new entity translation object, without permanently saving it.
RevisionableInterface
createRevision(RevisionableInterface $entity, bool $default = TRUE, $keep_untranslatable_fields = NULL)
Creates a new revision starting off from the specified entity object.
protected array
getRevisionTranslationMergeSkippedFieldNames()
Returns an array of field names to skip when merging revision translations.
int|string|null
getLatestRevisionId(int|string $entity_id)
Returns the latest revision identifier for an entity.
int|string|null
getLatestTranslationAffectedRevisionId(int|string $entity_id, string $langcode)
Returns the latest revision affecting the specified translation.
onFieldStorageDefinitionCreate(FieldStorageDefinitionInterface $storage_definition)
Reacts to the creation of a field storage definition.
onFieldStorageDefinitionUpdate(FieldStorageDefinitionInterface $storage_definition, FieldStorageDefinitionInterface $original)
Reacts to the update of a field storage definition.
onFieldStorageDefinitionDelete(FieldStorageDefinitionInterface $storage_definition)
Reacts to the deletion of a field storage definition.
onFieldDefinitionCreate(FieldDefinitionInterface $field_definition)
Reacts to the creation of a field.
onFieldDefinitionUpdate(FieldDefinitionInterface $field_definition, FieldDefinitionInterface $original)
Reacts to the update of a field.
onFieldDefinitionDelete(FieldDefinitionInterface $field_definition)
Reacts to the deletion of a field.
Stored values should not be wiped at once, but marked as 'deleted' so that they can go through a proper purge process later on.
int
purgeFieldData(FieldDefinitionInterface $field_definition, int $batch_size)
Purges a batch of field data.
protected FieldItemListInterface[]
readFieldItemsToPurge(FieldDefinitionInterface $field_definition, $batch_size)
Reads values to be purged for a single field.
This method is called during field data purge, on fields for which onFieldDefinitionDelete() has previously run.
protected
purgeFieldItems(ContentEntityInterface $entity, FieldDefinitionInterface $field_definition)
Removes field items from storage per entity during purge.
finalizePurge(FieldStorageDefinitionInterface $storage_definition)
Performs final cleanup after all data of a field has been purged.
EntityInterface|null
loadRevision(int|string $revision_id)
Load a specific entity revision.
RevisionableInterface[]
loadMultipleRevisions(array $revision_ids)
Loads multiple entity revisions.
protected EntityInterface|null
doLoadRevisionFieldItems(int|string $revision_id)
Actually loads revision field item values from the storage.
protected EntityInterface[]
doLoadMultipleRevisionsFieldItems(array $revision_ids)
Actually loads revision field item values from the storage.
This method should always be overridden and not called either directly or from parent::doLoadMultipleRevisionsFieldItems. It will be marked abstract in drupal:9.0.0
protected
doSaveFieldItems(ContentEntityInterface $entity, array $names = [])
Writes entity field values to the storage.
This method is responsible for allocating entity and revision identifiers and updating the entity object with their values.
protected
doDeleteFieldItems(ContentEntityInterface[] $entities)
Deletes entity field values from the storage.
deleteRevision(int $revision_id)
Delete a specific entity revision.
A revision can only be deleted if it's not the currently active one.
protected
doDeleteRevisionFieldItems(ContentEntityInterface $revision)
Deletes field values of an entity revision from the storage.
protected
invokeTranslationHooks(ContentEntityInterface $entity)
Checks translation statuses and invoke the related hooks if needed.
protected
invokeStorageLoadHook(array $entities)
Invokes hook_entity_storage_load().
protected array
invokeFieldMethod(string $method, ContentEntityInterface $entity)
Invokes a method on the Field objects within an entity.
Any argument passed will be forwarded to the invoked method.
protected
invokeFieldPostSave(ContentEntityInterface $entity, bool $update)
Invokes the post save method on the Field objects within an entity.
protected bool
hasFieldValueChanged(FieldDefinitionInterface $field_definition, ContentEntityInterface $entity, ContentEntityInterface $original)
Checks whether the field values changed compared to the original entity.
protected
populateAffectedRevisionTranslations(ContentEntityInterface $entity)
Populates the affected flag for all the revision translations.
protected array
cleanIds(array $ids, string $entity_key = 'id')
Ensures integer entity key values are valid.
The identifier sanitization provided by this method has been introduced as Drupal used to rely on the database to facilitate this, which worked correctly with MySQL but led to errors with other DBMS such as PostgreSQL.
protected ContentEntityInterface[]
getFromPersistentCache(array $ids = NULL)
Gets entities from the persistent cache backend.
protected
setPersistentCache(ContentEntityInterface[] $entities)
Stores entities in the persistent cache backend.
bool|int
countFieldData(FieldStorageDefinitionInterface $storage_definition, bool $as_bool = FALSE)
Determines the number of entities with values for a given field.