Config   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 49
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 5
Bugs 0 Features 0
Metric Value
eloc 21
c 5
b 0
f 0
dl 0
loc 49
rs 10
ccs 21
cts 21
cp 1
wmc 5

5 Methods

Rating   Name   Duplication   Size   Complexity  
A addMessageFormat() 0 3 1
A getXsdValidation() 0 3 1
A disableXsdValidation() 0 3 1
A getMessageFormats() 0 3 1
A getDefault() 0 17 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Genkgo\Camt;
6
7
use Genkgo\Camt\Camt052;
8
use Genkgo\Camt\Camt053;
9
use Genkgo\Camt\Camt054;
10
11
class Config
12
{
13
    /**
14
     * @var MessageFormatInterface[]
15
     */
16
    private array $messageFormats = [];
17
18
    private bool $xsdValidation = true;
19
20
    public function addMessageFormat(MessageFormatInterface $messageFormat): void
21
    {
22
        $this->messageFormats[] = $messageFormat;
23 6
    }
24
25 6
    /**
26 6
     * @return MessageFormatInterface[]
27
     */
28
    public function getMessageFormats(): array
29
    {
30
        return $this->messageFormats;
31 3
    }
32
33 3
    public function disableXsdValidation(): void
34
    {
35
        $this->xsdValidation = false;
36 2
    }
37
38 2
    public function getXsdValidation(): bool
39 2
    {
40
        return $this->xsdValidation;
41 4
    }
42
43 4
    public static function getDefault(): self
44
    {
45
        $config = new self();
46 4
        $config->addMessageFormat(new Camt052\MessageFormat\V01());
47
        $config->addMessageFormat(new Camt052\MessageFormat\V02());
48 4
        $config->addMessageFormat(new Camt052\MessageFormat\V04());
49 4
        $config->addMessageFormat(new Camt052\MessageFormat\V06());
50 4
        $config->addMessageFormat(new Camt052\MessageFormat\V08());
51 4
        $config->addMessageFormat(new Camt053\MessageFormat\V02());
52 4
        $config->addMessageFormat(new Camt053\MessageFormat\V03());
53 4
        $config->addMessageFormat(new Camt053\MessageFormat\V04());
54 4
        $config->addMessageFormat(new Camt053\MessageFormat\V08());
55 4
        $config->addMessageFormat(new Camt054\MessageFormat\V02());
56 4
        $config->addMessageFormat(new Camt054\MessageFormat\V04());
57
        $config->addMessageFormat(new Camt054\MessageFormat\V08());
58 4
59
        return $config;
60
    }
61
}
62