Completed
Pull Request — master (#72)
by Thibaud
08:29
created

DataboxDocumentStructure::getSeparator()   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 3
Bugs 0 Features 0
Metric Value
c 3
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 DataboxDocumentStructure
17
{
18
19 1
    public static function fromList(array $values)
20
    {
21 1
        $structures = array();
22
23 1
        foreach ($values as $value) {
24 1
            $structures[$value->id] = self::fromValue($value);
25 1
        }
26
27 1
        return $structures;
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 documentary field id
63
     *
64
     * @return integer
65
     */
66
    public function getId()
67
    {
68 1
        return $this->source->id;
69
    }
70 1
71
    /**
72
     * The documentary field metadata namespace
73
     *
74
     * @return string
75
     */
76
    public function getNamespace()
77
    {
78 1
        return $this->source->namespace;
79
    }
80 1
81
    /**
82
     * The documentary field metadata source
83
     *
84
     * @return string
85
     */
86
    public function getSource()
87
    {
88 1
        return $this->source->source;
89
    }
90 1
91
    /**
92
     * The documentary field metadata tagname
93
     *
94
     * @return string
95
     */
96
    public function getTagName()
97
    {
98 1
        return $this->source->tagname;
99
    }
100 1
101
    /**
102
     * The documentary field name
103
     *
104
     * @return string
105
     */
106
    public function getName()
107
    {
108 1
        return $this->source->name;
109
    }
110 1
111
    /**
112
     * The multi value field separator
113
     *
114
     * @return string
115
     */
116
    public function getSeparator()
117
    {
118 1
        return $this->source->separator;
119
    }
120 1
121
    /**
122
     * Get the associated thesaurus branch
123
     *
124
     * @return string
125
     */
126
    public function getThesaurusBranch()
127
    {
128 1
        return $this->source->thesaurus_branch;
129
    }
130 1
131
    /**
132
     * get the type of the field values
133
     *
134
     * @return string
135
     */
136
    public function getType()
137
    {
138 1
        return $this->source->type;
139
    }
140 1
141
    /**
142
     * Tell whether the field is searchable
143
     *
144
     * @return Boolean
145
     */
146
    public function isSearchable()
147
    {
148 1
        return $this->source->indexable;
149
    }
150 1
151
    /**
152
     * Tell whether the field is multivalued or not
153
     *
154
     * @return Boolean
155
     */
156
    public function isMultivalued()
157
    {
158 1
        return $this->source->multivalue;
159
    }
160 1
161
    /**
162
     * Tell whether the field is a read only field
163
     *
164
     * @return Boolean
165
     */
166
    public function isReadonly()
167
    {
168 1
        return $this->source->readonly;
169
    }
170 1
171
    /**
172
     * Tell whether the field is required
173
     *
174
     *  @return Boolean
175
     */
176 1
    public function isRequired()
177
    {
178 1
        return $this->source->required;
179
    }
180
181
    /**
182
     * @return mixed
183
     */
184
    public function getLabels()
185
    {
186
        return $this->labels ?: $this->labels = new ArrayCollection((array) $this->source->labels);
187
    }
188
}
189