Passed
Push — master ( fb3113...2f4a0c )
by Tim
02:23
created

ServiceName   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
eloc 7
c 1
b 0
f 0
dl 0
loc 20
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A fromXML() 0 9 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace SimpleSAML\WSSecurity\XML\wsaw;
6
7
use DOMElement;
8
use SimpleSAML\Assert\Assert;
9
use SimpleSAML\XML\Exception\InvalidDOMElementException;
10
11
/**
12
 * Class defining the ServiceName element
13
 *
14
 * @package simplesamlphp/ws-security
15
 */
16
final class ServiceName extends AbstractServiceNameType
17
{
18
    /**
19
     * Create an instance of this object from its XML representation.
20
     *
21
     * @param \DOMElement $xml
22
     * @return static
23
     *
24
     * @throws \SimpleSAML\XML\Exception\InvalidDOMElementException
25
     *   if the qualified name of the supplied element is wrong
26
     */
27
    public static function fromXML(DOMElement $xml): static
28
    {
29
        Assert::same($xml->localName, static::getLocalName(), InvalidDOMElementException::class);
30
        Assert::same($xml->namespaceURI, static::NS, InvalidDOMElementException::class);
31
32
        return new static(
33
            $xml->textContent,
34
            self::getOptionalAttribute($xml, 'EndpointName', null),
35
            self::getAttributesNSFromXML($xml),
36
        );
37
    }
38
}
39