Passed
Pull Request — master (#17)
by Gordon
03:48
created

Searcher   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 62
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 6
eloc 13
c 0
b 0
f 0
dl 0
loc 62
rs 10

6 Methods

Rating   Name   Duplication   Size   Complexity  
A setHasManyTokens() 0 3 1
A setPageSize() 0 3 1
A setFilters() 0 3 1
A setPage() 0 3 1
A setFacettedTokens() 0 3 1
A setIndexName() 0 3 1
1
<?php declare(strict_types = 1);
2
3
/**
4
 * Created by PhpStorm.
5
 * User: gordon
6
 * Date: 25/3/2561
7
 * Time: 17:01 น.
8
 */
9
10
namespace Suilven\FreeTextSearch\Base;
11
12
use Suilven\FreeTextSearch\Container\SearchResults;
13
14
abstract class Searcher implements \Suilven\FreeTextSearch\Interfaces\Searcher
15
{
16
    /** @var array<string,string|int|float> $filters */
17
    protected $filters;
18
19
    /** @var int */
20
    protected $pageSize;
21
22
    /** @var int */
23
    protected $page;
24
25
    /** @var string */
26
    protected $indexName;
27
28
    /** @var array<string,string> */
29
    protected $facettedTokens;
30
31
    /** @var array<string> */
32
    protected $hasManyTokens;
33
34
35
    abstract public function search(?string $q): SearchResults;
36
37
38
    /** @param array<string,string|int|float> $filters */
39
    public function setFilters(array $filters): void
40
    {
41
        $this->filters = $filters;
42
    }
43
44
45
    public function setPageSize(int $pageSize): void
46
    {
47
        $this->pageSize = $pageSize;
48
    }
49
50
51
    public function setIndexName(string $indexName): void
52
    {
53
        $this->indexName = $indexName;
54
    }
55
56
57
58
    /** @param array<string,string> $facettedTokens */
59
60
    public function setFacettedTokens(array $facettedTokens): void
61
    {
62
        $this->facettedTokens = $facettedTokens;
63
    }
64
65
66
    /** @param array<string> $hasManyTokens */
67
    public function setHasManyTokens(array $hasManyTokens): void
68
    {
69
        $this->hasManyTokens = $hasManyTokens;
70
    }
71
72
73
    public function setPage(int $pageNumber): void
74
    {
75
        $this->page = $pageNumber;
76
    }
77
}
78