Completed
Pull Request — master (#1735)
by
unknown
03:01
created

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