Completed
Push — master ( 91a776...8c22b7 )
by Sebastian
07:46 queued 02:57
created

CreativeWork::encodingFormat()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
3
namespace Spatie\SchemaOrg;
4
5
/**
6
 * The most generic kind of creative work, including books, movies, photographs,
7
 * software programs, etc.
8
 *
9
 * @see http://schema.org/CreativeWork
10
 */
11
class CreativeWork extends Thing
12
{
13
    /**
14
     * The subject matter of the content.
15
     *
16
     * @param Thing|Thing[] $about
17
     *
18
     * @return static
19
     *
20
     * @see http://schema.org/about
21
     */
22
    public function about($about)
23
    {
24
        return $this->setProperty('about', $about);
25
    }
26
27
    /**
28
     * The human sensory perceptual system or cognitive faculty through which a
29
     * person may process or perceive information. Expected values include:
30
     * auditory, tactile, textual, visual, colorDependent, chartOnVisual,
31
     * chemOnVisual, diagramOnVisual, mathOnVisual, musicOnVisual, textOnVisual.
32
     *
33
     * @param string|string[] $accessMode
34
     *
35
     * @return static
36
     *
37
     * @see http://schema.org/accessMode
38
     */
39
    public function accessMode($accessMode)
40
    {
41
        return $this->setProperty('accessMode', $accessMode);
42
    }
43
44
    /**
45
     * A list of single or combined accessModes that are sufficient to
46
     * understand all the intellectual content of a resource. Expected values
47
     * include:  auditory, tactile, textual, visual.
48
     *
49
     * @param string|string[] $accessModeSufficient
50
     *
51
     * @return static
52
     *
53
     * @see http://schema.org/accessModeSufficient
54
     */
55
    public function accessModeSufficient($accessModeSufficient)
56
    {
57
        return $this->setProperty('accessModeSufficient', $accessModeSufficient);
58
    }
59
60
    /**
61
     * Indicates that the resource is compatible with the referenced
62
     * accessibility API ([WebSchemas wiki lists possible
63
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
64
     *
65
     * @param string|string[] $accessibilityAPI
66
     *
67
     * @return static
68
     *
69
     * @see http://schema.org/accessibilityAPI
70
     */
71
    public function accessibilityAPI($accessibilityAPI)
72
    {
73
        return $this->setProperty('accessibilityAPI', $accessibilityAPI);
74
    }
75
76
    /**
77
     * Identifies input methods that are sufficient to fully control the
78
     * described resource ([WebSchemas wiki lists possible
79
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
80
     *
81
     * @param string|string[] $accessibilityControl
82
     *
83
     * @return static
84
     *
85
     * @see http://schema.org/accessibilityControl
86
     */
87
    public function accessibilityControl($accessibilityControl)
88
    {
89
        return $this->setProperty('accessibilityControl', $accessibilityControl);
90
    }
91
92
    /**
93
     * Content features of the resource, such as accessible media, alternatives
94
     * and supported enhancements for accessibility ([WebSchemas wiki lists
95
     * possible values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
96
     *
97
     * @param string|string[] $accessibilityFeature
98
     *
99
     * @return static
100
     *
101
     * @see http://schema.org/accessibilityFeature
102
     */
103
    public function accessibilityFeature($accessibilityFeature)
104
    {
105
        return $this->setProperty('accessibilityFeature', $accessibilityFeature);
106
    }
107
108
    /**
109
     * A characteristic of the described resource that is physiologically
110
     * dangerous to some users. Related to WCAG 2.0 guideline 2.3 ([WebSchemas
111
     * wiki lists possible
112
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
113
     *
114
     * @param string|string[] $accessibilityHazard
115
     *
116
     * @return static
117
     *
118
     * @see http://schema.org/accessibilityHazard
119
     */
120
    public function accessibilityHazard($accessibilityHazard)
121
    {
122
        return $this->setProperty('accessibilityHazard', $accessibilityHazard);
123
    }
124
125
    /**
126
     * A human-readable summary of specific accessibility features or
127
     * deficiencies, consistent with the other accessibility metadata but
128
     * expressing subtleties such as "short descriptions are present but long
129
     * descriptions will be needed for non-visual users" or "short descriptions
130
     * are present and no long descriptions are needed."
131
     *
132
     * @param string|string[] $accessibilitySummary
133
     *
134
     * @return static
135
     *
136
     * @see http://schema.org/accessibilitySummary
137
     */
138
    public function accessibilitySummary($accessibilitySummary)
139
    {
140
        return $this->setProperty('accessibilitySummary', $accessibilitySummary);
141
    }
142
143
    /**
144
     * Specifies the Person that is legally accountable for the CreativeWork.
145
     *
146
     * @param Person|Person[] $accountablePerson
147
     *
148
     * @return static
149
     *
150
     * @see http://schema.org/accountablePerson
151
     */
152
    public function accountablePerson($accountablePerson)
153
    {
154
        return $this->setProperty('accountablePerson', $accountablePerson);
155
    }
156
157
    /**
158
     * The overall rating, based on a collection of reviews or ratings, of the
159
     * item.
160
     *
161
     * @param AggregateRating|AggregateRating[] $aggregateRating
162
     *
163
     * @return static
164
     *
165
     * @see http://schema.org/aggregateRating
166
     */
167
    public function aggregateRating($aggregateRating)
168
    {
169
        return $this->setProperty('aggregateRating', $aggregateRating);
170
    }
171
172
    /**
173
     * A secondary title of the CreativeWork.
174
     *
175
     * @param string|string[] $alternativeHeadline
176
     *
177
     * @return static
178
     *
179
     * @see http://schema.org/alternativeHeadline
180
     */
181
    public function alternativeHeadline($alternativeHeadline)
182
    {
183
        return $this->setProperty('alternativeHeadline', $alternativeHeadline);
184
    }
185
186
    /**
187
     * A media object that encodes this CreativeWork. This property is a synonym
188
     * for encoding.
189
     *
190
     * @param MediaObject|MediaObject[] $associatedMedia
191
     *
192
     * @return static
193
     *
194
     * @see http://schema.org/associatedMedia
195
     */
196
    public function associatedMedia($associatedMedia)
197
    {
198
        return $this->setProperty('associatedMedia', $associatedMedia);
199
    }
200
201
    /**
202
     * An intended audience, i.e. a group for whom something was created.
203
     *
204
     * @param Audience|Audience[] $audience
205
     *
206
     * @return static
207
     *
208
     * @see http://schema.org/audience
209
     */
210
    public function audience($audience)
211
    {
212
        return $this->setProperty('audience', $audience);
213
    }
214
215
    /**
216
     * An embedded audio object.
217
     *
218
     * @param AudioObject|AudioObject[] $audio
219
     *
220
     * @return static
221
     *
222
     * @see http://schema.org/audio
223
     */
224
    public function audio($audio)
225
    {
226
        return $this->setProperty('audio', $audio);
227
    }
228
229
    /**
230
     * The author of this content or rating. Please note that author is special
231
     * in that HTML 5 provides a special mechanism for indicating authorship via
232
     * the rel tag. That is equivalent to this and may be used interchangeably.
233
     *
234
     * @param Organization|Organization[]|Person|Person[] $author
235
     *
236
     * @return static
237
     *
238
     * @see http://schema.org/author
239
     */
240
    public function author($author)
241
    {
242
        return $this->setProperty('author', $author);
243
    }
244
245
    /**
246
     * An award won by or for this item.
247
     *
248
     * @param string|string[] $award
249
     *
250
     * @return static
251
     *
252
     * @see http://schema.org/award
253
     */
254
    public function award($award)
255
    {
256
        return $this->setProperty('award', $award);
257
    }
258
259
    /**
260
     * Awards won by or for this item.
261
     *
262
     * @param string|string[] $awards
263
     *
264
     * @return static
265
     *
266
     * @see http://schema.org/awards
267
     */
268
    public function awards($awards)
269
    {
270
        return $this->setProperty('awards', $awards);
271
    }
272
273
    /**
274
     * Fictional person connected with a creative work.
275
     *
276
     * @param Person|Person[] $character
277
     *
278
     * @return static
279
     *
280
     * @see http://schema.org/character
281
     */
282
    public function character($character)
283
    {
284
        return $this->setProperty('character', $character);
285
    }
286
287
    /**
288
     * A citation or reference to another creative work, such as another
289
     * publication, web page, scholarly article, etc.
290
     *
291
     * @param CreativeWork|CreativeWork[]|string|string[] $citation
292
     *
293
     * @return static
294
     *
295
     * @see http://schema.org/citation
296
     */
297
    public function citation($citation)
298
    {
299
        return $this->setProperty('citation', $citation);
300
    }
301
302
    /**
303
     * Comments, typically from users.
304
     *
305
     * @param Comment|Comment[] $comment
306
     *
307
     * @return static
308
     *
309
     * @see http://schema.org/comment
310
     */
311
    public function comment($comment)
312
    {
313
        return $this->setProperty('comment', $comment);
314
    }
315
316
    /**
317
     * The number of comments this CreativeWork (e.g. Article, Question or
318
     * Answer) has received. This is most applicable to works published in Web
319
     * sites with commenting system; additional comments may exist elsewhere.
320
     *
321
     * @param int|int[] $commentCount
322
     *
323
     * @return static
324
     *
325
     * @see http://schema.org/commentCount
326
     */
327
    public function commentCount($commentCount)
328
    {
329
        return $this->setProperty('commentCount', $commentCount);
330
    }
331
332
    /**
333
     * The location depicted or described in the content. For example, the
334
     * location in a photograph or painting.
335
     *
336
     * @param Place|Place[] $contentLocation
337
     *
338
     * @return static
339
     *
340
     * @see http://schema.org/contentLocation
341
     */
342
    public function contentLocation($contentLocation)
343
    {
344
        return $this->setProperty('contentLocation', $contentLocation);
345
    }
346
347
    /**
348
     * Official rating of a piece of content&#x2014;for example,'MPAA PG-13'.
349
     *
350
     * @param Rating|Rating[]|string|string[] $contentRating
351
     *
352
     * @return static
353
     *
354
     * @see http://schema.org/contentRating
355
     */
356
    public function contentRating($contentRating)
357
    {
358
        return $this->setProperty('contentRating', $contentRating);
359
    }
360
361
    /**
362
     * A secondary contributor to the CreativeWork or Event.
363
     *
364
     * @param Organization|Organization[]|Person|Person[] $contributor
365
     *
366
     * @return static
367
     *
368
     * @see http://schema.org/contributor
369
     */
370
    public function contributor($contributor)
371
    {
372
        return $this->setProperty('contributor', $contributor);
373
    }
374
375
    /**
376
     * The party holding the legal copyright to the CreativeWork.
377
     *
378
     * @param Organization|Organization[]|Person|Person[] $copyrightHolder
379
     *
380
     * @return static
381
     *
382
     * @see http://schema.org/copyrightHolder
383
     */
384
    public function copyrightHolder($copyrightHolder)
385
    {
386
        return $this->setProperty('copyrightHolder', $copyrightHolder);
387
    }
388
389
    /**
390
     * The year during which the claimed copyright for the CreativeWork was
391
     * first asserted.
392
     *
393
     * @param float|float[]|int|int[] $copyrightYear
394
     *
395
     * @return static
396
     *
397
     * @see http://schema.org/copyrightYear
398
     */
399
    public function copyrightYear($copyrightYear)
400
    {
401
        return $this->setProperty('copyrightYear', $copyrightYear);
402
    }
403
404
    /**
405
     * The creator/author of this CreativeWork. This is the same as the Author
406
     * property for CreativeWork.
407
     *
408
     * @param Organization|Organization[]|Person|Person[] $creator
409
     *
410
     * @return static
411
     *
412
     * @see http://schema.org/creator
413
     */
414
    public function creator($creator)
415
    {
416
        return $this->setProperty('creator', $creator);
417
    }
418
419
    /**
420
     * The date on which the CreativeWork was created or the item was added to a
421
     * DataFeed.
422
     *
423
     * @param \DateTimeInterface|\DateTimeInterface[] $dateCreated
424
     *
425
     * @return static
426
     *
427
     * @see http://schema.org/dateCreated
428
     */
429
    public function dateCreated($dateCreated)
430
    {
431
        return $this->setProperty('dateCreated', $dateCreated);
432
    }
433
434
    /**
435
     * The date on which the CreativeWork was most recently modified or when the
436
     * item's entry was modified within a DataFeed.
437
     *
438
     * @param \DateTimeInterface|\DateTimeInterface[] $dateModified
439
     *
440
     * @return static
441
     *
442
     * @see http://schema.org/dateModified
443
     */
444
    public function dateModified($dateModified)
445
    {
446
        return $this->setProperty('dateModified', $dateModified);
447
    }
448
449
    /**
450
     * Date of first broadcast/publication.
451
     *
452
     * @param \DateTimeInterface|\DateTimeInterface[] $datePublished
453
     *
454
     * @return static
455
     *
456
     * @see http://schema.org/datePublished
457
     */
458
    public function datePublished($datePublished)
459
    {
460
        return $this->setProperty('datePublished', $datePublished);
461
    }
462
463
    /**
464
     * A link to the page containing the comments of the CreativeWork.
465
     *
466
     * @param string|string[] $discussionUrl
467
     *
468
     * @return static
469
     *
470
     * @see http://schema.org/discussionUrl
471
     */
472
    public function discussionUrl($discussionUrl)
473
    {
474
        return $this->setProperty('discussionUrl', $discussionUrl);
475
    }
476
477
    /**
478
     * Specifies the Person who edited the CreativeWork.
479
     *
480
     * @param Person|Person[] $editor
481
     *
482
     * @return static
483
     *
484
     * @see http://schema.org/editor
485
     */
486
    public function editor($editor)
487
    {
488
        return $this->setProperty('editor', $editor);
489
    }
490
491
    /**
492
     * An alignment to an established educational framework.
493
     *
494
     * @param AlignmentObject|AlignmentObject[] $educationalAlignment
495
     *
496
     * @return static
497
     *
498
     * @see http://schema.org/educationalAlignment
499
     */
500
    public function educationalAlignment($educationalAlignment)
501
    {
502
        return $this->setProperty('educationalAlignment', $educationalAlignment);
503
    }
504
505
    /**
506
     * The purpose of a work in the context of education; for example,
507
     * 'assignment', 'group work'.
508
     *
509
     * @param string|string[] $educationalUse
510
     *
511
     * @return static
512
     *
513
     * @see http://schema.org/educationalUse
514
     */
515
    public function educationalUse($educationalUse)
516
    {
517
        return $this->setProperty('educationalUse', $educationalUse);
518
    }
519
520
    /**
521
     * A media object that encodes this CreativeWork. This property is a synonym
522
     * for associatedMedia.
523
     *
524
     * @param MediaObject|MediaObject[] $encoding
525
     *
526
     * @return static
527
     *
528
     * @see http://schema.org/encoding
529
     */
530
    public function encoding($encoding)
531
    {
532
        return $this->setProperty('encoding', $encoding);
533
    }
534
535
    /**
536
     * Media type typically expressed using a MIME format (see [IANA
537
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml) and
538
     * [MDN
539
     * reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types))
540
     * e.g. application/zip for a SoftwareApplication binary, audio/mpeg for
541
     * .mp3 etc.).
542
     * 
543
     * In cases where a [[CreativeWork]] has several media type representations,
544
     * [[encoding]] can be used to indicate each [[MediaObject]] alongside
545
     * particular [[encodingFormat]] information.
546
     * 
547
     * Unregistered or niche encoding and file formats can be indicated instead
548
     * via the most appropriate URL, e.g. defining Web page or a
549
     * Wikipedia/Wikidata entry.
550
     *
551
     * @param string|string[] $encodingFormat
552
     *
553
     * @return static
554
     *
555
     * @see http://schema.org/encodingFormat
556
     */
557
    public function encodingFormat($encodingFormat)
558
    {
559
        return $this->setProperty('encodingFormat', $encodingFormat);
560
    }
561
562
    /**
563
     * A media object that encodes this CreativeWork.
564
     *
565
     * @param MediaObject|MediaObject[] $encodings
566
     *
567
     * @return static
568
     *
569
     * @see http://schema.org/encodings
570
     */
571
    public function encodings($encodings)
572
    {
573
        return $this->setProperty('encodings', $encodings);
574
    }
575
576
    /**
577
     * A creative work that this work is an
578
     * example/instance/realization/derivation of.
579
     *
580
     * @param CreativeWork|CreativeWork[] $exampleOfWork
581
     *
582
     * @return static
583
     *
584
     * @see http://schema.org/exampleOfWork
585
     */
586
    public function exampleOfWork($exampleOfWork)
587
    {
588
        return $this->setProperty('exampleOfWork', $exampleOfWork);
589
    }
590
591
    /**
592
     * Date the content expires and is no longer useful or available. For
593
     * example a [[VideoObject]] or [[NewsArticle]] whose availability or
594
     * relevance is time-limited, or a [[ClaimReview]] fact check whose
595
     * publisher wants to indicate that it may no longer be relevant (or helpful
596
     * to highlight) after some date.
597
     *
598
     * @param \DateTimeInterface|\DateTimeInterface[] $expires
599
     *
600
     * @return static
601
     *
602
     * @see http://schema.org/expires
603
     */
604
    public function expires($expires)
605
    {
606
        return $this->setProperty('expires', $expires);
607
    }
608
609
    /**
610
     * Media type, typically MIME format (see [IANA
611
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml)) of
612
     * the content e.g. application/zip of a SoftwareApplication binary. In
613
     * cases where a CreativeWork has several media type representations,
614
     * 'encoding' can be used to indicate each MediaObject alongside particular
615
     * fileFormat information. Unregistered or niche file formats can be
616
     * indicated instead via the most appropriate URL, e.g. defining Web page or
617
     * a Wikipedia entry.
618
     *
619
     * @param string|string[] $fileFormat
620
     *
621
     * @return static
622
     *
623
     * @see http://schema.org/fileFormat
624
     */
625
    public function fileFormat($fileFormat)
626
    {
627
        return $this->setProperty('fileFormat', $fileFormat);
628
    }
629
630
    /**
631
     * A person or organization that supports (sponsors) something through some
632
     * kind of financial contribution.
633
     *
634
     * @param Organization|Organization[]|Person|Person[] $funder
635
     *
636
     * @return static
637
     *
638
     * @see http://schema.org/funder
639
     */
640
    public function funder($funder)
641
    {
642
        return $this->setProperty('funder', $funder);
643
    }
644
645
    /**
646
     * Genre of the creative work, broadcast channel or group.
647
     *
648
     * @param string|string[] $genre
649
     *
650
     * @return static
651
     *
652
     * @see http://schema.org/genre
653
     */
654
    public function genre($genre)
655
    {
656
        return $this->setProperty('genre', $genre);
657
    }
658
659
    /**
660
     * Indicates an item or CreativeWork that is part of this item, or
661
     * CreativeWork (in some sense).
662
     *
663
     * @param CreativeWork|CreativeWork[] $hasPart
664
     *
665
     * @return static
666
     *
667
     * @see http://schema.org/hasPart
668
     */
669
    public function hasPart($hasPart)
670
    {
671
        return $this->setProperty('hasPart', $hasPart);
672
    }
673
674
    /**
675
     * Headline of the article.
676
     *
677
     * @param string|string[] $headline
678
     *
679
     * @return static
680
     *
681
     * @see http://schema.org/headline
682
     */
683
    public function headline($headline)
684
    {
685
        return $this->setProperty('headline', $headline);
686
    }
687
688
    /**
689
     * The language of the content or performance or used in an action. Please
690
     * use one of the language codes from the [IETF BCP 47
691
     * standard](http://tools.ietf.org/html/bcp47). See also
692
     * [[availableLanguage]].
693
     *
694
     * @param Language|Language[]|string|string[] $inLanguage
695
     *
696
     * @return static
697
     *
698
     * @see http://schema.org/inLanguage
699
     */
700
    public function inLanguage($inLanguage)
701
    {
702
        return $this->setProperty('inLanguage', $inLanguage);
703
    }
704
705
    /**
706
     * The number of interactions for the CreativeWork using the WebSite or
707
     * SoftwareApplication. The most specific child type of InteractionCounter
708
     * should be used.
709
     *
710
     * @param InteractionCounter|InteractionCounter[] $interactionStatistic
711
     *
712
     * @return static
713
     *
714
     * @see http://schema.org/interactionStatistic
715
     */
716
    public function interactionStatistic($interactionStatistic)
717
    {
718
        return $this->setProperty('interactionStatistic', $interactionStatistic);
719
    }
720
721
    /**
722
     * The predominant mode of learning supported by the learning resource.
723
     * Acceptable values are 'active', 'expositive', or 'mixed'.
724
     *
725
     * @param string|string[] $interactivityType
726
     *
727
     * @return static
728
     *
729
     * @see http://schema.org/interactivityType
730
     */
731
    public function interactivityType($interactivityType)
732
    {
733
        return $this->setProperty('interactivityType', $interactivityType);
734
    }
735
736
    /**
737
     * A flag to signal that the item, event, or place is accessible for free.
738
     *
739
     * @param bool|bool[] $isAccessibleForFree
740
     *
741
     * @return static
742
     *
743
     * @see http://schema.org/isAccessibleForFree
744
     */
745
    public function isAccessibleForFree($isAccessibleForFree)
746
    {
747
        return $this->setProperty('isAccessibleForFree', $isAccessibleForFree);
748
    }
749
750
    /**
751
     * A resource that was used in the creation of this resource. This term can
752
     * be repeated for multiple sources. For example,
753
     * http://example.com/great-multiplication-intro.html.
754
     *
755
     * @param CreativeWork|CreativeWork[]|Product|Product[]|string|string[] $isBasedOn
756
     *
757
     * @return static
758
     *
759
     * @see http://schema.org/isBasedOn
760
     */
761
    public function isBasedOn($isBasedOn)
762
    {
763
        return $this->setProperty('isBasedOn', $isBasedOn);
764
    }
765
766
    /**
767
     * A resource that was used in the creation of this resource. This term can
768
     * be repeated for multiple sources. For example,
769
     * http://example.com/great-multiplication-intro.html.
770
     *
771
     * @param CreativeWork|CreativeWork[]|Product|Product[]|string|string[] $isBasedOnUrl
772
     *
773
     * @return static
774
     *
775
     * @see http://schema.org/isBasedOnUrl
776
     */
777
    public function isBasedOnUrl($isBasedOnUrl)
778
    {
779
        return $this->setProperty('isBasedOnUrl', $isBasedOnUrl);
780
    }
781
782
    /**
783
     * Indicates whether this content is family friendly.
784
     *
785
     * @param bool|bool[] $isFamilyFriendly
786
     *
787
     * @return static
788
     *
789
     * @see http://schema.org/isFamilyFriendly
790
     */
791
    public function isFamilyFriendly($isFamilyFriendly)
792
    {
793
        return $this->setProperty('isFamilyFriendly', $isFamilyFriendly);
794
    }
795
796
    /**
797
     * Indicates an item or CreativeWork that this item, or CreativeWork (in
798
     * some sense), is part of.
799
     *
800
     * @param CreativeWork|CreativeWork[] $isPartOf
801
     *
802
     * @return static
803
     *
804
     * @see http://schema.org/isPartOf
805
     */
806
    public function isPartOf($isPartOf)
807
    {
808
        return $this->setProperty('isPartOf', $isPartOf);
809
    }
810
811
    /**
812
     * Keywords or tags used to describe this content. Multiple entries in a
813
     * keywords list are typically delimited by commas.
814
     *
815
     * @param string|string[] $keywords
816
     *
817
     * @return static
818
     *
819
     * @see http://schema.org/keywords
820
     */
821
    public function keywords($keywords)
822
    {
823
        return $this->setProperty('keywords', $keywords);
824
    }
825
826
    /**
827
     * The predominant type or kind characterizing the learning resource. For
828
     * example, 'presentation', 'handout'.
829
     *
830
     * @param string|string[] $learningResourceType
831
     *
832
     * @return static
833
     *
834
     * @see http://schema.org/learningResourceType
835
     */
836
    public function learningResourceType($learningResourceType)
837
    {
838
        return $this->setProperty('learningResourceType', $learningResourceType);
839
    }
840
841
    /**
842
     * A license document that applies to this content, typically indicated by
843
     * URL.
844
     *
845
     * @param CreativeWork|CreativeWork[]|string|string[] $license
846
     *
847
     * @return static
848
     *
849
     * @see http://schema.org/license
850
     */
851
    public function license($license)
852
    {
853
        return $this->setProperty('license', $license);
854
    }
855
856
    /**
857
     * The location where the CreativeWork was created, which may not be the
858
     * same as the location depicted in the CreativeWork.
859
     *
860
     * @param Place|Place[] $locationCreated
861
     *
862
     * @return static
863
     *
864
     * @see http://schema.org/locationCreated
865
     */
866
    public function locationCreated($locationCreated)
867
    {
868
        return $this->setProperty('locationCreated', $locationCreated);
869
    }
870
871
    /**
872
     * Indicates the primary entity described in some page or other
873
     * CreativeWork.
874
     *
875
     * @param Thing|Thing[] $mainEntity
876
     *
877
     * @return static
878
     *
879
     * @see http://schema.org/mainEntity
880
     */
881
    public function mainEntity($mainEntity)
882
    {
883
        return $this->setProperty('mainEntity', $mainEntity);
884
    }
885
886
    /**
887
     * A material that something is made from, e.g. leather, wool, cotton,
888
     * paper.
889
     *
890
     * @param Product|Product[]|string|string[] $material
891
     *
892
     * @return static
893
     *
894
     * @see http://schema.org/material
895
     */
896
    public function material($material)
897
    {
898
        return $this->setProperty('material', $material);
899
    }
900
901
    /**
902
     * Indicates that the CreativeWork contains a reference to, but is not
903
     * necessarily about a concept.
904
     *
905
     * @param Thing|Thing[] $mentions
906
     *
907
     * @return static
908
     *
909
     * @see http://schema.org/mentions
910
     */
911
    public function mentions($mentions)
912
    {
913
        return $this->setProperty('mentions', $mentions);
914
    }
915
916
    /**
917
     * An offer to provide this item&#x2014;for example, an offer to sell a
918
     * product, rent the DVD of a movie, perform a service, or give away tickets
919
     * to an event.
920
     *
921
     * @param Offer|Offer[] $offers
922
     *
923
     * @return static
924
     *
925
     * @see http://schema.org/offers
926
     */
927
    public function offers($offers)
928
    {
929
        return $this->setProperty('offers', $offers);
930
    }
931
932
    /**
933
     * The position of an item in a series or sequence of items.
934
     *
935
     * @param int|int[]|string|string[] $position
936
     *
937
     * @return static
938
     *
939
     * @see http://schema.org/position
940
     */
941
    public function position($position)
942
    {
943
        return $this->setProperty('position', $position);
944
    }
945
946
    /**
947
     * The person or organization who produced the work (e.g. music album,
948
     * movie, tv/radio series etc.).
949
     *
950
     * @param Organization|Organization[]|Person|Person[] $producer
951
     *
952
     * @return static
953
     *
954
     * @see http://schema.org/producer
955
     */
956
    public function producer($producer)
957
    {
958
        return $this->setProperty('producer', $producer);
959
    }
960
961
    /**
962
     * The service provider, service operator, or service performer; the goods
963
     * producer. Another party (a seller) may offer those services or goods on
964
     * behalf of the provider. A provider may also serve as the seller.
965
     *
966
     * @param Organization|Organization[]|Person|Person[] $provider
967
     *
968
     * @return static
969
     *
970
     * @see http://schema.org/provider
971
     */
972
    public function provider($provider)
973
    {
974
        return $this->setProperty('provider', $provider);
975
    }
976
977
    /**
978
     * A publication event associated with the item.
979
     *
980
     * @param PublicationEvent|PublicationEvent[] $publication
981
     *
982
     * @return static
983
     *
984
     * @see http://schema.org/publication
985
     */
986
    public function publication($publication)
987
    {
988
        return $this->setProperty('publication', $publication);
989
    }
990
991
    /**
992
     * The publisher of the creative work.
993
     *
994
     * @param Organization|Organization[]|Person|Person[] $publisher
995
     *
996
     * @return static
997
     *
998
     * @see http://schema.org/publisher
999
     */
1000
    public function publisher($publisher)
1001
    {
1002
        return $this->setProperty('publisher', $publisher);
1003
    }
1004
1005
    /**
1006
     * The publishingPrinciples property indicates (typically via [[URL]]) a
1007
     * document describing the editorial principles of an [[Organization]] (or
1008
     * individual e.g. a [[Person]] writing a blog) that relate to their
1009
     * activities as a publisher, e.g. ethics or diversity policies. When
1010
     * applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are
1011
     * those of the party primarily responsible for the creation of the
1012
     * [[CreativeWork]].
1013
     * 
1014
     * While such policies are most typically expressed in natural language,
1015
     * sometimes related information (e.g. indicating a [[funder]]) can be
1016
     * expressed using schema.org terminology.
1017
     *
1018
     * @param CreativeWork|CreativeWork[]|string|string[] $publishingPrinciples
1019
     *
1020
     * @return static
1021
     *
1022
     * @see http://schema.org/publishingPrinciples
1023
     */
1024
    public function publishingPrinciples($publishingPrinciples)
1025
    {
1026
        return $this->setProperty('publishingPrinciples', $publishingPrinciples);
1027
    }
1028
1029
    /**
1030
     * The Event where the CreativeWork was recorded. The CreativeWork may
1031
     * capture all or part of the event.
1032
     *
1033
     * @param Event|Event[] $recordedAt
1034
     *
1035
     * @return static
1036
     *
1037
     * @see http://schema.org/recordedAt
1038
     */
1039
    public function recordedAt($recordedAt)
1040
    {
1041
        return $this->setProperty('recordedAt', $recordedAt);
1042
    }
1043
1044
    /**
1045
     * The place and time the release was issued, expressed as a
1046
     * PublicationEvent.
1047
     *
1048
     * @param PublicationEvent|PublicationEvent[] $releasedEvent
1049
     *
1050
     * @return static
1051
     *
1052
     * @see http://schema.org/releasedEvent
1053
     */
1054
    public function releasedEvent($releasedEvent)
1055
    {
1056
        return $this->setProperty('releasedEvent', $releasedEvent);
1057
    }
1058
1059
    /**
1060
     * A review of the item.
1061
     *
1062
     * @param Review|Review[] $review
1063
     *
1064
     * @return static
1065
     *
1066
     * @see http://schema.org/review
1067
     */
1068
    public function review($review)
1069
    {
1070
        return $this->setProperty('review', $review);
1071
    }
1072
1073
    /**
1074
     * Review of the item.
1075
     *
1076
     * @param Review|Review[] $reviews
1077
     *
1078
     * @return static
1079
     *
1080
     * @see http://schema.org/reviews
1081
     */
1082
    public function reviews($reviews)
1083
    {
1084
        return $this->setProperty('reviews', $reviews);
1085
    }
1086
1087
    /**
1088
     * Indicates (by URL or string) a particular version of a schema used in
1089
     * some CreativeWork. For example, a document could declare a schemaVersion
1090
     * using an URL such as http://schema.org/version/2.0/ if precise indication
1091
     * of schema version was required by some application.
1092
     *
1093
     * @param string|string[] $schemaVersion
1094
     *
1095
     * @return static
1096
     *
1097
     * @see http://schema.org/schemaVersion
1098
     */
1099
    public function schemaVersion($schemaVersion)
1100
    {
1101
        return $this->setProperty('schemaVersion', $schemaVersion);
1102
    }
1103
1104
    /**
1105
     * The Organization on whose behalf the creator was working.
1106
     *
1107
     * @param Organization|Organization[] $sourceOrganization
1108
     *
1109
     * @return static
1110
     *
1111
     * @see http://schema.org/sourceOrganization
1112
     */
1113
    public function sourceOrganization($sourceOrganization)
1114
    {
1115
        return $this->setProperty('sourceOrganization', $sourceOrganization);
1116
    }
1117
1118
    /**
1119
     * The spatialCoverage of a CreativeWork indicates the place(s) which are
1120
     * the focus of the content. It is a subproperty of
1121
     *       contentLocation intended primarily for more technical and detailed
1122
     * materials. For example with a Dataset, it indicates
1123
     *       areas that the dataset describes: a dataset of New York weather
1124
     * would have spatialCoverage which was the place: the state of New York.
1125
     *
1126
     * @param Place|Place[] $spatialCoverage
1127
     *
1128
     * @return static
1129
     *
1130
     * @see http://schema.org/spatialCoverage
1131
     */
1132
    public function spatialCoverage($spatialCoverage)
1133
    {
1134
        return $this->setProperty('spatialCoverage', $spatialCoverage);
1135
    }
1136
1137
    /**
1138
     * A person or organization that supports a thing through a pledge, promise,
1139
     * or financial contribution. e.g. a sponsor of a Medical Study or a
1140
     * corporate sponsor of an event.
1141
     *
1142
     * @param Organization|Organization[]|Person|Person[] $sponsor
1143
     *
1144
     * @return static
1145
     *
1146
     * @see http://schema.org/sponsor
1147
     */
1148
    public function sponsor($sponsor)
1149
    {
1150
        return $this->setProperty('sponsor', $sponsor);
1151
    }
1152
1153
    /**
1154
     * The temporalCoverage of a CreativeWork indicates the period that the
1155
     * content applies to, i.e. that it describes, either as a DateTime or as a
1156
     * textual string indicating a time period in [ISO 8601 time interval
1157
     * format](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals). In
1158
     *       the case of a Dataset it will typically indicate the relevant time
1159
     * period in a precise notation (e.g. for a 2011 census dataset, the year
1160
     * 2011 would be written "2011/2012"). Other forms of content e.g.
1161
     * ScholarlyArticle, Book, TVSeries or TVEpisode may indicate their
1162
     * temporalCoverage in broader terms - textually or via well-known URL.
1163
     *       Written works such as books may sometimes have precise temporal
1164
     * coverage too, e.g. a work set in 1939 - 1945 can be indicated in ISO 8601
1165
     * interval format format via "1939/1945".
1166
     *
1167
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporalCoverage
1168
     *
1169
     * @return static
1170
     *
1171
     * @see http://schema.org/temporalCoverage
1172
     */
1173
    public function temporalCoverage($temporalCoverage)
1174
    {
1175
        return $this->setProperty('temporalCoverage', $temporalCoverage);
1176
    }
1177
1178
    /**
1179
     * The textual content of this CreativeWork.
1180
     *
1181
     * @param string|string[] $text
1182
     *
1183
     * @return static
1184
     *
1185
     * @see http://schema.org/text
1186
     */
1187
    public function text($text)
1188
    {
1189
        return $this->setProperty('text', $text);
1190
    }
1191
1192
    /**
1193
     * A thumbnail image relevant to the Thing.
1194
     *
1195
     * @param string|string[] $thumbnailUrl
1196
     *
1197
     * @return static
1198
     *
1199
     * @see http://schema.org/thumbnailUrl
1200
     */
1201
    public function thumbnailUrl($thumbnailUrl)
1202
    {
1203
        return $this->setProperty('thumbnailUrl', $thumbnailUrl);
1204
    }
1205
1206
    /**
1207
     * Approximate or typical time it takes to work with or through this
1208
     * learning resource for the typical intended target audience, e.g. 'P30M',
1209
     * 'P1H25M'.
1210
     *
1211
     * @param Duration|Duration[] $timeRequired
1212
     *
1213
     * @return static
1214
     *
1215
     * @see http://schema.org/timeRequired
1216
     */
1217
    public function timeRequired($timeRequired)
1218
    {
1219
        return $this->setProperty('timeRequired', $timeRequired);
1220
    }
1221
1222
    /**
1223
     * Organization or person who adapts a creative work to different languages,
1224
     * regional differences and technical requirements of a target market, or
1225
     * that translates during some event.
1226
     *
1227
     * @param Organization|Organization[]|Person|Person[] $translator
1228
     *
1229
     * @return static
1230
     *
1231
     * @see http://schema.org/translator
1232
     */
1233
    public function translator($translator)
1234
    {
1235
        return $this->setProperty('translator', $translator);
1236
    }
1237
1238
    /**
1239
     * The typical expected age range, e.g. '7-9', '11-'.
1240
     *
1241
     * @param string|string[] $typicalAgeRange
1242
     *
1243
     * @return static
1244
     *
1245
     * @see http://schema.org/typicalAgeRange
1246
     */
1247
    public function typicalAgeRange($typicalAgeRange)
1248
    {
1249
        return $this->setProperty('typicalAgeRange', $typicalAgeRange);
1250
    }
1251
1252
    /**
1253
     * The version of the CreativeWork embodied by a specified resource.
1254
     *
1255
     * @param float|float[]|int|int[]|string|string[] $version
1256
     *
1257
     * @return static
1258
     *
1259
     * @see http://schema.org/version
1260
     */
1261
    public function version($version)
1262
    {
1263
        return $this->setProperty('version', $version);
1264
    }
1265
1266
    /**
1267
     * An embedded video object.
1268
     *
1269
     * @param VideoObject|VideoObject[] $video
1270
     *
1271
     * @return static
1272
     *
1273
     * @see http://schema.org/video
1274
     */
1275
    public function video($video)
1276
    {
1277
        return $this->setProperty('video', $video);
1278
    }
1279
1280
    /**
1281
     * Example/instance/realization/derivation of the concept of this creative
1282
     * work. eg. The paperback edition, first edition, or eBook.
1283
     *
1284
     * @param CreativeWork|CreativeWork[] $workExample
1285
     *
1286
     * @return static
1287
     *
1288
     * @see http://schema.org/workExample
1289
     */
1290
    public function workExample($workExample)
1291
    {
1292
        return $this->setProperty('workExample', $workExample);
1293
    }
1294
1295
}
1296