Completed
Push — master ( 874d6a...5decb7 )
by Thibaud
10s
created

Databox::getRawData()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 1
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
ccs 1
cts 1
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 0
crap 1
1
<?php
2
3
/*
4
 * This file is part of Phraseanet SDK.
5
 *
6
 * (c) Alchemy <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace PhraseanetSDK\Entity;
13
14
use Doctrine\Common\Collections\ArrayCollection;
15
16
class Databox
17
{
18
19 1
    public static function fromList(array $values)
20
    {
21 1
        $databoxes = array();
22
23 1
        foreach ($values as $value) {
24 1
            $databoxes[$value->databox_id] = self::fromValue($value);
25 1
        }
26
27 1
        return $databoxes;
28
    }
29
30 1
    public static function fromValue(\stdClass $value)
31
    {
32 1
        return new self($value);
33
    }
34
35
    /**
36
     * @var \stdClass
37
     */
38
    protected $source;
39
40
    /**
41
     * @var ArrayCollection
42
     */
43
    protected $labels;
44
45
    /**
46
     * @param \stdClass $source
47
     */
48 1
    public function __construct(\stdClass $source)
49
    {
50 1
        $this->source = $source;
51 1
    }
52
53
    /**
54
     * @return \stdClass
55
     */
56
    public function getRawData()
57
    {
58 1
        return $this->source;
59
    }
60 1
61
    /**
62
     * the databox id
63
     *
64
     * @return integer
65
     */
66
    public function getId()
67
    {
68 1
        return $this->source->databox_id;
69
    }
70 1
71
    /**
72
     * The databox name
73
     *
74
     * @return string
75
     */
76
    public function getName()
77
    {
78 1
        return $this->source->name;
79
    }
80 1
81
    /**
82
     * The databox version
83
     *
84
     * @return string
85
     */
86 1
    public function getVersion()
87
    {
88 1
        return $this->source->version;
89
    }
90
91
    /**
92
     * @return string[]
93
     */
94
    public function getLabels()
95
    {
96
        return $this->labels ?: $this->labels = new ArrayCollection((array) $this->source->labels);
97
    }
98
}
99