Passed
Push — master ( 79fc7e...55473d )
by Joas
12:07 queued 12s
created

SearchQuery::getRouteParameters()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
/**
6
 * @copyright 2020 Christoph Wurst <[email protected]>
7
 *
8
 * @author 2020 Christoph Wurst <[email protected]>
9
 *
10
 * @license GNU AGPL version 3 or any later version
11
 *
12
 * This program is free software: you can redistribute it and/or modify
13
 * it under the terms of the GNU Affero General Public License as
14
 * published by the Free Software Foundation, either version 3 of the
15
 * License, or (at your option) any later version.
16
 *
17
 * This program is distributed in the hope that it will be useful,
18
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
 * GNU Affero General Public License for more details.
21
 *
22
 * You should have received a copy of the GNU Affero General Public License
23
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
24
 */
25
26
namespace OC\Search;
27
28
use OCP\Search\ISearchQuery;
29
30
class SearchQuery implements ISearchQuery {
31
	public const LIMIT_DEFAULT = 5;
32
33
	/** @var string */
34
	private $term;
35
36
	/** @var int */
37
	private $sortOrder;
38
39
	/** @var int */
40
	private $limit;
41
42
	/** @var int|string|null */
43
	private $cursor;
44
45
	/** @var string */
46
	private $route;
47
48
	/** @var array */
49
	private $routeParameters;
50
51
	/**
52
	 * @param string $term
53
	 * @param int $sortOrder
54
	 * @param int $limit
55
	 * @param int|string|null $cursor
56
	 * @param string $route
57
	 * @param array $routeParameters
58
	 */
59
	public function __construct(string $term,
60
								int $sortOrder = ISearchQuery::SORT_DATE_DESC,
61
								int $limit = self::LIMIT_DEFAULT,
62
								$cursor = null,
63
								string $route = '',
64
								array $routeParameters = []) {
65
		$this->term = $term;
66
		$this->sortOrder = $sortOrder;
67
		$this->limit = $limit;
68
		$this->cursor = $cursor;
69
		$this->route = $route;
70
		$this->routeParameters = $routeParameters;
71
	}
72
73
	/**
74
	 * @inheritDoc
75
	 */
76
	public function getTerm(): string {
77
		return $this->term;
78
	}
79
80
	/**
81
	 * @inheritDoc
82
	 */
83
	public function getSortOrder(): int {
84
		return $this->sortOrder;
85
	}
86
87
	/**
88
	 * @inheritDoc
89
	 */
90
	public function getLimit(): int {
91
		return $this->limit;
92
	}
93
94
	/**
95
	 * @inheritDoc
96
	 */
97
	public function getCursor() {
98
		return $this->cursor;
99
	}
100
101
	/**
102
	 * @inheritDoc
103
	 */
104
	public function getRoute(): string {
105
		return $this->route;
106
	}
107
108
	/**
109
	 * @inheritDoc
110
	 */
111
	public function getRouteParameters(): array {
112
		return $this->routeParameters;
113
	}
114
}
115