QueryFactory.php

Namespace

Drupal\Core\Entity\KeyValueStore\Query

File

core/lib/Drupal/Core/Entity/KeyValueStore/Query/QueryFactory.php

View source
<?php

namespace Drupal\Core\Entity\KeyValueStore\Query;

use Drupal\Core\Entity\EntityTypeInterface;
use Drupal\Core\Entity\Query\QueryException;
use Drupal\Core\Entity\Query\QueryFactoryInterface;
use Drupal\Core\KeyValueStore\KeyValueFactoryInterface;

/**
 * Provides a factory for creating the key value entity query.
 */
class QueryFactory implements QueryFactoryInterface {
  
  /**
   * The key value factory.
   *
   * @var \Drupal\Core\KeyValueStore\KeyValueFactoryInterface
   */
  protected $keyValueFactory;
  
  /**
   * The namespace of this class, the parent class etc.
   *
   * @var array
   */
  protected $namespaces;
  
  /**
   * Constructs a QueryFactory object.
   */
  public function __construct(KeyValueFactoryInterface $key_value_factory) {
    $this->keyValueFactory = $key_value_factory;
    $this->namespaces = Query::getNamespaces($this);
  }
  
  /**
   * {@inheritdoc}
   */
  public function get(EntityTypeInterface $entity_type, $conjunction) {
    return new Query($entity_type, $conjunction, $this->namespaces, $this->keyValueFactory);
  }
  
  /**
   * {@inheritdoc}
   */
  public function getAggregate(EntityTypeInterface $entity_type, $conjunction) {
    throw new QueryException('Aggregation over key-value entity storage is not supported');
  }

}

Classes

Title Deprecated Summary
QueryFactory Provides a factory for creating the key value entity query.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.