QName::getQualifier()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
namespace Xml\Impl\Util;
4
5
class QName
6
{
7
8
    private $qualifier;
9
    private $localName;
10
11
    public function __construct(?string $qualifier, string $localName)
12
    {
13
        $this->qualifier = $qualifier;
14
        $this->localName = $localName;
15
    }
16
17
    public function getQualifier(): ?string
18
    {
19
        return $this->qualifier;
20
    }
21
22
    public function getLocalName(): string
23
    {
24
        return $this->localName;
25
    }
26
27
    public static function parseQName(string $identifier): QName
28
    {
29
        $split = preg_split("/:/", $identifier, 2);
30
        if (count($split) == 2) {
31
            $qualifier = $split[0];
32
            $localName = $split[1];
33
        } else {
34
            $qualifier = null;
35
            $localName = $split[0];
36
        }
37
        return new QName($qualifier, $localName);
38
    }
39
40
    public static function combine(?string $qualifier, string $localName): string
41
    {
42
        if (empty($qualifier)) {
43
            return $localName;
44
        } else {
45
            return $qualifier . ":" . $localName;
46
        }
47
    }
48
49
    /**
50
     * @return mixed
51
     */
52
    public function __toString()
53
    {
54
        return self::combine($this->qualifier, $this->localName);
55
    }
56
}
57