Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
CRAP | |
0.00% |
0 / 9 |
QueryFactory | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
12 | |
0.00% |
0 / 9 |
__construct | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
get | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
getAggregate | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\Core\Entity\Query\Sql\QueryFactory. | |
*/ | |
namespace Drupal\Core\Entity\Query\Sql; | |
use Drupal\Core\Database\Connection; | |
use Drupal\Core\Entity\EntityTypeInterface; | |
use Drupal\Core\Entity\Query\QueryBase; | |
use Drupal\Core\Entity\Query\QueryFactoryInterface; | |
/** | |
* Factory class creating entity query objects for the SQL backend. | |
* | |
* @see \Drupal\Core\Entity\Query\Sql\Query | |
* @see \Drupal\Core\Entity\Query\Sql\QueryAggregate | |
*/ | |
class QueryFactory implements QueryFactoryInterface { | |
/** | |
* The database connection to use. | |
* | |
* @var \Drupal\Core\Database\Connection | |
*/ | |
protected $connection; | |
/** | |
* The namespace of this class, the parent class etc. | |
* | |
* @var array | |
*/ | |
protected $namespaces; | |
/** | |
* Constructs a QueryFactory object. | |
* | |
* @param \Drupal\Core\Database\Connection $connection | |
* The database connection used by the entity query. | |
*/ | |
public function __construct(Connection $connection) { | |
$this->connection = $connection; | |
$this->namespaces = QueryBase::getNamespaces($this); | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function get(EntityTypeInterface $entity_type, $conjunction) { | |
$class = QueryBase::getClass($this->namespaces, 'Query'); | |
return new $class($entity_type, $conjunction, $this->connection, $this->namespaces); | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function getAggregate(EntityTypeInterface $entity_type, $conjunction) { | |
$class = QueryBase::getClass($this->namespaces, 'QueryAggregate'); | |
return new $class($entity_type, $conjunction, $this->connection, $this->namespaces); | |
} | |
} |