RootBodyComponent::getComponents()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
/*
4
 * The MIT License
5
 *
6
 * Copyright 2016 Julien Fastré <[email protected]>.
7
 *
8
 * Permission is hereby granted, free of charge, to any person obtaining a copy
9
 * of this software and associated documentation files (the "Software"), to deal
10
 * in the Software without restriction, including without limitation the rights
11
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
 * copies of the Software, and to permit persons to whom the Software is
13
 * furnished to do so, subject to the following conditions:
14
 *
15
 * The above copyright notice and this permission notice shall be included in
16
 * all copies or substantial portions of the Software.
17
 *
18
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
 * THE SOFTWARE.
25
 */
26
27
namespace PHPHealth\CDA\Component;
28
29
use PHPHealth\CDA\ClinicalDocument as CD;
30
31
/**
32
 * Component which contains the body of the document
33
 *
34
 * @author Julien Fastré <[email protected]>
35
 */
36
class RootBodyComponent extends AbstractComponent
37
{
38
    /**
39
     *
40
     * @var AbstractComponent[]
41
     */
42
    private $components = array();
43
    
44
    public function addComponent(AbstractComponent $component)
45
    {
46
        $this->components[] = $component;
47
    }
48
    
49
    /**
50
     *
51
     * @return AbstractComponent[]
52
     */
53
    public function getComponents()
54
    {
55
        return $this->components;
56
    }
57
    
58
    public function isEmpty()
59
    {
60
        return count($this->components) == 0;
61
    }
62
63
    public function toDOMElement(\DOMDocument $doc)
64
    {
65
        $component = $doc->createElement('component');
66
        
67
        foreach ($this->getComponents() as $subComponent) {
68
            $component->appendChild($subComponent->toDOMElement($doc));
69
        }
70
        
71
        return $component;
72
    }
73
}
74