Passed
Push — master ( 7972a5...654cd1 )
by Christoph
11:53 queued 12s
created

SearchQuery::getSortOrder()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 2
rs 10
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 = 20;
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
	/**
46
	 * @param string $term
47
	 * @param int $sortOrder
48
	 * @param int $limit
49
	 * @param int|string|null $cursor
50
	 */
51
	public function __construct(string $term,
52
								int $sortOrder = ISearchQuery::SORT_DATE_DESC,
53
								int $limit = self::LIMIT_DEFAULT,
54
								$cursor = null) {
55
		$this->term = $term;
56
		$this->sortOrder = $sortOrder;
57
		$this->limit = $limit;
58
		$this->cursor = $cursor;
59
	}
60
61
	/**
62
	 * @inheritDoc
63
	 */
64
	public function getTerm(): string {
65
		return $this->term;
66
	}
67
68
	/**
69
	 * @inheritDoc
70
	 */
71
	public function getSortOrder(): int {
72
		return $this->sortOrder;
73
	}
74
75
	/**
76
	 * @inheritDoc
77
	 */
78
	public function getLimit(): int {
79
		return $this->limit;
80
	}
81
82
	/**
83
	 * @inheritDoc
84
	 */
85
	public function getCursor() {
86
		return $this->cursor;
87
	}
88
}
89