annotate core/modules/jsonapi/src/Query/EntityConditionGroup.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents af1871eacc83
children
rev   line source
Chris@18 1 <?php
Chris@18 2
Chris@18 3 namespace Drupal\jsonapi\Query;
Chris@18 4
Chris@18 5 /**
Chris@18 6 * A condition group for the EntityQuery.
Chris@18 7 *
Chris@18 8 * @internal JSON:API maintains no PHP API since its API is the HTTP API. This
Chris@18 9 * class may change at any time and this will break any dependencies on it.
Chris@18 10 *
Chris@18 11 * @see https://www.drupal.org/project/jsonapi/issues/3032787
Chris@18 12 * @see jsonapi.api.php
Chris@18 13 */
Chris@18 14 class EntityConditionGroup {
Chris@18 15
Chris@18 16 /**
Chris@18 17 * The AND conjunction value.
Chris@18 18 *
Chris@18 19 * @var array
Chris@18 20 */
Chris@18 21 protected static $allowedConjunctions = ['AND', 'OR'];
Chris@18 22
Chris@18 23 /**
Chris@18 24 * The conjunction.
Chris@18 25 *
Chris@18 26 * @var string
Chris@18 27 */
Chris@18 28 protected $conjunction;
Chris@18 29
Chris@18 30 /**
Chris@18 31 * The members of the condition group.
Chris@18 32 *
Chris@18 33 * @var \Drupal\jsonapi\Query\EntityCondition[]
Chris@18 34 */
Chris@18 35 protected $members;
Chris@18 36
Chris@18 37 /**
Chris@18 38 * Constructs a new condition group object.
Chris@18 39 *
Chris@18 40 * @param string $conjunction
Chris@18 41 * The group conjunction to use.
Chris@18 42 * @param array $members
Chris@18 43 * (optional) The group conjunction to use.
Chris@18 44 */
Chris@18 45 public function __construct($conjunction, array $members = []) {
Chris@18 46 if (!in_array($conjunction, self::$allowedConjunctions)) {
Chris@18 47 throw new \InvalidArgumentException('Allowed conjunctions: AND, OR.');
Chris@18 48 }
Chris@18 49 $this->conjunction = $conjunction;
Chris@18 50 $this->members = $members;
Chris@18 51 }
Chris@18 52
Chris@18 53 /**
Chris@18 54 * The condition group conjunction.
Chris@18 55 *
Chris@18 56 * @return string
Chris@18 57 * The condition group conjunction.
Chris@18 58 */
Chris@18 59 public function conjunction() {
Chris@18 60 return $this->conjunction;
Chris@18 61 }
Chris@18 62
Chris@18 63 /**
Chris@18 64 * The members which belong to the the condition group.
Chris@18 65 *
Chris@18 66 * @return \Drupal\jsonapi\Query\EntityCondition[]
Chris@18 67 * The member conditions of this condition group.
Chris@18 68 */
Chris@18 69 public function members() {
Chris@18 70 return $this->members;
Chris@18 71 }
Chris@18 72
Chris@18 73 }