Passed
Pull Request — master (#16)
by
unknown
03:22
created

Factory   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Test Coverage

Coverage 83.33%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 12
c 1
b 0
f 0
dl 0
loc 27
ccs 10
cts 12
cp 0.8333
rs 10
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A injectConfigurationProvider() 0 6 2
A createServer() 0 8 1
1
<?php
2
3
namespace Aoe\Asdis\Domain\Model\Server;
4
5
use Aoe\Asdis\Domain\Model\Server;
6
use Aoe\Asdis\System\Configuration\Provider;
7
use Exception;
8
use TYPO3\CMS\Core\Utility\GeneralUtility;
9
10
/**
11
 * Factory for server objects.
12
 */
13
class Factory
14
{
15
    private ?string $protocolMarker = '';
16
17 1
    public function injectConfigurationProvider(Provider $configurationProvider): void
18
    {
19
        try {
20 1
            $this->protocolMarker = $configurationProvider->getServerProtocolMarker();
21
        } catch (Exception $exception) {
22
            $this->protocolMarker = '';
23
        }
24 1
    }
25
26
    /**
27
     * @param string $identifier
28
     * @param string $domain
29
     * @param string $protocol
30
     * @return \Aoe\Asdis\Domain\Model\Server
31
     */
32 1
    public function createServer($identifier, $domain, $protocol)
33
    {
34 1
        $server = GeneralUtility::makeInstance(Server::class);
35 1
        $server->setIdentifier($identifier);
36 1
        $server->setDomain($domain);
37 1
        $server->setProtocol($protocol);
38 1
        $server->setProtocolMarker($this->protocolMarker);
39 1
        return $server;
40
    }
41
}
42