Passed
Pull Request — master (#4)
by Gordon
08:08
created

SearcherBase   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 62
Duplicated Lines 0 %

Importance

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

6 Methods

Rating   Name   Duplication   Size   Complexity  
A setFilters() 0 3 1
A setHasManyTokens() 0 3 1
A setPageSize() 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
use Suilven\FreeTextSearch\Interfaces\Searcher;
14
15
abstract class SearcherBase implements Searcher
16
{
17
    /** @var array<string,string|int|float> $filters */
18
    private $filters;
19
20
    /** @var int */
21
    private $pageSize;
22
23
    /** @var int */
24
    private $page;
25
26
    /** @var string */
27
    private $indexName;
28
29
    /** @var array<string,string> */
30
    private $facettedTokens;
31
32
    /** @var array<string> */
33
    private $hasManyTokens;
34
35
36
    abstract public function search(string $q): SearchResults;
37
38
39
    /** @param array<string,string|int|float> $filters */
40
    public function setFilters(array $filters): void
41
    {
42
        $this->filters = $filters;
43
    }
44
45
46
    public function setPageSize(int $pageSize): void
47
    {
48
        $this->pageSize = $pageSize;
49
    }
50
51
52
    public function setIndexName(string $indexName): void
53
    {
54
        $this->indexName = $indexName;
55
    }
56
57
58
59
    /** @param array<string,string> $facettedTokens */
60
61
    public function setFacettedTokens(array $facettedTokens): void
62
    {
63
        $this->facettedTokens = $facettedTokens;
64
    }
65
66
67
    /** @param array<string> $hasManyTokens */
68
    public function setHasManyTokens(array $hasManyTokens): void
69
    {
70
        $this->hasManyTokens = $hasManyTokens;
71
    }
72
73
74
    public function setPage(int $pageNumber): void
75
    {
76
        $this->page = $pageNumber;
77
    }
78
}
79