QueryCollection   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 17
c 1
b 0
f 0
dl 0
loc 31
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __toString() 0 3 1
A jsonSerialize() 0 7 1
1
<?php
2
3
namespace olvlvl\ElasticsearchDSL\Query;
4
5
use ICanBoogie\Accessor\AccessorTrait;
6
use olvlvl\ElasticsearchDSL\Helpers;
7
8
class QueryCollection implements
9
	HasTextQueries,
10
	HasTermQueries,
11
	HasCompoundQueries,
12
	HasJoiningQueries,
13
	\JsonSerializable
14
{
15
	use AccessorTrait;
16
	use TextQueries;
17
	use TermQueries;
18
	use CompoundQueries;
19
	use JoiningQueries;
20
21
	/**
22
	 * @inheritdoc
23
	 */
24
	public function __toString()
25
	{
26
		return json_encode($this, JSON_PRETTY_PRINT);
27
	}
28
29
	/**
30
	 * @inheritdoc
31
	 */
32
	public function jsonSerialize()
33
	{
34
		return Helpers::merge_and_prefer_single(
35
			$this->jsonSerializeTextQueries(),
36
			$this->jsonSerializeTermQueries(),
37
			$this->jsonSerializeCompoundQueries(),
38
			$this->jsonSerializeJoiningQueries()
39
		);
40
	}
41
}
42