Config::disableXsdValidation()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 1
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
ccs 1
cts 1
cp 1
crap 1
rs 10
c 0
b 0
f 0
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