Address   A
last analyzed

Complexity

Total Complexity 11

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Test Coverage

Coverage 86.36%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 22
dl 0
loc 37
ccs 19
cts 22
cp 0.8636
rs 10
c 1
b 0
f 0
wmc 11

1 Method

Rating   Name   Duplication   Size   Complexity  
F createFromXml() 0 35 11
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Genkgo\Camt\Decoder\Factory\DTO;
6
7
use Genkgo\Camt\DTO;
8
use SimpleXMLElement;
9
10
class Address
11
{
12 24
    public static function createFromXml(SimpleXMLElement $xmlAddress): DTO\Address
13
    {
14 24
        $address = new DTO\Address();
15
16 24
        if (isset($xmlAddress->Ctry)) {
17 24
            $address = $address->setCountry((string) $xmlAddress->Ctry);
18
        }
19 24
        if (isset($xmlAddress->CtrySubDvsn)) {
20
            $address = $address->setCountrySubDivision((string) $xmlAddress->CtrySubDvsn);
21
        }
22 24
        if (isset($xmlAddress->Dept)) {
23
            $address = $address->setDepartment((string) $xmlAddress->Dept);
24
        }
25 24
        if (isset($xmlAddress->SubDept)) {
26
            $address = $address->setSubDepartment((string) $xmlAddress->SubDept);
27
        }
28 24
        if (isset($xmlAddress->StrtNm)) {
29 23
            $address = $address->setStreetName((string) $xmlAddress->StrtNm);
30
        }
31 24
        if (isset($xmlAddress->BldgNb)) {
32 7
            $address = $address->setBuildingNumber((string) $xmlAddress->BldgNb);
33
        }
34 24
        if (isset($xmlAddress->PstCd)) {
35 7
            $address = $address->setPostCode((string) $xmlAddress->PstCd);
36
        }
37 24
        if (isset($xmlAddress->TwnNm)) {
38 7
            $address = $address->setTownName((string) $xmlAddress->TwnNm);
39
        }
40 24
        if (isset($xmlAddress->AdrLine)) {
41 17
            foreach ($xmlAddress->AdrLine as $line) {
42 17
                $address = $address->addAddressLine((string) $line);
43
            }
44
        }
45
46 24
        return $address;
47
    }
48
}
49