Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 5
CRAP
0.00% covered (danger)
0.00%
0 / 11
ConditionFundamentals
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 5
56
0.00% covered (danger)
0.00%
0 / 11
 __construct
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 4
 getConjunction
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 count
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 conditions
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 __clone
0.00% covered (danger)
0.00%
0 / 1
12
0.00% covered (danger)
0.00%
0 / 4
<?php
/**
 * @file
 * Contains \Drupal\Core\Entity\Query\ConditionFundamentals.
 */
namespace Drupal\Core\Entity\Query;
/**
 * Common code for all implementations of the entity query condition interfaces.
 */
abstract class ConditionFundamentals {
  /**
   * Array of conditions.
   *
   * @var array
   */
  protected $conditions = array();
  /**
   * The conjunction of this condition group. The value is one of the following:
   *
   * - AND (default)
   * - OR
   *
   * @var string
   */
  protected $conjunction;
  /**
   * The query this condition belongs to.
   *
   * @var \Drupal\Core\Entity\Query\QueryInterface
   */
  protected $query;
  /**
   * List of potential namespaces of the classes belonging to this condition.
   *
   * @var array
   */
  protected $namespaces = array();
  /**
   * Constructs a Condition object.
   *
   * @param string $conjunction
   *   The operator to use to combine conditions: 'AND' or 'OR'.
   * @param QueryInterface $query
   *   The entity query this condition belongs to.
   * @param array $namespaces
   *   List of potential namespaces of the classes belonging to this condition.
   */
  public function __construct($conjunction, QueryInterface $query, $namespaces = []) {
    $this->conjunction = $conjunction;
    $this->query = $query;
    $this->namespaces = $namespaces;
  }
  /**
   * {@inheritdoc}
   */
  public function getConjunction() {
    return $this->conjunction;
  }
  /**
   * {@inheritdoc}
   */
  public function count() {
    return count($this->conditions) - 1;
  }
  /**
   * {@inheritdoc}
   */
  public function &conditions() {
    return $this->conditions;
  }
  /**
   * Implements the magic __clone function.
   *
   * Makes sure condition groups are cloned as well.
   */
  public function __clone() {
    foreach ($this->conditions as $key => $condition) {
      if ($condition['field'] instanceof ConditionInterface) {
        $this->conditions[$key]['field'] = clone($condition['field']);
      }
    }
  }
}