Completed
Push — master ( 2d6ebf...a61d5f )
by Basil
17:04
created

CreativeWorkTrait   F

Complexity

Total Complexity 164

Size/Duplication

Total Lines 1877
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 164
lcom 0
cbo 1
dl 0
loc 1877
rs 0.6314
c 0
b 0
f 0

164 Methods

Rating   Name   Duplication   Size   Complexity  
A getAbout() 0 4 1
A setAbout() 0 5 1
A getAccessMode() 0 4 1
A setAccessMode() 0 5 1
A getAccessModeSufficient() 0 4 1
A setAccessModeSufficient() 0 5 1
A getAccessibilityAPI() 0 4 1
A setAccessibilityAPI() 0 5 1
A getAccessibilityControl() 0 4 1
A setAccessibilityControl() 0 5 1
A getAccessibilityFeature() 0 4 1
A setAccessibilityFeature() 0 5 1
A getAccessibilityHazard() 0 4 1
A setAccessibilityHazard() 0 5 1
A getAccessibilitySummary() 0 4 1
A setAccessibilitySummary() 0 5 1
A getAccountablePerson() 0 4 1
A setAccountablePerson() 0 5 1
A getAggregateRating() 0 4 1
A setAggregateRating() 0 5 1
A getAlternativeHeadline() 0 4 1
A setAlternativeHeadline() 0 5 1
A getAssociatedMedia() 0 4 1
A setAssociatedMedia() 0 5 1
A getAudience() 0 4 1
A setAudience() 0 5 1
A getAudio() 0 4 1
A setAudio() 0 5 1
A getAuthor() 0 4 1
A setAuthor() 0 5 1
A getAward() 0 4 1
A setAward() 0 5 1
A getCharacter() 0 4 1
A setCharacter() 0 5 1
A getCitation() 0 4 1
A setCitation() 0 5 1
A getComment() 0 4 1
A setComment() 0 5 1
A getCommentCount() 0 4 1
A setCommentCount() 0 5 1
A getContentLocation() 0 4 1
A setContentLocation() 0 5 1
A getContentRating() 0 4 1
A setContentRating() 0 5 1
A getContentReferenceTime() 0 4 1
A setContentReferenceTime() 0 5 1
A getContributor() 0 4 1
A setContributor() 0 5 1
A getCopyrightHolder() 0 4 1
A setCopyrightHolder() 0 5 1
A getCopyrightYear() 0 4 1
A setCopyrightYear() 0 5 1
A getCreator() 0 4 1
A setCreator() 0 5 1
A getDateCreated() 0 4 1
A setDateCreated() 0 5 1
A getDateModified() 0 4 1
A setDateModified() 0 5 1
A getDatePublished() 0 4 1
A setDatePublished() 0 5 1
A getDiscussionUrl() 0 4 1
A setDiscussionUrl() 0 5 1
A getEditor() 0 4 1
A setEditor() 0 4 1
A getEducationalAlignment() 0 4 1
A setEducationalAlignment() 0 5 1
A getEducationalUse() 0 4 1
A setEducationalUse() 0 5 1
A getEncoding() 0 4 1
A setEncoding() 0 5 1
A getExampleOfWork() 0 4 1
A setExampleOfWork() 0 5 1
A getExpires() 0 4 1
A setExpires() 0 5 1
A getFileFormat() 0 4 1
A setFileFormat() 0 5 1
A getFunder() 0 4 1
A setFunder() 0 5 1
A getGenre() 0 4 1
A setGenre() 0 5 1
A getHasPart() 0 4 1
A setHasPart() 0 5 1
A getHeadline() 0 4 1
A setHeadline() 0 5 1
A getInLanguage() 0 4 1
A setInLanguage() 0 5 1
A getInteractionStatistic() 0 4 1
A setInteractionStatistic() 0 5 1
A getInteractivityType() 0 4 1
A setInteractivityType() 0 5 1
A isAccessibleForFree() 0 4 1
A setIsAccessibleForFree() 0 5 1
A getisBasedOn() 0 4 1
A setIsBasedOn() 0 5 1
A isFamilyFriendly() 0 4 1
A setIsFamilyFriendly() 0 5 1
A getisPartOf() 0 4 1
A setIsPartOf() 0 5 1
A getKeywords() 0 4 1
A setKeywords() 0 5 1
A getLearningResourceType() 0 4 1
A setLearningResourceType() 0 5 1
A getLicense() 0 4 1
A setLicense() 0 5 1
A getLocationCreated() 0 4 1
A setLocationCreated() 0 5 1
A getMainEntity() 0 4 1
A setMainEntity() 0 5 1
A getMaterial() 0 4 1
A setMaterial() 0 5 1
A getMentions() 0 4 1
A setMentions() 0 5 1
A getOffers() 0 4 1
A setOffers() 0 5 1
A getPosition() 0 4 1
A setPosition() 0 5 1
A getProducer() 0 4 1
A setProducer() 0 5 1
A getProvider() 0 4 1
A setProvider() 0 5 1
A getPublication() 0 4 1
A setPublication() 0 5 1
A getPublisher() 0 4 1
A setPublisher() 0 5 1
A getPublisherImprint() 0 4 1
A setPublisherImprint() 0 5 1
A getPublishingPrinciples() 0 4 1
A setPublishingPrinciples() 0 5 1
A getRecordedAt() 0 4 1
A setRecordedAt() 0 5 1
A getReleasedEvent() 0 4 1
A setReleasedEvent() 0 5 1
A getReview() 0 4 1
A setReview() 0 5 1
A getSchemaVersion() 0 4 1
A setSchemaVersion() 0 5 1
A getSourceOrganization() 0 4 1
A setSourceOrganization() 0 5 1
A getSpatialCoverage() 0 4 1
A setSpatialCoverage() 0 5 1
A getSponsor() 0 4 1
A setSponsor() 0 5 1
A getTemporalCoverage() 0 4 1
A setTemporalCoverage() 0 5 1
A getText() 0 4 1
A setText() 0 5 1
A getThumbnailUrl() 0 4 1
A setThumbnailUrl() 0 5 1
A getTimeRequired() 0 4 1
A setTimeRequired() 0 5 1
A getTranslationOfWork() 0 4 1
A setTranslationOfWork() 0 5 1
A getTranslator() 0 4 1
A setTranslator() 0 5 1
A getTypicalAgeRange() 0 4 1
A setTypicalAgeRange() 0 5 1
A getVersion() 0 4 1
A setVersion() 0 5 1
A getVideo() 0 4 1
A setVideo() 0 5 1
A getWorkExample() 0 4 1
A setWorkExample() 0 5 1
A getWorkTranslation() 0 4 1
A setWorkTranslation() 0 5 1

How to fix   Complexity   

Complex Class

Complex classes like CreativeWorkTrait often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes. You can also have a look at the cohesion graph to spot any un-connected, or weakly-connected components.

Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.

While breaking up the class, it is a good idea to analyze how other classes use CreativeWorkTrait, and based on these observations, apply Extract Interface, too.

1
<?php
2
3
namespace luya\web\jsonld;
4
5
/**
6
 * JsonLd - Creative Work Trait
7
 *
8
 * @see http://schema.org/CreativeWork
9
 *
10
 * @author Alex Schmid <[email protected]>
11
 * @since 1.0.1
12
 */
13
trait CreativeWorkTrait
14
{
15
    use ThingTrait;
16
17
    private $_about;
18
19
    /**
20
     * @return Thing
21
     */
22
    public function getAbout()
23
    {
24
        return $this->_about;
25
    }
26
27
    /**
28
     * The subject matter of the content.
29
     * Inverse property: subjectOf.
30
     *
31
     * @param Thing $about
32
     * @return CreativeWork|CreativeWorkTrait
33
     */
34
    public function setAbout($about)
35
    {
36
        $this->_about = $about;
37
        return $this;
38
    }
39
40
    private $_accessMode;
41
42
    /**
43
     * @return string
44
     */
45
    public function getAccessMode()
46
    {
47
        return $this->_accessMode;
48
    }
49
50
    /**
51
     * The human sensory perceptual system or cognitive faculty through which a person may process or perceive
52
     * information.
53
     *
54
     * Expected values include: auditory, tactile, textual, visual, colorDependent, chartOnVisual, chemOnVisual,
55
     * diagramOnVisual, mathOnVisual, musicOnVisual, textOnVisual.
56
     *
57
     * @param string $accessMode
58
     * @return CreativeWork|CreativeWorkTrait
59
     */
60
    public function setAccessMode($accessMode)
61
    {
62
        $this->_accessMode = $accessMode;
63
        return $this;
64
    }
65
66
    private $_accessModeSufficient;
67
68
    /**
69
     * @return string
70
     */
71
    public function getAccessModeSufficient()
72
    {
73
        return $this->_accessModeSufficient;
74
    }
75
76
    /**
77
     * A list of single or combined accessModes that are sufficient to understand all the intellectual content of a
78
     * resource.
79
     *
80
     * Expected values include: auditory, tactile, textual, visual.
81
     *
82
     * @param string $accessModeSufficient
83
     * @return CreativeWork|CreativeWorkTrait
84
     */
85
    public function setAccessModeSufficient($accessModeSufficient)
86
    {
87
        $this->_accessModeSufficient = $accessModeSufficient;
88
        return $this;
89
    }
90
91
    private $_accessibilityAPI;
92
93
    /**
94
     * @return string
95
     */
96
    public function getAccessibilityAPI()
97
    {
98
        return $this->_accessibilityAPI;
99
    }
100
101
    /**
102
     * Indicates that the resource is compatible with the referenced accessibility API
103
     * (WebSchemas wiki lists possible values).
104
     *
105
     * @param string $accessibilityAPI
106
     * @return CreativeWork|CreativeWorkTrait
107
     */
108
    public function setAccessibilityAPI($accessibilityAPI)
109
    {
110
        $this->_accessibilityAPI = $accessibilityAPI;
111
        return $this;
112
    }
113
114
    private $_accessibilityControl;
115
116
    /**
117
     * @return string
118
     */
119
    public function getAccessibilityControl()
120
    {
121
        return $this->_accessibilityControl;
122
    }
123
124
    /**
125
     * Identifies input methods that are sufficient to fully control the described resource
126
     * (WebSchemas wiki lists possible values).
127
     *
128
     * @param string $accessibilityControl
129
     * @return CreativeWork|CreativeWorkTrait
130
     */
131
    public function setAccessibilityControl($accessibilityControl)
132
    {
133
        $this->_accessibilityControl = $accessibilityControl;
134
        return $this;
135
    }
136
137
    private $_accessibilityFeature;
138
139
    /**
140
     * @return string
141
     */
142
    public function getAccessibilityFeature()
143
    {
144
        return $this->_accessibilityFeature;
145
    }
146
147
    /**
148
     * Content features of the resource, such as accessible media, alternatives and supported enhancements for accessibility
149
     * (WebSchemas wiki lists possible values).
150
     *
151
     * @param string $accessibilityFeature
152
     * @return CreativeWork|CreativeWorkTrait
153
     */
154
    public function setAccessibilityFeature($accessibilityFeature)
155
    {
156
        $this->_accessibilityFeature = $accessibilityFeature;
157
        return $this;
158
    }
159
160
    private $_accessibilityHazard;
161
162
    /**
163
     * @return string
164
     */
165
    public function getAccessibilityHazard()
166
    {
167
        return $this->_accessibilityHazard;
168
    }
169
170
    /**
171
     * A characteristic of the described resource that is physiologically dangerous to some users.
172
     * Related to WCAG 2.0 guideline 2.3 (WebSchemas wiki lists possible values).
173
     *
174
     * @param string $accessibilityHazard
175
     * @return CreativeWork|CreativeWorkTrait
176
     */
177
    public function setAccessibilityHazard($accessibilityHazard)
178
    {
179
        $this->_accessibilityHazard = $accessibilityHazard;
180
        return $this;
181
    }
182
183
    private $_accessibilitySummary;
184
185
    /**
186
     * @return string
187
     */
188
    public function getAccessibilitySummary()
189
    {
190
        return $this->_accessibilitySummary;
191
    }
192
193
    /**
194
     * A human-readable summary of specific accessibility features or deficiencies, consistent with the other
195
     * accessibility metadata but expressing subtleties such as "short descriptions are present but long descriptions
196
     * will be needed for non-visual users" or "short descriptions are present and no long descriptions are needed."
197
     *
198
     * @param string $accessibilitySummary
199
     * @return CreativeWork|CreativeWorkTrait
200
     */
201
    public function setAccessibilitySummary($accessibilitySummary)
202
    {
203
        $this->_accessibilitySummary = $accessibilitySummary;
204
        return $this;
205
    }
206
207
    private $_accountablePerson;
208
209
    /**
210
     * @return Person
211
     */
212
    public function getAccountablePerson()
213
    {
214
        return $this->_accountablePerson;
215
    }
216
217
    /**
218
     * Specifies the Person that is legally accountable for the CreativeWork.
219
     *
220
     * @param Person $accountablePerson
221
     * @return CreativeWork|CreativeWorkTrait
222
     */
223
    public function setAccountablePerson($accountablePerson)
224
    {
225
        $this->_accountablePerson = $accountablePerson;
226
        return $this;
227
    }
228
229
    private $_aggregateRating;
230
231
    /**
232
     * @return AggregateRating
233
     */
234
    public function getAggregateRating()
235
    {
236
        return $this->_aggregateRating;
237
    }
238
239
    /**
240
     * The overall rating, based on a collection of reviews or ratings, of the item.
241
     *
242
     * @param AggregateRating $aggregateRating
243
     * @return CreativeWork|CreativeWorkTrait
244
     */
245
    public function setAggregateRating($aggregateRating)
246
    {
247
        $this->_aggregateRating = $aggregateRating;
248
        return $this;
249
    }
250
251
    private $_alternativeHeadline;
252
253
    /**
254
     * @return string
255
     */
256
    public function getAlternativeHeadline()
257
    {
258
        return $this->_alternativeHeadline;
259
    }
260
261
    /**
262
     * A secondary title of the CreativeWork.
263
     *
264
     * @param string $alternativeHeadline
265
     * @return CreativeWork|CreativeWorkTrait
266
     */
267
    public function setAlternativeHeadline($alternativeHeadline)
268
    {
269
        $this->_alternativeHeadline = $alternativeHeadline;
270
        return $this;
271
    }
272
273
    private $_associatedMedia;
274
275
    /**
276
     * @return MediaObject
277
     */
278
    public function getAssociatedMedia()
279
    {
280
        return $this->_associatedMedia;
281
    }
282
283
    /**
284
     * A media object that encodes this CreativeWork. This property is a synonym for encoding.
285
     *
286
     * @param MediaObject $associatedMedia
287
     * @return CreativeWork|CreativeWorkTrait
288
     */
289
    public function setAssociatedMedia($associatedMedia)
290
    {
291
        $this->_associatedMedia = $associatedMedia;
292
        return $this;
293
    }
294
295
    private $_audience;
296
297
    /**
298
     * @return Audience
299
     */
300
    public function getAudience()
301
    {
302
        return $this->_audience;
303
    }
304
305
    /**
306
     * An intended audience, i.e. a group for whom something was created. Supersedes serviceAudience.
307
     *
308
     * @param Audience $audience
309
     * @return CreativeWork|CreativeWorkTrait
310
     */
311
    public function setAudience($audience)
312
    {
313
        $this->_audience = $audience;
314
        return $this;
315
    }
316
317
    private $_audio;
318
319
    /**
320
     * @return AudioObject
321
     */
322
    public function getAudio()
323
    {
324
        return $this->_audio;
325
    }
326
327
    /**
328
     * 	An embedded audio object.
329
     *
330
     * @param AudioObject $audio
331
     * @return CreativeWork|CreativeWorkTrait
332
     */
333
    public function setAudio($audio)
334
    {
335
        $this->_audio = $audio;
336
        return $this;
337
    }
338
339
    private $_author;
340
341
    /**
342
     * @return Organization|Person
343
     */
344
    public function getAuthor()
345
    {
346
        return $this->_author;
347
    }
348
349
    /**
350
     * The author of this content or rating. Please note that author is special in that HTML 5 provides a special
351
     * mechanism for indicating authorship via the rel tag. That is equivalent to this and may be used interchangeably.
352
     *
353
     * @param Organization|Person $author
354
     * @return CreativeWork|CreativeWorkTrait
355
     */
356
    public function setAuthor($author)
357
    {
358
        $this->_author = $author;
359
        return $this;
360
    }
361
362
    private $_award;
363
364
    /**
365
     * @return string
366
     */
367
    public function getAward()
368
    {
369
        return $this->_award;
370
    }
371
372
    /**
373
     * An award won by or for this item.
374
     * Supersedes awards.
375
     *
376
     * @param string $award
377
     * @return CreativeWork|CreativeWorkTrait
378
     */
379
    public function setAward($award)
380
    {
381
        $this->_award = $award;
382
        return $this;
383
    }
384
385
    private $_character;
386
387
    /**
388
     * @return Person
389
     */
390
    public function getCharacter()
391
    {
392
        return $this->_character;
393
    }
394
395
    /**
396
     * Fictional person connected with a creative work.
397
     *
398
     * @param Person $character
399
     * @return CreativeWork|CreativeWorkTrait
400
     */
401
    public function setCharacter($character)
402
    {
403
        $this->_character = $character;
404
        return $this;
405
    }
406
407
    private $_citation;
408
409
    /**
410
     * @return CreativeWork|string
411
     */
412
    public function getCitation()
413
    {
414
        return $this->_citation;
415
    }
416
417
    /**
418
     * A citation or reference to another creative work, such as another publication, web page, scholarly article, etc.
419
     *
420
     * @param CreativeWork|string $citation
421
     * @return CreativeWork|CreativeWorkTrait
422
     */
423
    public function setCitation($citation)
424
    {
425
        $this->_citation = $citation;
426
        return $this;
427
    }
428
429
    private $_comment;
430
431
    /**
432
     * @return Comment
433
     */
434
    public function getComment()
435
    {
436
        return $this->_comment;
437
    }
438
439
    /**
440
     * Comments, typically from users.
441
     *
442
     * @param Comment $comment
443
     * @return CreativeWork|CreativeWorkTrait
444
     */
445
    public function setComment($comment)
446
    {
447
        $this->_comment = $comment;
448
        return $this;
449
    }
450
451
    private $_commentCount;
452
453
    /**
454
     * @return int
455
     */
456
    public function getCommentCount()
457
    {
458
        return $this->_commentCount;
459
    }
460
461
    /**
462
     * The number of comments this CreativeWork (e.g. Article, Question or Answer) has received. This is most
463
     * applicable to works published in Web sites with commenting system; additional comments may exist elsewhere.
464
     *
465
     * @param int $commentCount
466
     * @return CreativeWork|CreativeWorkTrait
467
     */
468
    public function setCommentCount($commentCount)
469
    {
470
        $this->_commentCount = $commentCount;
471
        return $this;
472
    }
473
474
    private $_contentLocation;
475
476
    /**
477
     * @return Place
478
     */
479
    public function getContentLocation()
480
    {
481
        return $this->_contentLocation;
482
    }
483
484
    /**
485
     * The location depicted or described in the content. For example, the location in a photograph or painting.
486
     *
487
     * @param Place $contentLocation
488
     * @return CreativeWork|CreativeWorkTrait
489
     */
490
    public function setContentLocation($contentLocation)
491
    {
492
        $this->_contentLocation = $contentLocation;
493
        return $this;
494
    }
495
496
    private $_contentRating;
497
498
    /**
499
     * @return string
500
     */
501
    public function getContentRating()
502
    {
503
        return $this->_contentRating;
504
    }
505
506
    /**
507
     * Official rating of a piece of content—for example,'MPAA PG-13'.
508
     *
509
     * @param string $contentRating
510
     * @return CreativeWork|CreativeWorkTrait
511
     */
512
    public function setContentRating($contentRating)
513
    {
514
        $this->_contentRating = $contentRating;
515
        return $this;
516
    }
517
518
    private $_contentReferenceTime;
519
520
    /**
521
     * @return DateTime
522
     */
523
    public function getContentReferenceTime()
524
    {
525
        return $this->_contentReferenceTime;
526
    }
527
528
    /**
529
     * The specific time described by a creative work, for works (e.g. articles, video objects etc.) that emphasise
530
     * a particular moment within an Event.
531
     *
532
     * @param DateTime $contentReferenceTime
533
     * @return CreativeWork|CreativeWorkTrait
534
     */
535
    public function setContentReferenceTime($contentReferenceTime)
536
    {
537
        $this->_contentReferenceTime = $contentReferenceTime;
538
        return $this;
539
    }
540
541
    private $_contributor;
542
543
    /**
544
     * @return Organization|Person
545
     */
546
    public function getContributor()
547
    {
548
        return $this->_contributor;
549
    }
550
551
    /**
552
     * A secondary contributor to the CreativeWork or Event.
553
     *
554
     * @param Organization|Person $contributor
555
     * @return CreativeWork|CreativeWorkTrait
556
     */
557
    public function setContributor($contributor)
558
    {
559
        $this->_contributor = $contributor;
560
        return $this;
561
    }
562
563
    private $_copyrightHolder;
564
565
    /**
566
     * @return Organization|Person
567
     */
568
    public function getCopyrightHolder()
569
    {
570
        return $this->_copyrightHolder;
571
    }
572
573
    /**
574
     * The party holding the legal copyright to the CreativeWork.
575
     *
576
     * @param Organization|Person $copyrightHolder
577
     * @return CreativeWork|CreativeWorkTrait
578
     */
579
    public function setCopyrightHolder($copyrightHolder)
580
    {
581
        $this->_copyrightHolder = $copyrightHolder;
582
        return $this;
583
    }
584
585
    private $_copyrightYear;
586
587
    /**
588
     * @return mixed
589
     */
590
    public function getCopyrightYear()
591
    {
592
        return $this->_copyrightYear;
593
    }
594
595
    /**
596
     * The year during which the claimed copyright for the CreativeWork was first asserted.
597
     *
598
     * @param mixed $copyrightYear
599
     * @return CreativeWork|CreativeWorkTrait
600
     */
601
    public function setCopyrightYear($copyrightYear)
602
    {
603
        $this->_copyrightYear = $copyrightYear;
604
        return $this;
605
    }
606
607
    private $_creator;
608
609
    /**
610
     * @return Organization|Person
611
     */
612
    public function getCreator()
613
    {
614
        return $this->_creator;
615
    }
616
617
    /**
618
     * The creator/author of this CreativeWork. This is the same as the Author property for CreativeWork.
619
     *
620
     * @param Organization|Person $creator
621
     * @return CreativeWork|CreativeWorkTrait
622
     */
623
    public function setCreator($creator)
624
    {
625
        $this->_creator = $creator;
626
        return $this;
627
    }
628
629
    private $_dateCreated;
630
631
    /**
632
     * @return Date|DateTime
633
     */
634
    public function getDateCreated()
635
    {
636
        return $this->_dateCreated;
637
    }
638
639
    /**
640
     * The date on which the CreativeWork was created or the item was added to a DataFeed.
641
     *
642
     * @param Date|DateTime $dateCreated
643
     * @return CreativeWork|CreativeWorkTrait
644
     */
645
    public function setDateCreated($dateCreated)
646
    {
647
        $this->_dateCreated = $dateCreated;
648
        return $this;
649
    }
650
651
    private $_dateModified;
652
653
    /**
654
     * @return Date|DateTime
655
     */
656
    public function getDateModified()
657
    {
658
        return $this->_dateModified;
659
    }
660
661
    /**
662
     * The date on which the CreativeWork was most recently modified
663
     * or when the item's entry was modified within a DataFeed.
664
     *
665
     * @param Date|DateTime $dateModified
666
     * @return CreativeWork|CreativeWorkTrait
667
     */
668
    public function setDateModified($dateModified)
669
    {
670
        $this->_dateModified = $dateModified;
671
        return $this;
672
    }
673
674
    private $_datePublished;
675
676
    /**
677
     * @return Date
678
     */
679
    public function getDatePublished()
680
    {
681
        return $this->_datePublished;
682
    }
683
684
    /**
685
     * Date of first broadcast/publication.
686
     *
687
     * @param Date $datePublished
688
     * @return CreativeWork|CreativeWorkTrait
689
     */
690
    public function setDatePublished($datePublished)
691
    {
692
        $this->_datePublished = $datePublished;
693
        return $this;
694
    }
695
696
    private $_discussionUrl;
697
698
    /**
699
     * @return URL
700
     */
701
    public function getDiscussionUrl()
702
    {
703
        return $this->_discussionUrl;
704
    }
705
706
    /**
707
     * A link to the page containing the comments of the CreativeWork.
708
     *
709
     * @param URL $discussionUrl
710
     * @return CreativeWork|CreativeWorkTrait
711
     */
712
    public function setDiscussionUrl($discussionUrl)
713
    {
714
        $this->_discussionUrl = $discussionUrl;
715
        return $this;
716
    }
717
718
    private $_editor;
719
720
    /**
721
     * @return Person
722
     */
723
    public function getEditor()
724
    {
725
        return $this->_editor;
726
    }
727
728
    /**
729
     * Specifies the Person who edited the CreativeWork.
730
     *
731
     * @param Person $editor
732
     */
733
    public function setEditor($editor)
734
    {
735
        $this->_editor = $editor;
736
    }
737
738
    private $_educationalAlignment;
739
740
    /**
741
     * @return AlignmentObject
742
     */
743
    public function getEducationalAlignment()
744
    {
745
        return $this->_educationalAlignment;
746
    }
747
748
    /**
749
     * An alignment to an established educational framework.
750
     *
751
     * @param AlignmentObject $educationalAlignment
752
     * @return CreativeWork|CreativeWorkTrait
753
     */
754
    public function setEducationalAlignment($educationalAlignment)
755
    {
756
        $this->_educationalAlignment = $educationalAlignment;
757
        return $this;
758
    }
759
760
    private $_educationalUse;
761
762
    /**
763
     * @return string
764
     */
765
    public function getEducationalUse()
766
    {
767
        return $this->_educationalUse;
768
    }
769
770
    /**
771
     * The purpose of a work in the context of education; for example, 'assignment', 'group work'.
772
     *
773
     * @param string $educationalUse
774
     * @return CreativeWork|CreativeWorkTrait
775
     */
776
    public function setEducationalUse($educationalUse)
777
    {
778
        $this->_educationalUse = $educationalUse;
779
        return $this;
780
    }
781
782
    private $_encoding;
783
784
    /**
785
     * @return MediaObject
786
     */
787
    public function getEncoding()
788
    {
789
        return $this->_encoding;
790
    }
791
792
    /**
793
     * A media object that encodes this CreativeWork. This property is a synonym for associatedMedia.
794
     * Supersedes encodings.
795
     *
796
     * @param MediaObject $encoding
797
     * @return CreativeWork|CreativeWorkTrait
798
     */
799
    public function setEncoding($encoding)
800
    {
801
        $this->_encoding = $encoding;
802
        return $this;
803
    }
804
805
    private $_exampleOfWork;
806
807
    /**
808
     * @return CreativeWork
809
     */
810
    public function getExampleOfWork()
811
    {
812
        return $this->_exampleOfWork;
813
    }
814
815
    /**
816
     * A creative work that this work is an example/instance/realization/derivation of.
817
     * Inverse property: workExample.
818
     *
819
     * @param CreativeWork $exampleOfWork
820
     * @return CreativeWork|CreativeWorkTrait
821
     */
822
    public function setExampleOfWork($exampleOfWork)
823
    {
824
        $this->_exampleOfWork = $exampleOfWork;
825
        return $this;
826
    }
827
828
    private $_expires;
829
830
    /**
831
     * @return Date
832
     */
833
    public function getExpires()
834
    {
835
        return $this->_expires;
836
    }
837
838
    /**
839
     * Date the content expires and is no longer useful or available. For example a VideoObject or NewsArticle whose
840
     * availability or relevance is time-limited, or a ClaimReview fact check whose publisher wants to indicate that
841
     * it may no longer be relevant (or helpful to highlight) after some date.
842
     *
843
     * @param Date $expires
844
     * @return CreativeWork|CreativeWorkTrait
845
     */
846
    public function setExpires($expires)
847
    {
848
        $this->_expires = $expires;
849
        return $this;
850
    }
851
852
    private $_fileFormat;
853
854
    /**
855
     * @return URL|string
856
     */
857
    public function getFileFormat()
858
    {
859
        return $this->_fileFormat;
860
    }
861
862
    /**
863
     * Media type, typically MIME format (see IANA site) of the content e.g. application/zip of a SoftwareApplication
864
     * binary. In cases where a CreativeWork has several media type representations, 'encoding' can be used to indicate
865
     * each MediaObject alongside particular fileFormat information. Unregistered or niche file formats can be indicated
866
     * instead via the most appropriate URL, e.g. defining Web page or a Wikipedia entry.
867
     *
868
     * @param URL|string $fileFormat
869
     * @return CreativeWork|CreativeWorkTrait
870
     */
871
    public function setFileFormat($fileFormat)
872
    {
873
        $this->_fileFormat = $fileFormat;
874
        return $this;
875
    }
876
877
    private $_funder;
878
879
    /**
880
     * @return Organization|Person
881
     */
882
    public function getFunder()
883
    {
884
        return $this->_funder;
885
    }
886
887
    /**
888
     * A person or organization that supports (sponsors) something through some kind of financial contribution.
889
     *
890
     * @param Organization|Person $funder
891
     * @return CreativeWork|CreativeWorkTrait
892
     */
893
    public function setFunder($funder)
894
    {
895
        $this->_funder = $funder;
896
        return $this;
897
    }
898
899
    private $_genre;
900
901
    /**
902
     * @return URL|string
903
     */
904
    public function getGenre()
905
    {
906
        return $this->_genre;
907
    }
908
909
    /**
910
     * Genre of the creative work, broadcast channel or group.
911
     *
912
     * @param URL|string $genre
913
     * @return CreativeWork|CreativeWorkTrait
914
     */
915
    public function setGenre($genre)
916
    {
917
        $this->_genre = $genre;
918
        return $this;
919
    }
920
921
    private $_hasPart;
922
923
    /**
924
     * @return CreativeWork
925
     */
926
    public function getHasPart()
927
    {
928
        return $this->_hasPart;
929
    }
930
931
    /**
932
     * Indicates a CreativeWork that is (in some sense) a part of this CreativeWork.
933
     * Inverse property: isPartOf.
934
     *
935
     * @param CreativeWork $hasPart
936
     * @return CreativeWork|CreativeWorkTrait
937
     */
938
    public function setHasPart($hasPart)
939
    {
940
        $this->_hasPart = $hasPart;
941
        return $this;
942
    }
943
944
    private $_headline;
945
946
    /**
947
     * @return string
948
     */
949
    public function getHeadline()
950
    {
951
        return $this->_headline;
952
    }
953
954
    /**
955
     * Headline of the article.
956
     *
957
     * @param string $headline
958
     * @return CreativeWork|CreativeWorkTrait
959
     */
960
    public function setHeadline($headline)
961
    {
962
        $this->_headline = $headline;
963
        return $this;
964
    }
965
966
    private $_inLanguage;
967
968
    /**
969
     * @return Language|string
970
     */
971
    public function getInLanguage()
972
    {
973
        return $this->_inLanguage;
974
    }
975
976
    /**
977
     * The language of the content or performance or used in an action.
978
     * Please use one of the language codes from the IETF BCP 47 standard. See also availableLanguage.
979
     * Supersedes language.
980
     *
981
     * @param Language|string $inLanguage
982
     * @return CreativeWork|CreativeWorkTrait
983
     */
984
    public function setInLanguage($inLanguage)
985
    {
986
        $this->_inLanguage = $inLanguage;
987
        return $this;
988
    }
989
990
    private $_interactionStatistic;
991
992
    /**
993
     * @return InteractionCounter
994
     */
995
    public function getInteractionStatistic()
996
    {
997
        return $this->_interactionStatistic;
998
    }
999
1000
    /**
1001
     * The number of interactions for the CreativeWork using the WebSite or SoftwareApplication.
1002
     * The most specific child type of InteractionCounter should be used.
1003
     *
1004
     * Supersedes interactionCount.
1005
     *
1006
     * @param InteractionCounter $interactionStatistic
1007
     * @return CreativeWork|CreativeWorkTrait
1008
     */
1009
    public function setInteractionStatistic($interactionStatistic)
1010
    {
1011
        $this->_interactionStatistic = $interactionStatistic;
1012
        return $this;
1013
    }
1014
1015
    private $_interactivityType;
1016
1017
    /**
1018
     * @return string
1019
     */
1020
    public function getInteractivityType()
1021
    {
1022
        return $this->_interactivityType;
1023
    }
1024
1025
    /**
1026
     * The predominant mode of learning supported by the learning resource.
1027
     * Acceptable values are 'active', 'expositive', or 'mixed'.
1028
     *
1029
     * @param string $interactivityType
1030
     * @return CreativeWork|CreativeWorkTrait
1031
     */
1032
    public function setInteractivityType($interactivityType)
1033
    {
1034
        $this->_interactivityType = $interactivityType;
1035
        return $this;
1036
    }
1037
1038
    private $_isAccessibleForFree;
1039
1040
    /**
1041
     * @return bool
1042
     */
1043
    public function isAccessibleForFree()
1044
    {
1045
        return $this->_isAccessibleForFree;
1046
    }
1047
1048
    /**
1049
     * A flag to signal that the item, event, or place is accessible for free.
1050
     * Supersedes free.
1051
     *
1052
     * @param bool $isAccessibleForFree
1053
     * @return CreativeWork|CreativeWorkTrait
1054
     */
1055
    public function setIsAccessibleForFree($isAccessibleForFree)
1056
    {
1057
        $this->_isAccessibleForFree = $isAccessibleForFree;
1058
        return $this;
1059
    }
1060
1061
    private $_isBasedOn;
1062
1063
    /**
1064
     * @return CreativeWork|Product|Url
1065
     */
1066
    public function getisBasedOn()
1067
    {
1068
        return $this->_isBasedOn;
1069
    }
1070
1071
    /**
1072
     * A resource that was used in the creation of this resource. This term can be repeated for multiple sources.
1073
     * For example, http://example.com/great-multiplication-intro.html.
1074
     *
1075
     * Supersedes isBasedOnUrl.
1076
     *
1077
     * @param CreativeWork|Product|Url $isBasedOn
1078
     * @return CreativeWork|CreativeWorkTrait
1079
     */
1080
    public function setIsBasedOn($isBasedOn)
1081
    {
1082
        $this->_isBasedOn = $isBasedOn;
1083
        return $this;
1084
    }
1085
1086
    private $_isFamilyFriendly;
1087
1088
    /**
1089
     * @return bool
1090
     */
1091
    public function isFamilyFriendly()
1092
    {
1093
        return $this->_isFamilyFriendly;
1094
    }
1095
1096
    /**
1097
     * Indicates whether this content is family friendly.
1098
     *
1099
     * @param bool $isFamilyFriendly
1100
     * @return CreativeWork|CreativeWorkTrait
1101
     */
1102
    public function setIsFamilyFriendly($isFamilyFriendly)
1103
    {
1104
        $this->_isFamilyFriendly = $isFamilyFriendly;
1105
        return $this;
1106
    }
1107
1108
    private $_isPartOf;
1109
1110
    /**
1111
     * @return CreativeWork
1112
     */
1113
    public function getisPartOf()
1114
    {
1115
        return $this->_isPartOf;
1116
    }
1117
1118
    /**
1119
     * Indicates a CreativeWork that this CreativeWork is (in some sense) part of.
1120
     * Inverse property: hasPart.
1121
     *
1122
     * @param CreativeWork $isPartOf
1123
     * @return CreativeWork|CreativeWorkTrait
1124
     */
1125
    public function setIsPartOf($isPartOf)
1126
    {
1127
        $this->_isPartOf = $isPartOf;
1128
        return $this;
1129
    }
1130
1131
    private $_keywords;
1132
1133
    /**
1134
     * @return string
1135
     */
1136
    public function getKeywords()
1137
    {
1138
        return $this->_keywords;
1139
    }
1140
1141
    /**
1142
     * Keywords or tags used to describe this content.
1143
     * Multiple entries in a keywords list are typically delimited by commas.
1144
     *
1145
     * @param string $keywords
1146
     * @return CreativeWork|CreativeWorkTrait
1147
     */
1148
    public function setKeywords($keywords)
1149
    {
1150
        $this->_keywords = $keywords;
1151
        return $this;
1152
    }
1153
1154
    private $_learningResourceType;
1155
1156
    /**
1157
     * @return string
1158
     */
1159
    public function getLearningResourceType()
1160
    {
1161
        return $this->_learningResourceType;
1162
    }
1163
1164
    /**
1165
     * The predominant type or kind characterizing the learning resource. For example, 'presentation', 'handout'.
1166
     *
1167
     * @param string $learningResourceType
1168
     * @return CreativeWork|CreativeWorkTrait
1169
     */
1170
    public function setLearningResourceType($learningResourceType)
1171
    {
1172
        $this->_learningResourceType = $learningResourceType;
1173
        return $this;
1174
    }
1175
1176
    private $_license;
1177
1178
    /**
1179
     * @return CreativeWork|URL
1180
     */
1181
    public function getLicense()
1182
    {
1183
        return $this->_license;
1184
    }
1185
1186
    /**
1187
     * A license document that applies to this content, typically indicated by URL.
1188
     *
1189
     * @param CreativeWork|URL $license
1190
     * @return CreativeWork|CreativeWorkTrait
1191
     */
1192
    public function setLicense($license)
1193
    {
1194
        $this->_license = $license;
1195
        return $this;
1196
    }
1197
1198
    private $_locationCreated;
1199
1200
    /**
1201
     * @return Place
1202
     */
1203
    public function getLocationCreated()
1204
    {
1205
        return $this->_locationCreated;
1206
    }
1207
1208
    /**
1209
     * The location where the CreativeWork was created, which may not be the same as the location depicted in the CreativeWork.
1210
     *
1211
     * @param Place $locationCreated
1212
     * @return CreativeWork|CreativeWorkTrait
1213
     */
1214
    public function setLocationCreated($locationCreated)
1215
    {
1216
        $this->_locationCreated = $locationCreated;
1217
        return $this;
1218
    }
1219
1220
    private $_mainEntity;
1221
1222
    /**
1223
     * @return Thing
1224
     */
1225
    public function getMainEntity()
1226
    {
1227
        return $this->_mainEntity;
1228
    }
1229
1230
    /**
1231
     * Indicates the primary entity described in some page or other CreativeWork.
1232
     * Inverse property: mainEntityOfPage.
1233
     *
1234
     * @param Thing $mainEntity
1235
     * @return CreativeWork|CreativeWorkTrait
1236
     */
1237
    public function setMainEntity($mainEntity)
1238
    {
1239
        $this->_mainEntity = $mainEntity;
1240
        return $this;
1241
    }
1242
1243
    private $_material;
1244
1245
    /**
1246
     * @return Product|URL|string
1247
     */
1248
    public function getMaterial()
1249
    {
1250
        return $this->_material;
1251
    }
1252
1253
    /**
1254
     * A material that something is made from, e.g. leather, wool, cotton, paper.
1255
     *
1256
     * @param Product|URL|string $material
1257
     * @return CreativeWork|CreativeWorkTrait
1258
     */
1259
    public function setMaterial($material)
1260
    {
1261
        $this->_material = $material;
1262
        return $this;
1263
    }
1264
1265
    private $_mentions;
1266
1267
    /**
1268
     * @return Thing
1269
     */
1270
    public function getMentions()
1271
    {
1272
        return $this->_mentions;
1273
    }
1274
1275
    /**
1276
     * Indicates that the CreativeWork contains a reference to, but is not necessarily about a concept.
1277
     *
1278
     * @param Thing $mentions
1279
     * @return CreativeWork|CreativeWorkTrait
1280
     */
1281
    public function setMentions($mentions)
1282
    {
1283
        $this->_mentions = $mentions;
1284
        return $this;
1285
    }
1286
1287
    private $_offers;
1288
1289
    /**
1290
     * @return Offer
1291
     */
1292
    public function getOffers()
1293
    {
1294
        return $this->_offers;
1295
    }
1296
1297
    /**
1298
     * An offer to provide this item—for example, an offer to sell a product, rent the DVD of a movie,
1299
     * perform a service, or give away tickets to an event.
1300
     *
1301
     * @param Offer $offers
1302
     * @return CreativeWork|CreativeWorkTrait
1303
     */
1304
    public function setOffers($offers)
1305
    {
1306
        $this->_offers = $offers;
1307
        return $this;
1308
    }
1309
1310
    private $_position;
1311
1312
    /**
1313
     * @return int|string
1314
     */
1315
    public function getPosition()
1316
    {
1317
        return $this->_position;
1318
    }
1319
1320
    /**
1321
     * The position of an item in a series or sequence of items.
1322
     *
1323
     * @param int|string $position
1324
     * @return CreativeWork|CreativeWorkTrait
1325
     */
1326
    public function setPosition($position)
1327
    {
1328
        $this->_position = $position;
1329
        return $this;
1330
    }
1331
1332
    private $_producer;
1333
1334
    /**
1335
     * @return Organization|Person
1336
     */
1337
    public function getProducer()
1338
    {
1339
        return $this->_producer;
1340
    }
1341
1342
    /**
1343
     * The person or organization who produced the work (e.g. music album, movie, tv/radio series etc.).
1344
     *
1345
     * @param Organization|Person $producer
1346
     * @return CreativeWork|CreativeWorkTrait
1347
     */
1348
    public function setProducer($producer)
1349
    {
1350
        $this->_producer = $producer;
1351
        return $this;
1352
    }
1353
1354
    private $_provider;
1355
1356
    /**
1357
     * @return Organization|Person
1358
     */
1359
    public function getProvider()
1360
    {
1361
        return $this->_provider;
1362
    }
1363
1364
    /**
1365
     * The service provider, service operator, or service performer; the goods producer. Another party (a seller)
1366
     * may offer those services or goods on behalf of the provider. A provider may also serve as the seller.
1367
     * Supersedes carrier.
1368
     *
1369
     * @param Organization|Person $provider
1370
     * @return CreativeWork|CreativeWorkTrait
1371
     */
1372
    public function setProvider($provider)
1373
    {
1374
        $this->_provider = $provider;
1375
        return $this;
1376
    }
1377
1378
    private $_publication;
1379
1380
    /**
1381
     * @return PublicationEvent
1382
     */
1383
    public function getPublication()
1384
    {
1385
        return $this->_publication;
1386
    }
1387
1388
    /**
1389
     * A publication event associated with the item.
1390
     *
1391
     * @param PublicationEvent $publication
1392
     * @return CreativeWork|CreativeWorkTrait
1393
     */
1394
    public function setPublication($publication)
1395
    {
1396
        $this->_publication = $publication;
1397
        return $this;
1398
    }
1399
1400
    private $_publisher;
1401
1402
    /**
1403
     * @return Organization|Person
1404
     */
1405
    public function getPublisher()
1406
    {
1407
        return $this->_publisher;
1408
    }
1409
1410
    /**
1411
     * The publisher of the creative work.
1412
     *
1413
     * @param Organization|Person $publisher
1414
     * @return CreativeWork|CreativeWorkTrait
1415
     */
1416
    public function setPublisher($publisher)
1417
    {
1418
        $this->_publisher = $publisher;
1419
        return $this;
1420
    }
1421
1422
    private $_publisherImprint;
1423
1424
    /**
1425
     * @return Organization
1426
     */
1427
    public function getPublisherImprint()
1428
    {
1429
        return $this->_publisherImprint;
1430
    }
1431
1432
    /**
1433
     * The publishing division which published the comic.
1434
     *
1435
     * @param Organization $publisherImprint
1436
     * @return CreativeWork|CreativeWorkTrait
1437
     */
1438
    public function setPublisherImprint($publisherImprint)
1439
    {
1440
        $this->_publisherImprint = $publisherImprint;
1441
        return $this;
1442
    }
1443
1444
    private $_publishingPrinciples;
1445
1446
    /**
1447
     * @return CreativeWork|URL
1448
     */
1449
    public function getPublishingPrinciples()
1450
    {
1451
        return $this->_publishingPrinciples;
1452
    }
1453
1454
    /**
1455
     * The publishingPrinciples property indicates (typically via URL) a document describing the editorial principles
1456
     * of an Organization (or individual e.g. a Person writing a blog) that relate to their activities as a publisher,
1457
     * e.g. ethics or diversity policies. When applied to a CreativeWork (e.g. NewsArticle) the principles are those
1458
     * of the party primarily responsible for the creation of the CreativeWork.
1459
     *
1460
     * While such policies are most typically expressed in natural language, sometimes related information
1461
     * (e.g. indicating a funder) can be expressed using schema.org terminology.
1462
     *
1463
     * @param CreativeWork|URL $publishingPrinciples
1464
     * @return CreativeWork|CreativeWorkTrait
1465
     */
1466
    public function setPublishingPrinciples($publishingPrinciples)
1467
    {
1468
        $this->_publishingPrinciples = $publishingPrinciples;
1469
        return $this;
1470
    }
1471
1472
    private $_recordedAt;
1473
1474
    /**
1475
     * @return Event
1476
     */
1477
    public function getRecordedAt()
1478
    {
1479
        return $this->_recordedAt;
1480
    }
1481
1482
    /**
1483
     * The Event where the CreativeWork was recorded. The CreativeWork may capture all or part of the event.
1484
     * Inverse property: recordedIn.
1485
     *
1486
     * @param Event $recordedAt
1487
     * @return CreativeWork|CreativeWorkTrait
1488
     */
1489
    public function setRecordedAt($recordedAt)
1490
    {
1491
        $this->_recordedAt = $recordedAt;
1492
        return $this;
1493
    }
1494
1495
    private $_releasedEvent;
1496
1497
    /**
1498
     * @return PublicationEvent
1499
     */
1500
    public function getReleasedEvent()
1501
    {
1502
        return $this->_releasedEvent;
1503
    }
1504
1505
    /**
1506
     * The place and time the release was issued, expressed as a PublicationEvent.
1507
     *
1508
     * @param PublicationEvent $releasedEvent
1509
     * @return CreativeWork|CreativeWorkTrait
1510
     */
1511
    public function setReleasedEvent($releasedEvent)
1512
    {
1513
        $this->_releasedEvent = $releasedEvent;
1514
        return $this;
1515
    }
1516
1517
    private $_review;
1518
1519
    /**
1520
     * @return Review
1521
     */
1522
    public function getReview()
1523
    {
1524
        return $this->_review;
1525
    }
1526
1527
    /**
1528
     * 	A review of the item. Supersedes reviews.
1529
     *
1530
     * @param Review $review
1531
     * @return CreativeWork|CreativeWorkTrait
1532
     */
1533
    public function setReview($review)
1534
    {
1535
        $this->_review = $review;
1536
        return $this;
1537
    }
1538
1539
    private $_schemaVersion;
1540
1541
    /**
1542
     * @return URL|string
1543
     */
1544
    public function getSchemaVersion()
1545
    {
1546
        return $this->_schemaVersion;
1547
    }
1548
1549
    /**
1550
     * Indicates (by URL or string) a particular version of a schema used in some CreativeWork.
1551
     * For example, a document could declare a schemaVersion using an URL such as http://schema.org/version/2.0/
1552
     * if precise indication of schema version was required by some application.
1553
     *
1554
     * @param URL|string $schemaVersion
1555
     * @return CreativeWork|CreativeWorkTrait
1556
     */
1557
    public function setSchemaVersion($schemaVersion)
1558
    {
1559
        $this->_schemaVersion = $schemaVersion;
1560
        return $this;
1561
    }
1562
1563
    private $_sourceOrganization;
1564
1565
    /**
1566
     * @return Organization
1567
     */
1568
    public function getSourceOrganization()
1569
    {
1570
        return $this->_sourceOrganization;
1571
    }
1572
1573
    /**
1574
     * The Organization on whose behalf the creator was working.
1575
     *
1576
     * @param Organization $sourceOrganization
1577
     * @return CreativeWork|CreativeWorkTrait
1578
     */
1579
    public function setSourceOrganization($sourceOrganization)
1580
    {
1581
        $this->_sourceOrganization = $sourceOrganization;
1582
        return $this;
1583
    }
1584
1585
    private $_spatialCoverage;
1586
1587
    /**
1588
     * @return Place
1589
     */
1590
    public function getSpatialCoverage()
1591
    {
1592
        return $this->_spatialCoverage;
1593
    }
1594
1595
    /**
1596
     * The spatialCoverage of a CreativeWork indicates the place(s) which are the focus of the content.
1597
     * It is a subproperty of contentLocation intended primarily for more technical and detailed materials.
1598
     * For example with a Dataset, it indicates areas that the dataset describes: a dataset of New York weather would
1599
     * have spatialCoverage which was the place: the state of New York. Supersedes spatial.
1600
     *
1601
     * @param Place $spatialCoverage
1602
     * @return CreativeWork|CreativeWorkTrait
1603
     */
1604
    public function setSpatialCoverage($spatialCoverage)
1605
    {
1606
        $this->_spatialCoverage = $spatialCoverage;
1607
        return $this;
1608
    }
1609
1610
    private $_sponsor;
1611
1612
    /**
1613
     * @return Organization|Person
1614
     */
1615
    public function getSponsor()
1616
    {
1617
        return $this->_sponsor;
1618
    }
1619
1620
    /**
1621
     * A person or organization that supports a thing through a pledge, promise, or financial contribution.
1622
     * e.g. a sponsor of a Medical Study or a corporate sponsor of an event.
1623
     *
1624
     * @param Organization|Person $sponsor
1625
     * @return CreativeWork|CreativeWorkTrait
1626
     */
1627
    public function setSponsor($sponsor)
1628
    {
1629
        $this->_sponsor = $sponsor;
1630
        return $this;
1631
    }
1632
1633
    private $_temporalCoverage;
1634
1635
    /**
1636
     * @return DateTime|URL|string
1637
     */
1638
    public function getTemporalCoverage()
1639
    {
1640
        return $this->_temporalCoverage;
1641
    }
1642
1643
    /**
1644
     * The temporalCoverage of a CreativeWork indicates the period that the content applies to,
1645
     * i.e. that it describes, either as a DateTime or as a textual string indicating a time period in ISO 8601 time
1646
     * interval format. In the case of a Dataset it will typically indicate the relevant time period in a precise
1647
     * notation (e.g. for a 2011 census dataset, the year 2011 would be written "2011/2012"). Other forms of content
1648
     * e.g. ScholarlyArticle, Book, TVSeries or TVEpisode may indicate their temporalCoverage in broader terms -
1649
     * textually or via well-known URL. Written works such as books may sometimes have precise temporal coverage too,
1650
     * e.g. a work set in 1939 - 1945 can be indicated in ISO 8601 interval format format via "1939/1945".
1651
     * Supersedes datasetTimeInterval, temporal.
1652
     *
1653
     * @param DateTime|URL|string $temporalCoverage
1654
     * @return CreativeWork|CreativeWorkTrait
1655
     */
1656
    public function setTemporalCoverage($temporalCoverage)
1657
    {
1658
        $this->_temporalCoverage = $temporalCoverage;
1659
        return $this;
1660
    }
1661
1662
    private $_text;
1663
1664
    /**
1665
     * @return string
1666
     */
1667
    public function getText()
1668
    {
1669
        return $this->_text;
1670
    }
1671
1672
    /**
1673
     * The textual content of this CreativeWork.
1674
     *
1675
     * @param string $text
1676
     * @return CreativeWork|CreativeWorkTrait
1677
     */
1678
    public function setText($text)
1679
    {
1680
        $this->_text = $text;
1681
        return $this;
1682
    }
1683
1684
    private $_thumbnailUrl;
1685
1686
    /**
1687
     * @return URL
1688
     */
1689
    public function getThumbnailUrl()
1690
    {
1691
        return $this->_thumbnailUrl;
1692
    }
1693
1694
    /**
1695
     * 	A thumbnail image relevant to the Thing.
1696
     *
1697
     * @param URL $thumbnailUrl
1698
     * @return CreativeWork|CreativeWorkTrait
1699
     */
1700
    public function setThumbnailUrl($thumbnailUrl)
1701
    {
1702
        $this->_thumbnailUrl = $thumbnailUrl;
1703
        return $this;
1704
    }
1705
1706
    private $_timeRequired;
1707
1708
    /**
1709
     * @return Duration
1710
     */
1711
    public function getTimeRequired()
1712
    {
1713
        return $this->_timeRequired;
1714
    }
1715
1716
    /**
1717
     * Approximate or typical time it takes to work with or through this learning resource for the typical intended
1718
     * target audience, e.g. 'P30M', 'P1H25M'.
1719
     *
1720
     * @param Duration $timeRequired
1721
     * @return CreativeWork|CreativeWorkTrait
1722
     */
1723
    public function setTimeRequired($timeRequired)
1724
    {
1725
        $this->_timeRequired = $timeRequired;
1726
        return $this;
1727
    }
1728
1729
    private $_translationOfWork;
1730
1731
    /**
1732
     * @return CreativeWork
1733
     */
1734
    public function getTranslationOfWork()
1735
    {
1736
        return $this->_translationOfWork;
1737
    }
1738
1739
    /**
1740
     * The work that this work has been translated from. e.g. 物种起源 is a translationOf “On the Origin of Species”
1741
     * Inverse property: workTranslation.
1742
     *
1743
     * @param CreativeWork $translationOfWork
1744
     * @return CreativeWork|CreativeWorkTrait
1745
     */
1746
    public function setTranslationOfWork($translationOfWork)
1747
    {
1748
        $this->_translationOfWork = $translationOfWork;
1749
        return $this;
1750
    }
1751
1752
    private $_translator;
1753
1754
    /**
1755
     * @return Organization|Person
1756
     */
1757
    public function getTranslator()
1758
    {
1759
        return $this->_translator;
1760
    }
1761
1762
    /**
1763
     * Organization or person who adapts a creative work to different languages, regional differences and technical
1764
     * requirements of a target market, or that translates during some event.
1765
     *
1766
     * @param Organization|Person $translator
1767
     * @return CreativeWork|CreativeWorkTrait
1768
     */
1769
    public function setTranslator($translator)
1770
    {
1771
        $this->_translator = $translator;
1772
        return $this;
1773
    }
1774
1775
    private $_typicalAgeRange;
1776
1777
    /**
1778
     * @return string
1779
     */
1780
    public function getTypicalAgeRange()
1781
    {
1782
        return $this->_typicalAgeRange;
1783
    }
1784
1785
    /**
1786
     * The typical expected age range, e.g. '7-9', '11-'.
1787
     *
1788
     * @param string $typicalAgeRange
1789
     * @return CreativeWork|CreativeWorkTrait
1790
     */
1791
    public function setTypicalAgeRange($typicalAgeRange)
1792
    {
1793
        $this->_typicalAgeRange = $typicalAgeRange;
1794
        return $this;
1795
    }
1796
1797
    private $_version;
1798
1799
    /**
1800
     * @return int|string
1801
     */
1802
    public function getVersion()
1803
    {
1804
        return $this->_version;
1805
    }
1806
1807
    /**
1808
     * The version of the CreativeWork embodied by a specified resource.
1809
     *
1810
     * @param int|string $version
1811
     * @return CreativeWork|CreativeWorkTrait
1812
     */
1813
    public function setVersion($version)
1814
    {
1815
        $this->_version = $version;
1816
        return $this;
1817
    }
1818
1819
    private $_video;
1820
1821
    /**
1822
     * @return VideoObject
1823
     */
1824
    public function getVideo()
1825
    {
1826
        return $this->_video;
1827
    }
1828
1829
    /**
1830
     * 	An embedded video object.
1831
     *
1832
     * @param VideoObject $video
1833
     * @return CreativeWork|CreativeWorkTrait
1834
     */
1835
    public function setVideo($video)
1836
    {
1837
        $this->_video = $video;
1838
        return $this;
1839
    }
1840
1841
    private $_workExample;
1842
1843
    /**
1844
     * @return CreativeWork
1845
     */
1846
    public function getWorkExample()
1847
    {
1848
        return $this->_workExample;
1849
    }
1850
1851
    /**
1852
     * Example/instance/realization/derivation of the concept of this creative work.
1853
     * eg. The paperback edition, first edition, or eBook.
1854
     * Inverse property: exampleOfWork.
1855
     *
1856
     * @param CreativeWork $workExample
1857
     * @return CreativeWork|CreativeWorkTrait
1858
     */
1859
    public function setWorkExample($workExample)
1860
    {
1861
        $this->_workExample = $workExample;
1862
        return $this;
1863
    }
1864
1865
    private $_workTranslation;
1866
1867
    /**
1868
     * @return CreativeWork
1869
     */
1870
    public function getWorkTranslation()
1871
    {
1872
        return $this->_workTranslation;
1873
    }
1874
1875
    /**
1876
     * A work that is a translation of the content of this work. e.g. 西遊記 has an English workTranslation “Journey to
1877
     * the West”,a German workTranslation “Monkeys Pilgerfahrt” and a Vietnamese translation Tây du ký bình khảo.
1878
     * Inverse property: translationOfWork.
1879
     *
1880
     * @param CreativeWork $workTranslation
1881
     * @return CreativeWork|CreativeWorkTrait
1882
     */
1883
    public function setWorkTranslation($workTranslation)
1884
    {
1885
        $this->_workTranslation = $workTranslation;
1886
        return $this;
1887
    }
1888
1889
}