AbstractBusinessFactory::getReader()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
ccs 0
cts 2
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 2
1
<?php
2
declare(strict_types=1);
3
4
namespace Xervice\Core\Business\Model\Factory;
5
6
7
use Xervice\Core\Business\Model\Config\ConfigInterface;
8
use Xervice\Core\Business\Model\Dependency\DependencyContainerInterface;
9
use Xervice\Core\Business\Model\Persistence\Reader\ReaderInterface;
10
use Xervice\Core\Business\Model\Persistence\Writer\WriterInterface;
11
12
class AbstractBusinessFactory implements FactoryInterface
13
{
14
    /**
15
     * @var \Xervice\Core\Business\Model\Config\ConfigInterface
16
     */
17
    protected $config;
18
19
    /**
20
     * @var \Xervice\Core\Business\Model\Dependency\DependencyContainerInterface
21
     */
22
    protected $container;
23
24
    /**
25
     * @var \Xervice\Core\Business\Model\Persistence\Reader\ReaderInterface
26
     */
27
    protected $reader;
28
29
    /**
30
     * @var \Xervice\Core\Business\Model\Persistence\Writer\WriterInterface
31
     */
32
    protected $writer;
33
34
    /**
35
     * AbstractBusinessFactory constructor.
36
     *
37
     * @param \Xervice\Core\Business\Model\Config\ConfigInterface $config
38
     * @param \Xervice\Core\Business\Model\Dependency\DependencyContainerInterface $container
39
     * @param \Xervice\Core\Business\Model\Persistence\Reader\ReaderInterface $reader
40
     * @param \Xervice\Core\Business\Model\Persistence\Writer\WriterInterface $writer
41
     */
42 3
    public function __construct(
43
        ConfigInterface $config,
44
        DependencyContainerInterface $container,
45
        ReaderInterface $reader,
46
        WriterInterface $writer
47
    ) {
48 3
        $this->config = $config;
49 3
        $this->container = $container;
50 3
        $this->reader = $reader;
51 3
        $this->writer = $writer;
52 3
    }
53
54
55
    /**
56
     * @return \Xervice\Core\Business\Model\Config\ConfigInterface
57
     */
58
    protected function getConfig(): ConfigInterface
59
    {
60
        return $this->config;
61
    }
62
63
    /**
64
     * @param string $key
65
     *
66
     * @return mixed
67
     */
68
    protected function getDependency(string $key)
69
    {
70
        return $this->container->get($key);
71
    }
72
73
    /**
74
     * @return \Xervice\Core\Business\Model\Persistence\Reader\ReaderInterface
75
     */
76
    public function getReader(): ReaderInterface
77
    {
78
        return $this->reader;
79
    }
80
81
    /**
82
     * @return \Xervice\Core\Business\Model\Persistence\Writer\WriterInterface
83
     */
84
    public function getWriter(): WriterInterface
85
    {
86
        return $this->writer;
87
    }
88
89
90
}