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

CreativeWorkTrait::setLicense()   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
     * The subject matter of the content.
19
     * Inverse property: subjectOf.
20
     *
21
     * @var Thing
22
     */
23
    private $_about;
24
25
    /**
26
     * @return Thing
27
     */
28
    public function getAbout()
29
    {
30
        return $this->_about;
31
    }
32
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
     * The human sensory perceptual system or cognitive faculty through which a person may process or perceive
45
     * information.
46
     *
47
     * Expected values include: auditory, tactile, textual, visual, colorDependent, chartOnVisual, chemOnVisual,
48
     * diagramOnVisual, mathOnVisual, musicOnVisual, textOnVisual.
49
     *
50
     * @var string
51
     */
52
    private $_accessMode;
53
54
    /**
55
     * @return string
56
     */
57
    public function getAccessMode()
58
    {
59
        return $this->_accessMode;
60
    }
61
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
     * A list of single or combined accessModes that are sufficient to understand all the intellectual content of a
74
     * resource.
75
     *
76
     * Expected values include: auditory, tactile, textual, visual.
77
     *
78
     * @var string
79
     */
80
    private $_accessModeSufficient;
81
82
    /**
83
     * @return string
84
     */
85
    public function getAccessModeSufficient()
86
    {
87
        return $this->_accessModeSufficient;
88
    }
89
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
     * Indicates that the resource is compatible with the referenced accessibility API
102
     * (WebSchemas wiki lists possible values).
103
     *
104
     * @var string
105
     */
106
    private $_accessibilityAPI;
107
108
    /**
109
     * @return string
110
     */
111
    public function getAccessibilityAPI()
112
    {
113
        return $this->_accessibilityAPI;
114
    }
115
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
     * Identifies input methods that are sufficient to fully control the described resource
128
     * (WebSchemas wiki lists possible values).
129
     *
130
     * @var string
131
     */
132
    private $_accessibilityControl;
133
134
    /**
135
     * @return string
136
     */
137
    public function getAccessibilityControl()
138
    {
139
        return $this->_accessibilityControl;
140
    }
141
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
     * Content features of the resource, such as accessible media, alternatives and supported enhancements for accessibility
154
     * (WebSchemas wiki lists possible values).
155
     *
156
     * @var string
157
     */
158
    private $_accessibilityFeature;
159
160
    /**
161
     * @return string
162
     */
163
    public function getAccessibilityFeature()
164
    {
165
        return $this->_accessibilityFeature;
166
    }
167
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
     * A characteristic of the described resource that is physiologically dangerous to some users.
180
     * Related to WCAG 2.0 guideline 2.3 (WebSchemas wiki lists possible values).
181
     *
182
     * @var string
183
     */
184
    private $_accessibilityHazard;
185
186
    /**
187
     * @return string
188
     */
189
    public function getAccessibilityHazard()
190
    {
191
        return $this->_accessibilityHazard;
192
    }
193
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
     * A human-readable summary of specific accessibility features or deficiencies, consistent with the other
206
     * accessibility metadata but expressing subtleties such as "short descriptions are present but long descriptions
207
     * will be needed for non-visual users" or "short descriptions are present and no long descriptions are needed."
208
     *
209
     * @var string
210
     */
211
    private $_accessibilitySummary;
212
213
    /**
214
     * @return string
215
     */
216
    public function getAccessibilitySummary()
217
    {
218
        return $this->_accessibilitySummary;
219
    }
220
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
     * Specifies the Person that is legally accountable for the CreativeWork.
233
     *
234
     * @var Person
235
     */
236
    private $_accountablePerson;
237
238
    /**
239
     * @return Person
240
     */
241
    public function getAccountablePerson()
242
    {
243
        return $this->_accountablePerson;
244
    }
245
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
     * The overall rating, based on a collection of reviews or ratings, of the item.
258
     *
259
     * @var AggregateRating
260
     */
261
    private $_aggregateRating;
262
263
    /**
264
     * @return AggregateRating
265
     */
266
    public function getAggregateRating()
267
    {
268
        return $this->_aggregateRating;
269
    }
270
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
     * A secondary title of the CreativeWork.
283
     *
284
     * @var string
285
     */
286
    private $_alternativeHeadline;
287
288
    /**
289
     * @return string
290
     */
291
    public function getAlternativeHeadline()
292
    {
293
        return $this->_alternativeHeadline;
294
    }
295
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
     * A media object that encodes this CreativeWork. This property is a synonym for encoding.
308
     *
309
     * @var MediaObject
310
     */
311
    private $_associatedMedia;
312
313
    /**
314
     * @return MediaObject
315
     */
316
    public function getAssociatedMedia()
317
    {
318
        return $this->_associatedMedia;
319
    }
320
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
     * An intended audience, i.e. a group for whom something was created. Supersedes serviceAudience.
333
     *
334
     * @var Audience
335
     */
336
    private $_audience;
337
338
    /**
339
     * @return Audience
340
     */
341
    public function getAudience()
342
    {
343
        return $this->_audience;
344
    }
345
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
     * 	An embedded audio object.
358
     *
359
     * @var AudioObject
360
     */
361
    private $_audio;
362
363
    /**
364
     * @return AudioObject
365
     */
366
    public function getAudio()
367
    {
368
        return $this->_audio;
369
    }
370
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
     * The author of this content or rating. Please note that author is special in that HTML 5 provides a special
383
     * mechanism for indicating authorship via the rel tag. That is equivalent to this and may be used interchangeably.
384
     *
385
     * @var Person|Organization
386
     */
387
    private $_author;
388
389
    /**
390
     * @return Organization|Person
391
     */
392
    public function getAuthor()
393
    {
394
        return $this->_author;
395
    }
396
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
     * An award won by or for this item.
409
     * Supersedes awards.
410
     *
411
     * @var string
412
     */
413
    private $_award;
414
415
    /**
416
     * @return string
417
     */
418
    public function getAward()
419
    {
420
        return $this->_award;
421
    }
422
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
     * Fictional person connected with a creative work.
435
     *
436
     * @var Person
437
     */
438
    private $_character;
439
440
    /**
441
     * @return Person
442
     */
443
    public function getCharacter()
444
    {
445
        return $this->_character;
446
    }
447
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
     * A citation or reference to another creative work, such as another publication, web page, scholarly article, etc.
460
     *
461
     * @var CreativeWork|string
462
     */
463
    private $_citation;
464
465
    /**
466
     * @return CreativeWork|string
467
     */
468
    public function getCitation()
469
    {
470
        return $this->_citation;
471
    }
472
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
     * Comments, typically from users.
485
     *
486
     * @var Comment
487
     */
488
    private $_comment;
489
490
    /**
491
     * @return Comment
492
     */
493
    public function getComment()
494
    {
495
        return $this->_comment;
496
    }
497
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
     * The number of comments this CreativeWork (e.g. Article, Question or Answer) has received. This is most
510
     * applicable to works published in Web sites with commenting system; additional comments may exist elsewhere.
511
     *
512
     * @var int
513
     */
514
    private $_commentCount;
515
516
    /**
517
     * @return int
518
     */
519
    public function getCommentCount()
520
    {
521
        return $this->_commentCount;
522
    }
523
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
     * The location depicted or described in the content. For example, the location in a photograph or painting.
536
     *
537
     * @var Place
538
     */
539
    private $_contentLocation;
540
541
    /**
542
     * @return Place
543
     */
544
    public function getContentLocation()
545
    {
546
        return $this->_contentLocation;
547
    }
548
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
     * Official rating of a piece of content—for example,'MPAA PG-13'.
561
     *
562
     * @var string
563
     */
564
    private $_contentRating;
565
566
    /**
567
     * @return string
568
     */
569
    public function getContentRating()
570
    {
571
        return $this->_contentRating;
572
    }
573
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
     * The specific time described by a creative work, for works (e.g. articles, video objects etc.) that emphasise
586
     * a particular moment within an Event.
587
     *
588
     * @var DateTime
589
     */
590
    private $_contentReferenceTime;
591
592
    /**
593
     * @return DateTime
594
     */
595
    public function getContentReferenceTime()
596
    {
597
        return $this->_contentReferenceTime;
598
    }
599
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
     * A secondary contributor to the CreativeWork or Event.
612
     *
613
     * @var Organization|Person
614
     */
615
    private $_contributor;
616
617
    /**
618
     * @return Organization|Person
619
     */
620
    public function getContributor()
621
    {
622
        return $this->_contributor;
623
    }
624
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
     * The party holding the legal copyright to the CreativeWork.
637
     *
638
     * @var Organization|Person
639
     */
640
    private $_copyrightHolder;
641
642
    /**
643
     * @return Organization|Person
644
     */
645
    public function getCopyrightHolder()
646
    {
647
        return $this->_copyrightHolder;
648
    }
649
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
     * The year during which the claimed copyright for the CreativeWork was first asserted.
662
     *
663
     * @var int
664
     */
665
    private $_copyrightYear;
666
667
    /**
668
     * @return mixed
669
     */
670
    public function getCopyrightYear()
671
    {
672
        return $this->_copyrightYear;
673
    }
674
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
     * The creator/author of this CreativeWork. This is the same as the Author property for CreativeWork.
687
     *
688
     * @var Organization|Person
689
     */
690
    private $_creator;
691
692
    /**
693
     * @return Organization|Person
694
     */
695
    public function getCreator()
696
    {
697
        return $this->_creator;
698
    }
699
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
     * The date on which the CreativeWork was created or the item was added to a DataFeed.
712
     *
713
     * @var Date|DateTime
714
     */
715
    private $_dateCreated;
716
717
    /**
718
     * @return Date|DateTime
719
     */
720
    public function getDateCreated()
721
    {
722
        return $this->_dateCreated;
723
    }
724
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
     * The date on which the CreativeWork was most recently modified
737
     * or when the item's entry was modified within a DataFeed.
738
     *
739
     * @var Date|DateTime
740
     */
741
    private $_dateModified;
742
743
    /**
744
     * @return Date|DateTime
745
     */
746
    public function getDateModified()
747
    {
748
        return $this->_dateModified;
749
    }
750
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
     * Date of first broadcast/publication.
763
     *
764
     * @var Date
765
     */
766
    private $_datePublished;
767
768
    /**
769
     * @return Date
770
     */
771
    public function getDatePublished()
772
    {
773
        return $this->_datePublished;
774
    }
775
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
     * A link to the page containing the comments of the CreativeWork.
788
     *
789
     * @var URL
790
     */
791
    private $_discussionUrl;
792
793
    /**
794
     * @return URL
795
     */
796
    public function getDiscussionUrl()
797
    {
798
        return $this->_discussionUrl;
799
    }
800
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
     * Specifies the Person who edited the CreativeWork.
813
     *
814
     * @var Person
815
     */
816
    private $_editor;
817
818
    /**
819
     * @return Person
820
     */
821
    public function getEditor()
822
    {
823
        return $this->_editor;
824
    }
825
826
    /**
827
     * @param Person $editor
828
     */
829
    public function setEditor($editor)
830
    {
831
        $this->_editor = $editor;
832
    }
833
834
    /**
835
     * An alignment to an established educational framework.
836
     *
837
     * @var AlignmentObject
838
     */
839
    private $_educationalAlignment;
840
841
    /**
842
     * @return AlignmentObject
843
     */
844
    public function getEducationalAlignment()
845
    {
846
        return $this->_educationalAlignment;
847
    }
848
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
     * The purpose of a work in the context of education; for example, 'assignment', 'group work'.
861
     *
862
     * @var string
863
     */
864
    private $_educationalUse;
865
866
    /**
867
     * @return string
868
     */
869
    public function getEducationalUse()
870
    {
871
        return $this->_educationalUse;
872
    }
873
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
     * A media object that encodes this CreativeWork. This property is a synonym for associatedMedia.
886
     * Supersedes encodings.
887
     *
888
     * @var MediaObject
889
     */
890
    private $_encoding;
891
892
    /**
893
     * @return MediaObject
894
     */
895
    public function getEncoding()
896
    {
897
        return $this->_encoding;
898
    }
899
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
     * A creative work that this work is an example/instance/realization/derivation of.
912
     * Inverse property: workExample.
913
     *
914
     * @var CreativeWork
915
     */
916
    private $_exampleOfWork;
917
918
    /**
919
     * @return CreativeWork
920
     */
921
    public function getExampleOfWork()
922
    {
923
        return $this->_exampleOfWork;
924
    }
925
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
     * Date the content expires and is no longer useful or available. For example a VideoObject or NewsArticle whose
938
     * availability or relevance is time-limited, or a ClaimReview fact check whose publisher wants to indicate that
939
     * it may no longer be relevant (or helpful to highlight) after some date.
940
     *
941
     * @var Date
942
     */
943
    private $_expires;
944
945
    /**
946
     * @return Date
947
     */
948
    public function getExpires()
949
    {
950
        return $this->_expires;
951
    }
952
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
     * Media type, typically MIME format (see IANA site) of the content e.g. application/zip of a SoftwareApplication
965
     * binary. In cases where a CreativeWork has several media type representations, 'encoding' can be used to indicate
966
     * each MediaObject alongside particular fileFormat information. Unregistered or niche file formats can be indicated
967
     * instead via the most appropriate URL, e.g. defining Web page or a Wikipedia entry.
968
     *
969
     * @var string|URL
970
     */
971
    private $_fileFormat;
972
973
    /**
974
     * @return URL|string
975
     */
976
    public function getFileFormat()
977
    {
978
        return $this->_fileFormat;
979
    }
980
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
     * A person or organization that supports (sponsors) something through some kind of financial contribution.
993
     *
994
     * @var Organization|Person
995
     */
996
    private $_funder;
997
998
    /**
999
     * @return Organization|Person
1000
     */
1001
    public function getFunder()
1002
    {
1003
        return $this->_funder;
1004
    }
1005
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
     * Genre of the creative work, broadcast channel or group.
1018
     *
1019
     * @var URL|string
1020
     */
1021
    private $_genre;
1022
1023
    /**
1024
     * @return URL|string
1025
     */
1026
    public function getGenre()
1027
    {
1028
        return $this->_genre;
1029
    }
1030
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
     * Indicates a CreativeWork that is (in some sense) a part of this CreativeWork.
1043
     * Inverse property: isPartOf.
1044
     *
1045
     * @var CreativeWork
1046
     */
1047
    private $_hasPart;
1048
1049
    /**
1050
     * @return CreativeWork
1051
     */
1052
    public function getHasPart()
1053
    {
1054
        return $this->_hasPart;
1055
    }
1056
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
     * Headline of the article.
1069
     *
1070
     * @var string
1071
     */
1072
    private $_headline;
1073
1074
    /**
1075
     * @return string
1076
     */
1077
    public function getHeadline()
1078
    {
1079
        return $this->_headline;
1080
    }
1081
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
     * The language of the content or performance or used in an action.
1094
     * Please use one of the language codes from the IETF BCP 47 standard. See also availableLanguage.
1095
     * Supersedes language.
1096
     *
1097
     * @var Language|string
1098
     */
1099
    private $_inLanguage;
1100
1101
    /**
1102
     * @return Language|string
1103
     */
1104
    public function getInLanguage()
1105
    {
1106
        return $this->_inLanguage;
1107
    }
1108
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
     * The number of interactions for the CreativeWork using the WebSite or SoftwareApplication.
1121
     * The most specific child type of InteractionCounter should be used.
1122
     *
1123
     * Supersedes interactionCount.
1124
     *
1125
     * @var InteractionCounter
1126
     */
1127
    private $_interactionStatistic;
1128
1129
    /**
1130
     * @return InteractionCounter
1131
     */
1132
    public function getInteractionStatistic()
1133
    {
1134
        return $this->_interactionStatistic;
1135
    }
1136
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
     * The predominant mode of learning supported by the learning resource.
1149
     * Acceptable values are 'active', 'expositive', or 'mixed'.
1150
     *
1151
     * @var string
1152
     */
1153
    private $_interactivityType;
1154
1155
    /**
1156
     * @return string
1157
     */
1158
    public function getInteractivityType()
1159
    {
1160
        return $this->_interactivityType;
1161
    }
1162
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
     * A flag to signal that the item, event, or place is accessible for free.
1175
     * Supersedes free.
1176
     *
1177
     * @var boolean
1178
     */
1179
    private $_isAccessibleForFree;
1180
1181
    /**
1182
     * @return bool
1183
     */
1184
    public function isAccessibleForFree()
1185
    {
1186
        return $this->_isAccessibleForFree;
1187
    }
1188
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
     * A resource that was used in the creation of this resource. This term can be repeated for multiple sources.
1201
     * For example, http://example.com/great-multiplication-intro.html.
1202
     * Supersedes isBasedOnUrl.
1203
     *
1204
     * @var CreativeWork|Product|Url
1205
     */
1206
    private $_isBasedOn;
1207
1208
    /**
1209
     * @return CreativeWork|Product|Url
1210
     */
1211
    public function getisBasedOn()
1212
    {
1213
        return $this->_isBasedOn;
1214
    }
1215
1216
    /**
1217
     * @param CreativeWork|Product|Url $isBasedOn
1218
     * @return CreativeWork|CreativeWorkTrait
1219
     */
1220
    public function setIsBasedOn($isBasedOn)
1221
    {
1222
        $this->_isBasedOn = $isBasedOn;
1223
        return $this;
1224
    }
1225
1226
    /**
1227
     * Indicates whether this content is family friendly.
1228
     *
1229
     * @var boolean
1230
     */
1231
    private $_isFamilyFriendly;
1232
1233
    /**
1234
     * @return bool
1235
     */
1236
    public function isFamilyFriendly()
1237
    {
1238
        return $this->_isFamilyFriendly;
1239
    }
1240
1241
    /**
1242
     * @param bool $isFamilyFriendly
1243
     * @return CreativeWork|CreativeWorkTrait
1244
     */
1245
    public function setIsFamilyFriendly($isFamilyFriendly)
1246
    {
1247
        $this->_isFamilyFriendly = $isFamilyFriendly;
1248
        return $this;
1249
    }
1250
1251
    /**
1252
     * Indicates a CreativeWork that this CreativeWork is (in some sense) part of.
1253
     * Inverse property: hasPart.
1254
     *
1255
     * @var CreativeWork
1256
     */
1257
    private $_isPartOf;
1258
1259
    /**
1260
     * @return CreativeWork
1261
     */
1262
    public function getisPartOf()
1263
    {
1264
        return $this->_isPartOf;
1265
    }
1266
1267
    /**
1268
     * @param CreativeWork $isPartOf
1269
     * @return CreativeWork|CreativeWorkTrait
1270
     */
1271
    public function setIsPartOf($isPartOf)
1272
    {
1273
        $this->_isPartOf = $isPartOf;
1274
        return $this;
1275
    }
1276
1277
    /**
1278
     * Keywords or tags used to describe this content.
1279
     * Multiple entries in a keywords list are typically delimited by commas.
1280
     *
1281
     * @var string
1282
     */
1283
    private $_keywords;
1284
1285
    /**
1286
     * @return string
1287
     */
1288
    public function getKeywords()
1289
    {
1290
        return $this->_keywords;
1291
    }
1292
1293
    /**
1294
     * @param string $keywords
1295
     * @return CreativeWork|CreativeWorkTrait
1296
     */
1297
    public function setKeywords($keywords)
1298
    {
1299
        $this->_keywords = $keywords;
1300
        return $this;
1301
    }
1302
1303
    /**
1304
     * The predominant type or kind characterizing the learning resource. For example, 'presentation', 'handout'.
1305
     *
1306
     * @var string
1307
     */
1308
    private $_learningResourceType;
1309
1310
    /**
1311
     * @return string
1312
     */
1313
    public function getLearningResourceType()
1314
    {
1315
        return $this->_learningResourceType;
1316
    }
1317
1318
    /**
1319
     * @param string $learningResourceType
1320
     * @return CreativeWork|CreativeWorkTrait
1321
     */
1322
    public function setLearningResourceType($learningResourceType)
1323
    {
1324
        $this->_learningResourceType = $learningResourceType;
1325
        return $this;
1326
    }
1327
1328
    /**
1329
     * A license document that applies to this content, typically indicated by URL.
1330
     *
1331
     * @var CreativeWork|URL
1332
     */
1333
    private $_license;
1334
1335
    /**
1336
     * @return CreativeWork|URL
1337
     */
1338
    public function getLicense()
1339
    {
1340
        return $this->_license;
1341
    }
1342
1343
    /**
1344
     * @param CreativeWork|URL $license
1345
     * @return CreativeWork|CreativeWorkTrait
1346
     */
1347
    public function setLicense($license)
1348
    {
1349
        $this->_license = $license;
1350
        return $this;
1351
    }
1352
1353
    /**
1354
     * The location where the CreativeWork was created, which may not be the same as the location depicted in the CreativeWork.
1355
     *
1356
     * @var Place
1357
     */
1358
    private $_locationCreated;
1359
1360
    /**
1361
     * @return Place
1362
     */
1363
    public function getLocationCreated()
1364
    {
1365
        return $this->_locationCreated;
1366
    }
1367
1368
    /**
1369
     * @param Place $locationCreated
1370
     * @return CreativeWork|CreativeWorkTrait
1371
     */
1372
    public function setLocationCreated($locationCreated)
1373
    {
1374
        $this->_locationCreated = $locationCreated;
1375
        return $this;
1376
    }
1377
1378
    /**
1379
     * Indicates the primary entity described in some page or other CreativeWork.
1380
     * Inverse property: mainEntityOfPage.
1381
     *
1382
     * @var Thing
1383
     */
1384
    private $_mainEntity;
1385
1386
    /**
1387
     * @return Thing
1388
     */
1389
    public function getMainEntity()
1390
    {
1391
        return $this->_mainEntity;
1392
    }
1393
1394
    /**
1395
     * @param Thing $mainEntity
1396
     * @return CreativeWork|CreativeWorkTrait
1397
     */
1398
    public function setMainEntity($mainEntity)
1399
    {
1400
        $this->_mainEntity = $mainEntity;
1401
        return $this;
1402
    }
1403
1404
    /**
1405
     * A material that something is made from, e.g. leather, wool, cotton, paper.
1406
     *
1407
     * @var Product|URL|string
1408
     */
1409
    private $_material;
1410
1411
    /**
1412
     * @return Product|URL|string
1413
     */
1414
    public function getMaterial()
1415
    {
1416
        return $this->_material;
1417
    }
1418
1419
    /**
1420
     * @param Product|URL|string $material
1421
     * @return CreativeWork|CreativeWorkTrait
1422
     */
1423
    public function setMaterial($material)
1424
    {
1425
        $this->_material = $material;
1426
        return $this;
1427
    }
1428
1429
    /**
1430
     * Indicates that the CreativeWork contains a reference to, but is not necessarily about a concept.
1431
     *
1432
     * @var Thing
1433
     */
1434
    private $_mentions;
1435
1436
    /**
1437
     * @return Thing
1438
     */
1439
    public function getMentions()
1440
    {
1441
        return $this->_mentions;
1442
    }
1443
1444
    /**
1445
     * @param Thing $mentions
1446
     * @return CreativeWork|CreativeWorkTrait
1447
     */
1448
    public function setMentions($mentions)
1449
    {
1450
        $this->_mentions = $mentions;
1451
        return $this;
1452
    }
1453
1454
    /**
1455
     * An offer to provide this item—for example, an offer to sell a product, rent the DVD of a movie,
1456
     * perform a service, or give away tickets to an event.
1457
     *
1458
     * @var Offer
1459
     */
1460
    private $_offers;
1461
1462
    /**
1463
     * @return Offer
1464
     */
1465
    public function getOffers()
1466
    {
1467
        return $this->_offers;
1468
    }
1469
1470
    /**
1471
     * @param Offer $offers
1472
     * @return CreativeWork|CreativeWorkTrait
1473
     */
1474
    public function setOffers($offers)
1475
    {
1476
        $this->_offers = $offers;
1477
        return $this;
1478
    }
1479
1480
    /**
1481
     * The position of an item in a series or sequence of items.
1482
     *
1483
     * @var int|string
1484
     */
1485
    private $_position;
1486
1487
    /**
1488
     * @return int|string
1489
     */
1490
    public function getPosition()
1491
    {
1492
        return $this->_position;
1493
    }
1494
1495
    /**
1496
     * @param int|string $position
1497
     * @return CreativeWork|CreativeWorkTrait
1498
     */
1499
    public function setPosition($position)
1500
    {
1501
        $this->_position = $position;
1502
        return $this;
1503
    }
1504
1505
    /**
1506
     * The person or organization who produced the work (e.g. music album, movie, tv/radio series etc.).
1507
     *
1508
     * @var Organization|Person
1509
     */
1510
    private $_producer;
1511
1512
    /**
1513
     * @return Organization|Person
1514
     */
1515
    public function getProducer()
1516
    {
1517
        return $this->_producer;
1518
    }
1519
1520
    /**
1521
     * @param Organization|Person $producer
1522
     * @return CreativeWork|CreativeWorkTrait
1523
     */
1524
    public function setProducer($producer)
1525
    {
1526
        $this->_producer = $producer;
1527
        return $this;
1528
    }
1529
1530
    /**
1531
     * The service provider, service operator, or service performer; the goods producer. Another party (a seller)
1532
     * may offer those services or goods on behalf of the provider. A provider may also serve as the seller.
1533
     * Supersedes carrier.
1534
     *
1535
     * @var Organization|Person
1536
     */
1537
    private $_provider;
1538
1539
    /**
1540
     * @return Organization|Person
1541
     */
1542
    public function getProvider()
1543
    {
1544
        return $this->_provider;
1545
    }
1546
1547
    /**
1548
     * @param Organization|Person $provider
1549
     * @return CreativeWork|CreativeWorkTrait
1550
     */
1551
    public function setProvider($provider)
1552
    {
1553
        $this->_provider = $provider;
1554
        return $this;
1555
    }
1556
1557
    /**
1558
     * A publication event associated with the item.
1559
     *
1560
     * @var PublicationEvent
1561
     */
1562
    private $_publication;
1563
1564
    /**
1565
     * @return PublicationEvent
1566
     */
1567
    public function getPublication()
1568
    {
1569
        return $this->_publication;
1570
    }
1571
1572
    /**
1573
     * @param PublicationEvent $publication
1574
     * @return CreativeWork|CreativeWorkTrait
1575
     */
1576
    public function setPublication($publication)
1577
    {
1578
        $this->_publication = $publication;
1579
        return $this;
1580
    }
1581
1582
    /**
1583
     * The publisher of the creative work.
1584
     *
1585
     * @var Organization|Person
1586
     */
1587
    private $_publisher;
1588
1589
    /**
1590
     * @return Organization|Person
1591
     */
1592
    public function getPublisher()
1593
    {
1594
        return $this->_publisher;
1595
    }
1596
1597
    /**
1598
     * @param Organization|Person $publisher
1599
     * @return CreativeWork|CreativeWorkTrait
1600
     */
1601
    public function setPublisher($publisher)
1602
    {
1603
        $this->_publisher = $publisher;
1604
        return $this;
1605
    }
1606
1607
    /**
1608
     * The publishing division which published the comic.
1609
     *
1610
     * @var Organization
1611
     */
1612
    private $_publisherImprint;
1613
1614
    /**
1615
     * @return Organization
1616
     */
1617
    public function getPublisherImprint()
1618
    {
1619
        return $this->_publisherImprint;
1620
    }
1621
1622
    /**
1623
     * @param Organization $publisherImprint
1624
     * @return CreativeWork|CreativeWorkTrait
1625
     */
1626
    public function setPublisherImprint($publisherImprint)
1627
    {
1628
        $this->_publisherImprint = $publisherImprint;
1629
        return $this;
1630
    }
1631
1632
    /**
1633
     * The publishingPrinciples property indicates (typically via URL) a document describing the editorial principles
1634
     * of an Organization (or individual e.g. a Person writing a blog) that relate to their activities as a publisher,
1635
     * e.g. ethics or diversity policies. When applied to a CreativeWork (e.g. NewsArticle) the principles are those
1636
     * of the party primarily responsible for the creation of the CreativeWork.
1637
     *
1638
     * While such policies are most typically expressed in natural language, sometimes related information
1639
     * (e.g. indicating a funder) can be expressed using schema.org terminology.
1640
     *
1641
     * @var CreativeWork|URL
1642
     */
1643
    private $_publishingPrinciples;
1644
1645
    /**
1646
     * @return CreativeWork|URL
1647
     */
1648
    public function getPublishingPrinciples()
1649
    {
1650
        return $this->_publishingPrinciples;
1651
    }
1652
1653
    /**
1654
     * @param CreativeWork|URL $publishingPrinciples
1655
     * @return CreativeWork|CreativeWorkTrait
1656
     */
1657
    public function setPublishingPrinciples($publishingPrinciples)
1658
    {
1659
        $this->_publishingPrinciples = $publishingPrinciples;
1660
        return $this;
1661
    }
1662
1663
    /**
1664
     * The Event where the CreativeWork was recorded. The CreativeWork may capture all or part of the event.
1665
     * Inverse property: recordedIn.
1666
     *
1667
     * @var Event
1668
     */
1669
    private $_recordedAt;
1670
1671
    /**
1672
     * @return Event
1673
     */
1674
    public function getRecordedAt()
1675
    {
1676
        return $this->_recordedAt;
1677
    }
1678
1679
    /**
1680
     * @param Event $recordedAt
1681
     * @return CreativeWork|CreativeWorkTrait
1682
     */
1683
    public function setRecordedAt($recordedAt)
1684
    {
1685
        $this->_recordedAt = $recordedAt;
1686
        return $this;
1687
    }
1688
1689
    /**
1690
     * The place and time the release was issued, expressed as a PublicationEvent.
1691
     *
1692
     * @var PublicationEvent
1693
     */
1694
    private $_releasedEvent;
1695
1696
    /**
1697
     * @return PublicationEvent
1698
     */
1699
    public function getReleasedEvent()
1700
    {
1701
        return $this->_releasedEvent;
1702
    }
1703
1704
    /**
1705
     * @param PublicationEvent $releasedEvent
1706
     * @return CreativeWork|CreativeWorkTrait
1707
     */
1708
    public function setReleasedEvent($releasedEvent)
1709
    {
1710
        $this->_releasedEvent = $releasedEvent;
1711
        return $this;
1712
    }
1713
1714
    /**
1715
     * 	A review of the item. Supersedes reviews.
1716
     *
1717
     * @var Review
1718
     */
1719
    private $_review;
1720
1721
    /**
1722
     * @return Review
1723
     */
1724
    public function getReview()
1725
    {
1726
        return $this->_review;
1727
    }
1728
1729
    /**
1730
     * @param Review $review
1731
     * @return CreativeWork|CreativeWorkTrait
1732
     */
1733
    public function setReview($review)
1734
    {
1735
        $this->_review = $review;
1736
        return $this;
1737
    }
1738
1739
    /**
1740
     * Indicates (by URL or string) a particular version of a schema used in some CreativeWork.
1741
     * For example, a document could declare a schemaVersion using an URL such as http://schema.org/version/2.0/
1742
     * if precise indication of schema version was required by some application.
1743
     *
1744
     * @var URL|string
1745
     */
1746
    private $_schemaVersion;
1747
1748
    /**
1749
     * @return URL|string
1750
     */
1751
    public function getSchemaVersion()
1752
    {
1753
        return $this->_schemaVersion;
1754
    }
1755
1756
    /**
1757
     * @param URL|string $schemaVersion
1758
     * @return CreativeWork|CreativeWorkTrait
1759
     */
1760
    public function setSchemaVersion($schemaVersion)
1761
    {
1762
        $this->_schemaVersion = $schemaVersion;
1763
        return $this;
1764
    }
1765
1766
    /**
1767
     * The Organization on whose behalf the creator was working.
1768
     *
1769
     * @var Organization
1770
     */
1771
    private $_sourceOrganization;
1772
1773
    /**
1774
     * @return Organization
1775
     */
1776
    public function getSourceOrganization()
1777
    {
1778
        return $this->_sourceOrganization;
1779
    }
1780
1781
    /**
1782
     * @param Organization $sourceOrganization
1783
     * @return CreativeWork|CreativeWorkTrait
1784
     */
1785
    public function setSourceOrganization($sourceOrganization)
1786
    {
1787
        $this->_sourceOrganization = $sourceOrganization;
1788
        return $this;
1789
    }
1790
1791
    /**
1792
     * The spatialCoverage of a CreativeWork indicates the place(s) which are the focus of the content.
1793
     * It is a subproperty of contentLocation intended primarily for more technical and detailed materials.
1794
     * For example with a Dataset, it indicates areas that the dataset describes: a dataset of New York weather would
1795
     * have spatialCoverage which was the place: the state of New York. Supersedes spatial.
1796
     *
1797
     * @var Place
1798
     */
1799
    private $_spatialCoverage;
1800
1801
    /**
1802
     * @return Place
1803
     */
1804
    public function getSpatialCoverage()
1805
    {
1806
        return $this->_spatialCoverage;
1807
    }
1808
1809
    /**
1810
     * @param Place $spatialCoverage
1811
     * @return CreativeWork|CreativeWorkTrait
1812
     */
1813
    public function setSpatialCoverage($spatialCoverage)
1814
    {
1815
        $this->_spatialCoverage = $spatialCoverage;
1816
        return $this;
1817
    }
1818
1819
    /**
1820
     * A person or organization that supports a thing through a pledge, promise, or financial contribution.
1821
     * e.g. a sponsor of a Medical Study or a corporate sponsor of an event.
1822
     *
1823
     * @var Organization|Person
1824
     */
1825
    private $_sponsor;
1826
1827
    /**
1828
     * @return Organization|Person
1829
     */
1830
    public function getSponsor()
1831
    {
1832
        return $this->_sponsor;
1833
    }
1834
1835
    /**
1836
     * @param Organization|Person $sponsor
1837
     * @return CreativeWork|CreativeWorkTrait
1838
     */
1839
    public function setSponsor($sponsor)
1840
    {
1841
        $this->_sponsor = $sponsor;
1842
        return $this;
1843
    }
1844
1845
    /**
1846
     * The temporalCoverage of a CreativeWork indicates the period that the content applies to,
1847
     * i.e. that it describes, either as a DateTime or as a textual string indicating a time period in ISO 8601 time
1848
     * interval format. In the case of a Dataset it will typically indicate the relevant time period in a precise
1849
     * notation (e.g. for a 2011 census dataset, the year 2011 would be written "2011/2012"). Other forms of content
1850
     * e.g. ScholarlyArticle, Book, TVSeries or TVEpisode may indicate their temporalCoverage in broader terms -
1851
     * textually or via well-known URL. Written works such as books may sometimes have precise temporal coverage too,
1852
     * e.g. a work set in 1939 - 1945 can be indicated in ISO 8601 interval format format via "1939/1945".
1853
     * Supersedes datasetTimeInterval, temporal.
1854
     *
1855
     * @var DateTime|URL|string
1856
     */
1857
    private $_temporalCoverage;
1858
1859
    /**
1860
     * @return DateTime|URL|string
1861
     */
1862
    public function getTemporalCoverage()
1863
    {
1864
        return $this->_temporalCoverage;
1865
    }
1866
1867
    /**
1868
     * @param DateTime|URL|string $temporalCoverage
1869
     * @return CreativeWork|CreativeWorkTrait
1870
     */
1871
    public function setTemporalCoverage($temporalCoverage)
1872
    {
1873
        $this->_temporalCoverage = $temporalCoverage;
1874
        return $this;
1875
    }
1876
1877
    /**
1878
     * The textual content of this CreativeWork.
1879
     *
1880
     * @var string
1881
     */
1882
    private $_text;
1883
1884
    /**
1885
     * @return string
1886
     */
1887
    public function getText()
1888
    {
1889
        return $this->_text;
1890
    }
1891
1892
    /**
1893
     * @param string $text
1894
     * @return CreativeWork|CreativeWorkTrait
1895
     */
1896
    public function setText($text)
1897
    {
1898
        $this->_text = $text;
1899
        return $this;
1900
    }
1901
1902
    /**
1903
     * 	A thumbnail image relevant to the Thing.
1904
     *
1905
     * @var URL
1906
     */
1907
    private $_thumbnailUrl;
1908
1909
    /**
1910
     * @return URL
1911
     */
1912
    public function getThumbnailUrl()
1913
    {
1914
        return $this->_thumbnailUrl;
1915
    }
1916
1917
    /**
1918
     * @param URL $thumbnailUrl
1919
     * @return CreativeWork|CreativeWorkTrait
1920
     */
1921
    public function setThumbnailUrl($thumbnailUrl)
1922
    {
1923
        $this->_thumbnailUrl = $thumbnailUrl;
1924
        return $this;
1925
    }
1926
1927
    /**
1928
     * Approximate or typical time it takes to work with or through this learning resource for the typical intended
1929
     * target audience, e.g. 'P30M', 'P1H25M'.
1930
     *
1931
     * @var Duration
1932
     */
1933
    private $_timeRequired;
1934
1935
    /**
1936
     * @return Duration
1937
     */
1938
    public function getTimeRequired()
1939
    {
1940
        return $this->_timeRequired;
1941
    }
1942
1943
    /**
1944
     * @param Duration $timeRequired
1945
     * @return CreativeWork|CreativeWorkTrait
1946
     */
1947
    public function setTimeRequired($timeRequired)
1948
    {
1949
        $this->_timeRequired = $timeRequired;
1950
        return $this;
1951
    }
1952
1953
    /**
1954
     * The work that this work has been translated from. e.g. 物种起源 is a translationOf “On the Origin of Species”
1955
     * Inverse property: workTranslation.
1956
     *
1957
     * @var CreativeWork
1958
     */
1959
    private $_translationOfWork;
1960
1961
    /**
1962
     * @return CreativeWork
1963
     */
1964
    public function getTranslationOfWork()
1965
    {
1966
        return $this->_translationOfWork;
1967
    }
1968
1969
    /**
1970
     * @param CreativeWork $translationOfWork
1971
     * @return CreativeWork|CreativeWorkTrait
1972
     */
1973
    public function setTranslationOfWork($translationOfWork)
1974
    {
1975
        $this->_translationOfWork = $translationOfWork;
1976
        return $this;
1977
    }
1978
1979
    /**
1980
     * Organization or person who adapts a creative work to different languages, regional differences and technical
1981
     * requirements of a target market, or that translates during some event.
1982
     *
1983
     * @var Organization|Person
1984
     */
1985
    private $_translator;
1986
1987
    /**
1988
     * @return Organization|Person
1989
     */
1990
    public function getTranslator()
1991
    {
1992
        return $this->_translator;
1993
    }
1994
1995
    /**
1996
     * @param Organization|Person $translator
1997
     * @return CreativeWork|CreativeWorkTrait
1998
     */
1999
    public function setTranslator($translator)
2000
    {
2001
        $this->_translator = $translator;
2002
        return $this;
2003
    }
2004
2005
    /**
2006
     * The typical expected age range, e.g. '7-9', '11-'.
2007
     *
2008
     * @var string
2009
     */
2010
    private $_typicalAgeRange;
2011
2012
    /**
2013
     * @return string
2014
     */
2015
    public function getTypicalAgeRange()
2016
    {
2017
        return $this->_typicalAgeRange;
2018
    }
2019
2020
    /**
2021
     * @param string $typicalAgeRange
2022
     * @return CreativeWork|CreativeWorkTrait
2023
     */
2024
    public function setTypicalAgeRange($typicalAgeRange)
2025
    {
2026
        $this->_typicalAgeRange = $typicalAgeRange;
2027
        return $this;
2028
    }
2029
2030
    /**
2031
     * The version of the CreativeWork embodied by a specified resource.
2032
     *
2033
     * @var int|string
2034
     */
2035
    private $_version;
2036
2037
    /**
2038
     * @return int|string
2039
     */
2040
    public function getVersion()
2041
    {
2042
        return $this->_version;
2043
    }
2044
2045
    /**
2046
     * @param int|string $version
2047
     * @return CreativeWork|CreativeWorkTrait
2048
     */
2049
    public function setVersion($version)
2050
    {
2051
        $this->_version = $version;
2052
        return $this;
2053
    }
2054
2055
    /**
2056
     * 	An embedded video object.
2057
     *
2058
     * @var VideoObject
2059
     */
2060
    private $_video;
2061
2062
    /**
2063
     * @return VideoObject
2064
     */
2065
    public function getVideo()
2066
    {
2067
        return $this->_video;
2068
    }
2069
2070
    /**
2071
     * @param VideoObject $video
2072
     * @return CreativeWork|CreativeWorkTrait
2073
     */
2074
    public function setVideo($video)
2075
    {
2076
        $this->_video = $video;
2077
        return $this;
2078
    }
2079
2080
    /**
2081
     * Example/instance/realization/derivation of the concept of this creative work.
2082
     * eg. The paperback edition, first edition, or eBook.
2083
     * Inverse property: exampleOfWork.
2084
     *
2085
     * @var CreativeWork
2086
     */
2087
    private $_workExample;
2088
2089
    /**
2090
     * @return CreativeWork
2091
     */
2092
    public function getWorkExample()
2093
    {
2094
        return $this->_workExample;
2095
    }
2096
2097
    /**
2098
     * @param CreativeWork $workExample
2099
     * @return CreativeWork|CreativeWorkTrait
2100
     */
2101
    public function setWorkExample($workExample)
2102
    {
2103
        $this->_workExample = $workExample;
2104
        return $this;
2105
    }
2106
2107
    /**
2108
     * A work that is a translation of the content of this work. e.g. 西遊記 has an English workTranslation “Journey to
2109
     * the West”,a German workTranslation “Monkeys Pilgerfahrt” and a Vietnamese translation Tây du ký bình khảo.
2110
     * Inverse property: translationOfWork.
2111
     *
2112
     * @var CreativeWork
2113
     */
2114
    private $_workTranslation;
2115
2116
    /**
2117
     * @return CreativeWork
2118
     */
2119
    public function getWorkTranslation()
2120
    {
2121
        return $this->_workTranslation;
2122
    }
2123
2124
    /**
2125
     * @param CreativeWork $workTranslation
2126
     * @return CreativeWork|CreativeWorkTrait
2127
     */
2128
    public function setWorkTranslation($workTranslation)
2129
    {
2130
        $this->_workTranslation = $workTranslation;
2131
        return $this;
2132
    }
2133
2134
}