KernelBusinessFactory   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 4
eloc 8
dl 0
loc 35
ccs 9
cts 9
cp 1
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getServiceProvider() 0 7 2
A getServiceList() 0 3 1
A createServiceProvider() 0 4 1
1
<?php
2
3
4
namespace Xervice\Kernel\Business;
5
6
7
use Xervice\Core\Business\Model\Factory\AbstractBusinessFactory;
8
use Xervice\Kernel\Business\Model\Service\ServiceProvider;
9
use Xervice\Kernel\Business\Model\Service\ServiceProviderInterface;
10
use Xervice\Kernel\KernelDependencyProvider;
11
12
class KernelBusinessFactory extends AbstractBusinessFactory
13
{
14
    /**
15
     * @var ServiceProviderInterface
16
     */
17
    private $serviceProvider;
18
19
    /**
20
     * @return \Xervice\Kernel\Business\Model\Service\ServiceProviderInterface
21
     */
22 1
    public function createServiceProvider(): ServiceProviderInterface
23
    {
24 1
        return new ServiceProvider(
25 1
            $this->getServiceList()
26
        );
27
    }
28
29
    /**
30
     * @return \Xervice\Kernel\Business\Model\Service\ServiceProviderInterface
31
     */
32 1
    public function getServiceProvider(): ServiceProviderInterface
33
    {
34 1
        if ($this->serviceProvider === null) {
35 1
            $this->serviceProvider = $this->createServiceProvider();
36
        }
37
38 1
        return $this->serviceProvider;
39
    }
40
41
    /**
42
     * @return array
43
     */
44 1
    public function getServiceList(): array
45
    {
46 1
        return $this->getDependency(KernelDependencyProvider::SERVICES);
47
    }
48
}