FilterUsedFixture::accept()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
/**
3
 * @link    https://github.com/nnx-framework/doctrine-fixture-module
4
 * @author  Malofeykin Andrey  <[email protected]>
5
 */
6
namespace Nnx\DoctrineFixtureModule\Filter;
7
8
use Doctrine\Fixture\Fixture;
9
use Doctrine\Fixture\Filter\Filter;
10
use Nnx\DoctrineFixtureModule\Executor\ExecutorInterface;
11
use Nnx\DoctrineFixtureModule\FilterUsedFixtureService\FilterUsedFixtureServiceInterface;
12
13
/**
14
 * Class FilterUsedFixture
15
 *
16
 * @package Nnx\DoctrineFixtureModule\Filter
17
 */
18
class FilterUsedFixture
19
    implements Filter
0 ignored issues
show
Coding Style introduced by
The implements keyword must be on the same line as the class name
Loading history...
20
{
21
    /**
22
     * @var ExecutorInterface
23
     */
24
    protected $contextExecutor;
25
26
    /**
27
     * Сервис позволяющий получить информацию о уже выполенных фикстурах
28
     *
29
     * @var FilterUsedFixtureServiceInterface
30
     */
31
    protected $filterUsedFixtureService;
32
33
    /**
34
     * FilterUsedFixture constructor.
35
     *
36
     * @param ExecutorInterface                 $contextExecutor
37
     * @param FilterUsedFixtureServiceInterface $filterUsedFixtureService
38
     */
39
    public function __construct(ExecutorInterface $contextExecutor, FilterUsedFixtureServiceInterface $filterUsedFixtureService)
40
    {
41
        $this->setFilterUsedFixtureService($filterUsedFixtureService);
42
        $this->setContextExecutor($contextExecutor);
43
    }
44
45
46
    /**
47
     * @inheritDoc
48
     */
49
    public function accept(Fixture $fixture)
50
    {
51
        return !$this->getFilterUsedFixtureService()->isUsedFixture($fixture, $this->getContextExecutor());
52
    }
53
54
    /**
55
     * Возвращает Executor в контексте которого запущен фильтр
56
     *
57
     * @return ExecutorInterface
58
     */
59
    public function getContextExecutor()
60
    {
61
        return $this->contextExecutor;
62
    }
63
64
    /**
65
     * Устанавливает Executor в контексте которого запущен фильтр
66
     *
67
     * @param ExecutorInterface $contextExecutor
68
     *
69
     * @return $this
70
     */
71
    public function setContextExecutor(ExecutorInterface $contextExecutor)
72
    {
73
        $this->contextExecutor = $contextExecutor;
74
75
        return $this;
76
    }
77
78
    /**
79
     * Возвращает сервис позволяющий получить информацию о уже выполенных фикстурах
80
     *
81
     * @return FilterUsedFixtureServiceInterface
82
     */
83
    public function getFilterUsedFixtureService()
84
    {
85
        return $this->filterUsedFixtureService;
86
    }
87
88
    /**
89
     *  Устанавливает сервис позволяющий получить информацию о уже выполенных фикстурах
90
     *
91
     * @param FilterUsedFixtureServiceInterface $filterUsedFixtureService
92
     *
93
     * @return $this
94
     */
95
    public function setFilterUsedFixtureService($filterUsedFixtureService)
96
    {
97
        $this->filterUsedFixtureService = $filterUsedFixtureService;
98
99
        return $this;
100
    }
101
}
102