LoggerBusinessFactory   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 7
dl 0
loc 29
ccs 9
cts 9
cp 1
rs 10
c 0
b 0
f 0
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A createFileWriter() 0 5 1
A createLogProvider() 0 4 1
A getLogHandlerCollection() 0 3 1
1
<?php
2
declare(strict_types=1);
3
4
5
namespace Xervice\Logger\Business;
6
7
8
use Xervice\Core\Business\Model\Factory\AbstractBusinessFactory;
9
use Xervice\Logger\Business\Model\Handler\HandlerCollection;
10
use Xervice\Logger\Business\Model\Provider\LogProvider;
11
use Xervice\Logger\Business\Model\Provider\LogProviderInterface;
12
use Xervice\Logger\Business\Model\Writer\FileWriter;
13
use Xervice\Logger\Business\Model\Writer\FileWriterInterface;
14
use Xervice\Logger\LoggerDependencyProvider;
15
16
/**
17
 * @method \Xervice\Logger\LoggerConfig getConfig()
18
 */
19
class LoggerBusinessFactory extends AbstractBusinessFactory
20
{
21
    /**
22
     * @return \Xervice\Logger\Business\Model\Provider\LogProviderInterface
23
     */
24 1
    public function createLogProvider(): LogProviderInterface
25
    {
26 1
        return new LogProvider(
27 1
            $this->getLogHandlerCollection()
28
        );
29
    }
30
31
    /**
32
     * @return \Xervice\Logger\Business\Model\Writer\FileWriterInterface
33
     */
34 1
    public function createFileWriter(): FileWriterInterface
35
    {
36 1
        return new FileWriter(
37 1
            $this->getConfig()->getLogPath(),
38 1
            $this->getConfig()->getLogFilename()
39
        );
40
    }
41
42
    /**
43
     * @return \Xervice\Logger\Business\Model\Handler\HandlerCollection
44
     */
45 1
    public function getLogHandlerCollection(): HandlerCollection
46
    {
47 1
        return $this->getDependency(LoggerDependencyProvider::LOG_HANDLER);
48
    }
49
}