/** * Constructs a ContentEntityDatabaseStorage object. * * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type * The entity type definition. * @param \Drupal\Core\Database\Connection $database * The database connection to be used. * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager * The entity manager. * @param \Drupal\Core\Cache\CacheBackendInterface $cache_backend * The cache backend to be used. */ public function __construct(EntityTypeInterface $entity_type, Connection $database, EntityManagerInterface $entity_manager, CacheBackendInterface $cache) { parent::__construct($entity_type); $this->database = $database; $this->entityManager = $entity_manager; $this->cacheBackend = $cache; // @todo Remove table names from the entity type definition in // https://drupal.org/node/2232465 $this->baseTable = $this->entityType->getBaseTable() ?: $this->entityTypeId; $revisionable = $this->entityType->isRevisionable(); if ($revisionable) { $this->revisionKey = $this->entityType->getKey('revision') ?: 'revision_id'; $this->revisionTable = $this->entityType->getRevisionTable() ?: $this->entityTypeId . '_revision'; } // @todo Remove the data table check once all entity types are using // entity query and we have a views data controller. See: // - https://drupal.org/node/2068325 // - https://drupal.org/node/1740492 $translatable = $this->entityType->isTranslatable() && $this->entityType->getDataTable(); if ($translatable) { $this->dataTable = $this->entityType->getDataTable() ?: $this->entityTypeId . '_field_data'; $this->langcodeKey = $this->entityType->getKey('langcode') ?: 'langcode'; $this->defaultLangcodeKey = $this->entityType->getKey('default_langcode') ?: 'default_langcode'; } if ($revisionable && $translatable) { $this->revisionDataTable = $this->entityType->getRevisionDataTable() ?: $this->entityTypeId . '_field_revision'; } }
/** * Constructs a SqlContentEntityStorage object. * * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type * The entity type definition. * @param \Drupal\Core\Database\Connection $database * The database connection to be used. * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager * The entity manager. * @param \Drupal\Core\Cache\CacheBackendInterface $cache_backend * The cache backend to be used. * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager * The language manager. */ public function __construct(EntityTypeInterface $entity_type, Connection $database, EntityManagerInterface $entity_manager, CacheBackendInterface $cache, LanguageManagerInterface $language_manager) { parent::__construct($entity_type, $entity_manager, $cache); $this->database = $database; $this->languageManager = $language_manager; $this->initTableLayout(); }
/** * Initialize the storage backend. * * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type * The entity type this storage is about. * @param \Drupal\rdf_entity\Database\Driver\sparql\Connection $sparql * The connection object. * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager * The entity manager service. * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager * The entity type manager service. * @param \Drupal\Core\Cache\CacheBackendInterface $cache * The cache backend service. * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager * The language manager service. * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler * The module handler service. * @param \Drupal\rdf_entity\RdfGraphHandler $rdf_graph_handler * The rdf graph helper service. * @param \Drupal\rdf_entity\RdfMappingHandler $rdf_mapping_handler * The rdf mapping helper service. */ public function __construct(EntityTypeInterface $entity_type, Connection $sparql, EntityManagerInterface $entity_manager, EntityTypeManagerInterface $entity_type_manager, CacheBackendInterface $cache, LanguageManagerInterface $language_manager, ModuleHandlerInterface $module_handler, RdfGraphHandler $rdf_graph_handler, RdfMappingHandler $rdf_mapping_handler) { parent::__construct($entity_type, $entity_manager, $cache); $this->sparql = $sparql; $this->languageManager = $language_manager; $this->entityTypeManager = $entity_type_manager; $this->moduleHandler = $module_handler; $this->graphHandler = $rdf_graph_handler; $this->mappingHandler = $rdf_mapping_handler; }