Filter::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 1
Bugs 1 Features 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
c 1
b 1
f 0
1
<?php
2
/**
3
 * AnalyzerText package.
4
 *
5
 * @author  Peter Gribanov <[email protected]>
6
 */
7
8
namespace AnalyzerText\Filter;
9
10
use AnalyzerText\Text;
11
use AnalyzerText\Text\Word;
12
13
/**
14
 * Фильтр итератор
15
 *
16
 * @author  Peter Gribanov <[email protected]>
17
 */
18
abstract class Filter extends \FilterIterator
19
{
20
    /**
21
     * @param Text $text
22
     */
23 12
    public function __construct(Text $text)
24
    {
25 12
        parent::__construct($text);
26 12
    }
27
28
    /**
29
     * Возвращает текущее слово.
30
     *
31
     * @return Word
32
     */
33 12
    public function current()
34
    {
35 12
        return $this->getInnerIterator()->current();
36
    }
37
38
    /**
39
     * Возвращает текст
40
     *
41
     * @return Text
42
     */
43 12
    public function getText()
44
    {
45 12
        return $this->getInnerIterator();
46
    }
47
48
    /**
49
     * Возвращает текст
50
     *
51
     * @return Text
52
     */
53 12
    public function getInnerIterator()
54
    {
55 12
        return parent::getInnerIterator();
56
    }
57
58
    /**
59
     * Заменяет слово в тексте.
60
     *
61
     * @param Word $word Слово
62
     */
63
    protected function replace(Word $word)
64
    {
65
        $this->getInnerIterator()->replace($word);
66
    }
67
68
    /**
69
     * Возвращает предыдущее слово.
70
     *
71
     * @param int $shift Смещение
72
     *
73
     * @return Word|null
74
     */
75
    protected function getPreviousWord($shift = 1)
76
    {
77
        return $this->getText()->offsetGet($this->getText()->key() + $shift * -1);
78
    }
79
80
    /**
81
     * Возвращает следующее слово.
82
     *
83
     * @param int $shift Смещение
84
     *
85
     * @return Word|null
86
     */
87 6
    protected function getNextWord($shift = 1)
88
    {
89 6
        return $this->getText()->offsetGet($this->getText()->key() + $shift);
90
    }
91
}
92