Passed
Push — feature/initial-implementation ( fae671...591f29 )
by Fike
02:37
created

Analysis::setTokenFilter()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
c 0
b 0
f 0
rs 10
cc 1
eloc 2
nc 1
nop 2
1
<?php
2
3
namespace AmaTeam\ElasticSearch\API\Indexing;
4
5
use AmaTeam\ElasticSearch\API\Indexing\Analysis\AnalyzerInterface;
6
use AmaTeam\ElasticSearch\API\Indexing\Analysis\CharacterFilterInterface;
7
use AmaTeam\ElasticSearch\API\Indexing\Analysis\TokenFilterInterface;
8
use AmaTeam\ElasticSearch\API\Indexing\Analysis\TokenizerInterface;
9
10
class Analysis implements AnalysisInterface
11
{
12
    /**
13
     * @var AnalyzerInterface[]
14
     */
15
    private $analyzers = [];
16
    /**
17
     * @var CharacterFilterInterface[]
18
     */
19
    private $characterFilters = [];
20
    /**
21
     * @var TokenizerInterface[]
22
     */
23
    private $tokenizers = [];
24
    /**
25
     * @var TokenFilterInterface[]
26
     */
27
    private $tokenFilters = [];
28
29
    /**
30
     * @return AnalyzerInterface[]
31
     */
32
    public function getAnalyzers(): array
33
    {
34
        return $this->analyzers;
35
    }
36
37
    public function getAnalyzer(string $name): ?AnalyzerInterface
38
    {
39
        return $this->analyzers[$name] ?? null;
40
    }
41
42
    /**
43
     * @param AnalyzerInterface[] $analyzers
44
     * @return $this
45
     */
46
    public function setAnalyzers(array $analyzers): Analysis
47
    {
48
        $this->analyzers = $analyzers;
49
        return $this;
50
    }
51
52
    public function setAnalyzer(string $name, AnalyzerInterface $analyzer): Analysis
53
    {
54
        $this->analyzers[$name] = $analyzer;
55
        return $this;
56
    }
57
58
    /**
59
     * @return CharacterFilterInterface[]
60
     */
61
    public function getCharacterFilters(): array
62
    {
63
        return $this->characterFilters;
64
    }
65
66
    public function getCharacterFilter(string $name): ?CharacterFilterInterface
67
    {
68
        return $this->characterFilters[$name] ?? null;
69
    }
70
71
    /**
72
     * @param CharacterFilterInterface[] $characterFilters
73
     * @return $this
74
     */
75
    public function setCharacterFilters(array $characterFilters): Analysis
76
    {
77
        $this->characterFilters = $characterFilters;
78
        return $this;
79
    }
80
81
    public function setCharacterFilter(string $name, CharacterFilterInterface $characterFilter): Analysis
82
    {
83
        $this->characterFilters[$name] = $characterFilter;
84
        return $this;
85
    }
86
87
    /**
88
     * @return TokenizerInterface[]
89
     */
90
    public function getTokenizers(): array
91
    {
92
        return $this->tokenizers;
93
    }
94
95
    public function getTokenizer(string $name): ?TokenizerInterface
96
    {
97
        return $this->tokenizers[$name] ?? null;
98
    }
99
100
    /**
101
     * @param TokenizerInterface[] $tokenizers
102
     * @return $this
103
     */
104
    public function setTokenizers(array $tokenizers): Analysis
105
    {
106
        $this->tokenizers = $tokenizers;
107
        return $this;
108
    }
109
110
    public function setTokenizer(string $name, TokenizerInterface $tokenizer): Analysis
111
    {
112
        $this->tokenizers[$name] = $tokenizer;
113
        return $this;
114
    }
115
116
    /**
117
     * @return TokenFilterInterface[]
118
     */
119
    public function getTokenFilters(): array
120
    {
121
        return $this->tokenFilters;
122
    }
123
124
    public function getTokenFilter(string $name): ?TokenFilterInterface
125
    {
126
        return $this->tokenFilters[$name] ?? null;
127
    }
128
129
    /**
130
     * @param TokenFilterInterface[] $tokenFilters
131
     * @return $this
132
     */
133
    public function setTokenFilters(array $tokenFilters): Analysis
134
    {
135
        $this->tokenFilters = $tokenFilters;
136
        return $this;
137
    }
138
139
    public function setTokenFilter(string $name, TokenFilterInterface $tokenFilter): Analysis
140
    {
141
        $this->tokenFilters[$name] = $tokenFilter;
142
        return $this;
143
    }
144
}
145