Completed
Push — master ( 1c26be...19bb2d )
by Basil
05:42
created

ThingTrait::setMainEntityOfPage()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 5
c 0
b 0
f 0
rs 9.4285
cc 1
eloc 3
nc 1
nop 1
1
<?php
2
3
namespace luya\web\jsonld;
4
5
/**
6
 * JsonLd - Thing trait
7
 *
8
 * @author Alex Schmid
9
 * @since 1.0.0
10
 */
11
trait ThingTrait
12
{
13
    private $_additionalType;
14
15
    /**
16
     * @return string
17
     */
18
    public function getAdditionalType()
19
    {
20
        return $this->_additionalType;
21
    }
22
23
    /**
24
     * An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax.
25
     * This is a relationship between something and a class that the thing is in.
26
     *
27
     * @param string $additionalType
28
     * @return Thing
29
     */
30
    public function setAdditionalType(UrlValue $additionalType)
31
    {
32
        $this->_additionalType = $additionalType->getValue();
33
        return $this;
34
    }
35
36
    private $_alternateName;
37
38
    /**
39
     * @return string
40
     */
41
    public function getAlternateName()
42
    {
43
        return $this->_alternateName;
44
    }
45
46
    /**
47
     * An alias for the item
48
     *
49
     * @param string $alternateName
50
     * @return Thing
51
     */
52
    public function setAlternateName($alternateName)
53
    {
54
        $this->_alternateName = $alternateName;
55
        return $this;
56
    }
57
58
    private $_description;
59
60
    /**
61
     * @return string
62
     */
63
    public function getDescription()
64
    {
65
        return $this->_description;
66
    }
67
68
    /**
69
     * A description of the item.
70
     *
71
     * @param string $description
72
     * @return Thing
73
     */
74
    public function setDescription($description)
75
    {
76
        $this->_description = $description;
77
        return $this;
78
    }
79
80
    private $_disambiguatingDescription;
81
82
    /**
83
     * @return string
84
     */
85
    public function getDisambiguatingDescription()
86
    {
87
        return $this->_disambiguatingDescription;
88
    }
89
90
    /**
91
     * A sub property of description. A short description of the item used to disambiguate from other, similar items.
92
     * Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.
93
     *
94
     * @param string $disambiguatingDescription
95
     * @return Thing
96
     */
97
    public function setDisambiguatingDescription($disambiguatingDescription)
98
    {
99
        $this->_disambiguatingDescription = $disambiguatingDescription;
100
        return $this;
101
    }
102
103
    private $_identifier;
104
105
    /**
106
     * @return PropertyValue
107
     */
108
    public function getIdentifier()
109
    {
110
        return $this->_identifier;
111
    }
112
113
    /**
114
     * The identifier property represents any kind of identifier for any kind of Thing, such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See background notes for more details.
115
     *
116
     * @param PropertyValue $identifier
117
     * @return Thing
118
     */
119
    public function setIdentifier(PropertyValue $identifier)
120
    {
121
        $this->_identifier = $identifier;
122
        return $this;
123
    }
124
125
    private $_image;
126
127
    /**
128
     * @return ImageObject
129
     */
130
    public function getImage()
131
    {
132
        return $this->_image;
133
    }
134
135
    /**
136
     * An image of the item.
137
     * This can be a URL or a fully described ImageObject.
138
     *
139
     * @param ImageObject $image
140
     * @return Thing
141
     */
142
    public function setImage(ImageObject $image)
143
    {
144
        $this->_image = $image;
145
        return $this;
146
    }
147
148
    private $_mainEntityOfPage;
149
150
    /**
151
     * @return CreativeWork
152
     */
153
    public function getMainEntityOfPage()
154
    {
155
        return $this->_mainEntityOfPage;
156
    }
157
158
    /**
159
     * Indicates a page (or other CreativeWork) for which this thing is the main entity being described.
160
     * Inverse property: mainEntity.
161
     *
162
     * @param CreativeWork $mainEntityOfPage
163
     * @return Thing
164
     */
165
    public function setMainEntityOfPage(CreativeWork $mainEntityOfPage)
166
    {
167
        $this->_mainEntityOfPage = $mainEntityOfPage;
168
        return $this;
169
    }
170
171
    private $_name;
172
173
    /**
174
     * @return string
175
     */
176
    public function getName()
177
    {
178
        return $this->_name;
179
    }
180
181
    /**
182
     * The name of the item.
183
     *
184
     * @param string $name
185
     * @return Thing
186
     */
187
    public function setName($name)
188
    {
189
        $this->_name = $name;
190
        return $this;
191
    }
192
193
    private $_sameAs;
194
195
    /**
196
     * @return string
197
     */
198
    public function getSameAs()
199
    {
200
        return $this->_sameAs;
201
    }
202
203
    /**
204
     * URL of a reference Web page that unambiguously indicates the item's identity.
205
     * E.g. the URL of the item's Wikipedia page, Wikidata entry, or official website.
206
     *
207
     * @param UrlValue $sameAs
208
     * @return Thing
209
     */
210
    public function setSameAs(UrlValue $sameAs)
211
    {
212
        $this->_sameAs = $sameAs->getValue();
213
        return $this;
214
    }
215
216
    private $_subjectOf;
217
218
    /**
219
     * @return CreativeWork|Event
220
     */
221
    public function getSubjectOf()
222
    {
223
        return $this->_subjectOf;
224
    }
225
226
    /**
227
     * A CreativeWork or Event about this Thing.
228
     * Inverse property: about.
229
     *
230
     * @param CreativeWork|Event $subjectOf
231
     * @return Thing
232
     */
233
    public function setSubjectOf($subjectOf)
234
    {
235
        $this->_subjectOf = $subjectOf;
236
        return $this;
237
    }
238
239
    private $_url;
240
241
    /**
242
     * @return string
243
     */
244
    public function getUrl()
245
    {
246
        return $this->_url;
247
    }
248
249
    /**
250
     * URL of the item.
251
     *
252
     * @param UrlValue $url
253
     * @return Thing
254
     */
255
    public function setUrl(UrlValue $url)
256
    {
257
        $this->_url = $url->getValue();
258
        return $this;
259
    }
260
}
261