Code Duplication    Length = 1674-1725 lines in 7 locations

src/CreativeWorkSeason.php 1 location

@@ 15-1688 (lines=1674) @@
12
 * @see http://schema.org/CreativeWorkSeason
13
 *
14
 */
15
class CreativeWorkSeason extends BaseType implements CreativeWorkSeasonContract, CreativeWorkContract, ThingContract
16
{
17
    /**
18
     * The subject matter of the content.
19
     *
20
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $about
21
     *
22
     * @return static
23
     *
24
     * @see http://schema.org/about
25
     */
26
    public function about($about)
27
    {
28
        return $this->setProperty('about', $about);
29
    }
30
31
    /**
32
     * The human sensory perceptual system or cognitive faculty through which a
33
     * person may process or perceive information. Expected values include:
34
     * auditory, tactile, textual, visual, colorDependent, chartOnVisual,
35
     * chemOnVisual, diagramOnVisual, mathOnVisual, musicOnVisual, textOnVisual.
36
     *
37
     * @param string|string[] $accessMode
38
     *
39
     * @return static
40
     *
41
     * @see http://schema.org/accessMode
42
     */
43
    public function accessMode($accessMode)
44
    {
45
        return $this->setProperty('accessMode', $accessMode);
46
    }
47
48
    /**
49
     * A list of single or combined accessModes that are sufficient to
50
     * understand all the intellectual content of a resource. Expected values
51
     * include:  auditory, tactile, textual, visual.
52
     *
53
     * @param \Spatie\SchemaOrg\Contracts\ItemListContract|\Spatie\SchemaOrg\Contracts\ItemListContract[] $accessModeSufficient
54
     *
55
     * @return static
56
     *
57
     * @see http://schema.org/accessModeSufficient
58
     */
59
    public function accessModeSufficient($accessModeSufficient)
60
    {
61
        return $this->setProperty('accessModeSufficient', $accessModeSufficient);
62
    }
63
64
    /**
65
     * Indicates that the resource is compatible with the referenced
66
     * accessibility API ([WebSchemas wiki lists possible
67
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
68
     *
69
     * @param string|string[] $accessibilityAPI
70
     *
71
     * @return static
72
     *
73
     * @see http://schema.org/accessibilityAPI
74
     */
75
    public function accessibilityAPI($accessibilityAPI)
76
    {
77
        return $this->setProperty('accessibilityAPI', $accessibilityAPI);
78
    }
79
80
    /**
81
     * Identifies input methods that are sufficient to fully control the
82
     * described resource ([WebSchemas wiki lists possible
83
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
84
     *
85
     * @param string|string[] $accessibilityControl
86
     *
87
     * @return static
88
     *
89
     * @see http://schema.org/accessibilityControl
90
     */
91
    public function accessibilityControl($accessibilityControl)
92
    {
93
        return $this->setProperty('accessibilityControl', $accessibilityControl);
94
    }
95
96
    /**
97
     * Content features of the resource, such as accessible media, alternatives
98
     * and supported enhancements for accessibility ([WebSchemas wiki lists
99
     * possible values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
100
     *
101
     * @param string|string[] $accessibilityFeature
102
     *
103
     * @return static
104
     *
105
     * @see http://schema.org/accessibilityFeature
106
     */
107
    public function accessibilityFeature($accessibilityFeature)
108
    {
109
        return $this->setProperty('accessibilityFeature', $accessibilityFeature);
110
    }
111
112
    /**
113
     * A characteristic of the described resource that is physiologically
114
     * dangerous to some users. Related to WCAG 2.0 guideline 2.3 ([WebSchemas
115
     * wiki lists possible
116
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
117
     *
118
     * @param string|string[] $accessibilityHazard
119
     *
120
     * @return static
121
     *
122
     * @see http://schema.org/accessibilityHazard
123
     */
124
    public function accessibilityHazard($accessibilityHazard)
125
    {
126
        return $this->setProperty('accessibilityHazard', $accessibilityHazard);
127
    }
128
129
    /**
130
     * A human-readable summary of specific accessibility features or
131
     * deficiencies, consistent with the other accessibility metadata but
132
     * expressing subtleties such as "short descriptions are present but long
133
     * descriptions will be needed for non-visual users" or "short descriptions
134
     * are present and no long descriptions are needed."
135
     *
136
     * @param string|string[] $accessibilitySummary
137
     *
138
     * @return static
139
     *
140
     * @see http://schema.org/accessibilitySummary
141
     */
142
    public function accessibilitySummary($accessibilitySummary)
143
    {
144
        return $this->setProperty('accessibilitySummary', $accessibilitySummary);
145
    }
146
147
    /**
148
     * Specifies the Person that is legally accountable for the CreativeWork.
149
     *
150
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $accountablePerson
151
     *
152
     * @return static
153
     *
154
     * @see http://schema.org/accountablePerson
155
     */
156
    public function accountablePerson($accountablePerson)
157
    {
158
        return $this->setProperty('accountablePerson', $accountablePerson);
159
    }
160
161
    /**
162
     * An actor, e.g. in tv, radio, movie, video games etc., or in an event.
163
     * Actors can be associated with individual items or with a series, episode,
164
     * clip.
165
     *
166
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $actor
167
     *
168
     * @return static
169
     *
170
     * @see http://schema.org/actor
171
     */
172
    public function actor($actor)
173
    {
174
        return $this->setProperty('actor', $actor);
175
    }
176
177
    /**
178
     * An additional type for the item, typically used for adding more specific
179
     * types from external vocabularies in microdata syntax. This is a
180
     * relationship between something and a class that the thing is in. In RDFa
181
     * syntax, it is better to use the native RDFa syntax - the 'typeof'
182
     * attribute - for multiple types. Schema.org tools may have only weaker
183
     * understanding of extra types, in particular those defined externally.
184
     *
185
     * @param string|string[] $additionalType
186
     *
187
     * @return static
188
     *
189
     * @see http://schema.org/additionalType
190
     */
191
    public function additionalType($additionalType)
192
    {
193
        return $this->setProperty('additionalType', $additionalType);
194
    }
195
196
    /**
197
     * The overall rating, based on a collection of reviews or ratings, of the
198
     * item.
199
     *
200
     * @param \Spatie\SchemaOrg\Contracts\AggregateRatingContract|\Spatie\SchemaOrg\Contracts\AggregateRatingContract[] $aggregateRating
201
     *
202
     * @return static
203
     *
204
     * @see http://schema.org/aggregateRating
205
     */
206
    public function aggregateRating($aggregateRating)
207
    {
208
        return $this->setProperty('aggregateRating', $aggregateRating);
209
    }
210
211
    /**
212
     * An alias for the item.
213
     *
214
     * @param string|string[] $alternateName
215
     *
216
     * @return static
217
     *
218
     * @see http://schema.org/alternateName
219
     */
220
    public function alternateName($alternateName)
221
    {
222
        return $this->setProperty('alternateName', $alternateName);
223
    }
224
225
    /**
226
     * A secondary title of the CreativeWork.
227
     *
228
     * @param string|string[] $alternativeHeadline
229
     *
230
     * @return static
231
     *
232
     * @see http://schema.org/alternativeHeadline
233
     */
234
    public function alternativeHeadline($alternativeHeadline)
235
    {
236
        return $this->setProperty('alternativeHeadline', $alternativeHeadline);
237
    }
238
239
    /**
240
     * A media object that encodes this CreativeWork. This property is a synonym
241
     * for encoding.
242
     *
243
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $associatedMedia
244
     *
245
     * @return static
246
     *
247
     * @see http://schema.org/associatedMedia
248
     */
249
    public function associatedMedia($associatedMedia)
250
    {
251
        return $this->setProperty('associatedMedia', $associatedMedia);
252
    }
253
254
    /**
255
     * An intended audience, i.e. a group for whom something was created.
256
     *
257
     * @param \Spatie\SchemaOrg\Contracts\AudienceContract|\Spatie\SchemaOrg\Contracts\AudienceContract[] $audience
258
     *
259
     * @return static
260
     *
261
     * @see http://schema.org/audience
262
     */
263
    public function audience($audience)
264
    {
265
        return $this->setProperty('audience', $audience);
266
    }
267
268
    /**
269
     * An embedded audio object.
270
     *
271
     * @param \Spatie\SchemaOrg\Contracts\AudioObjectContract|\Spatie\SchemaOrg\Contracts\AudioObjectContract[]|\Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[] $audio
272
     *
273
     * @return static
274
     *
275
     * @see http://schema.org/audio
276
     */
277
    public function audio($audio)
278
    {
279
        return $this->setProperty('audio', $audio);
280
    }
281
282
    /**
283
     * The author of this content or rating. Please note that author is special
284
     * in that HTML 5 provides a special mechanism for indicating authorship via
285
     * the rel tag. That is equivalent to this and may be used interchangeably.
286
     *
287
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $author
288
     *
289
     * @return static
290
     *
291
     * @see http://schema.org/author
292
     */
293
    public function author($author)
294
    {
295
        return $this->setProperty('author', $author);
296
    }
297
298
    /**
299
     * An award won by or for this item.
300
     *
301
     * @param string|string[] $award
302
     *
303
     * @return static
304
     *
305
     * @see http://schema.org/award
306
     */
307
    public function award($award)
308
    {
309
        return $this->setProperty('award', $award);
310
    }
311
312
    /**
313
     * Awards won by or for this item.
314
     *
315
     * @param string|string[] $awards
316
     *
317
     * @return static
318
     *
319
     * @see http://schema.org/awards
320
     */
321
    public function awards($awards)
322
    {
323
        return $this->setProperty('awards', $awards);
324
    }
325
326
    /**
327
     * Fictional person connected with a creative work.
328
     *
329
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $character
330
     *
331
     * @return static
332
     *
333
     * @see http://schema.org/character
334
     */
335
    public function character($character)
336
    {
337
        return $this->setProperty('character', $character);
338
    }
339
340
    /**
341
     * A citation or reference to another creative work, such as another
342
     * publication, web page, scholarly article, etc.
343
     *
344
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $citation
345
     *
346
     * @return static
347
     *
348
     * @see http://schema.org/citation
349
     */
350
    public function citation($citation)
351
    {
352
        return $this->setProperty('citation', $citation);
353
    }
354
355
    /**
356
     * Comments, typically from users.
357
     *
358
     * @param \Spatie\SchemaOrg\Contracts\CommentContract|\Spatie\SchemaOrg\Contracts\CommentContract[] $comment
359
     *
360
     * @return static
361
     *
362
     * @see http://schema.org/comment
363
     */
364
    public function comment($comment)
365
    {
366
        return $this->setProperty('comment', $comment);
367
    }
368
369
    /**
370
     * The number of comments this CreativeWork (e.g. Article, Question or
371
     * Answer) has received. This is most applicable to works published in Web
372
     * sites with commenting system; additional comments may exist elsewhere.
373
     *
374
     * @param int|int[] $commentCount
375
     *
376
     * @return static
377
     *
378
     * @see http://schema.org/commentCount
379
     */
380
    public function commentCount($commentCount)
381
    {
382
        return $this->setProperty('commentCount', $commentCount);
383
    }
384
385
    /**
386
     * The location depicted or described in the content. For example, the
387
     * location in a photograph or painting.
388
     *
389
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $contentLocation
390
     *
391
     * @return static
392
     *
393
     * @see http://schema.org/contentLocation
394
     */
395
    public function contentLocation($contentLocation)
396
    {
397
        return $this->setProperty('contentLocation', $contentLocation);
398
    }
399
400
    /**
401
     * Official rating of a piece of content—for example,'MPAA PG-13'.
402
     *
403
     * @param \Spatie\SchemaOrg\Contracts\RatingContract|\Spatie\SchemaOrg\Contracts\RatingContract[]|string|string[] $contentRating
404
     *
405
     * @return static
406
     *
407
     * @see http://schema.org/contentRating
408
     */
409
    public function contentRating($contentRating)
410
    {
411
        return $this->setProperty('contentRating', $contentRating);
412
    }
413
414
    /**
415
     * A secondary contributor to the CreativeWork or Event.
416
     *
417
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $contributor
418
     *
419
     * @return static
420
     *
421
     * @see http://schema.org/contributor
422
     */
423
    public function contributor($contributor)
424
    {
425
        return $this->setProperty('contributor', $contributor);
426
    }
427
428
    /**
429
     * The party holding the legal copyright to the CreativeWork.
430
     *
431
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $copyrightHolder
432
     *
433
     * @return static
434
     *
435
     * @see http://schema.org/copyrightHolder
436
     */
437
    public function copyrightHolder($copyrightHolder)
438
    {
439
        return $this->setProperty('copyrightHolder', $copyrightHolder);
440
    }
441
442
    /**
443
     * The year during which the claimed copyright for the CreativeWork was
444
     * first asserted.
445
     *
446
     * @param float|float[]|int|int[] $copyrightYear
447
     *
448
     * @return static
449
     *
450
     * @see http://schema.org/copyrightYear
451
     */
452
    public function copyrightYear($copyrightYear)
453
    {
454
        return $this->setProperty('copyrightYear', $copyrightYear);
455
    }
456
457
    /**
458
     * The creator/author of this CreativeWork. This is the same as the Author
459
     * property for CreativeWork.
460
     *
461
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $creator
462
     *
463
     * @return static
464
     *
465
     * @see http://schema.org/creator
466
     */
467
    public function creator($creator)
468
    {
469
        return $this->setProperty('creator', $creator);
470
    }
471
472
    /**
473
     * The date on which the CreativeWork was created or the item was added to a
474
     * DataFeed.
475
     *
476
     * @param \DateTimeInterface|\DateTimeInterface[] $dateCreated
477
     *
478
     * @return static
479
     *
480
     * @see http://schema.org/dateCreated
481
     */
482
    public function dateCreated($dateCreated)
483
    {
484
        return $this->setProperty('dateCreated', $dateCreated);
485
    }
486
487
    /**
488
     * The date on which the CreativeWork was most recently modified or when the
489
     * item's entry was modified within a DataFeed.
490
     *
491
     * @param \DateTimeInterface|\DateTimeInterface[] $dateModified
492
     *
493
     * @return static
494
     *
495
     * @see http://schema.org/dateModified
496
     */
497
    public function dateModified($dateModified)
498
    {
499
        return $this->setProperty('dateModified', $dateModified);
500
    }
501
502
    /**
503
     * Date of first broadcast/publication.
504
     *
505
     * @param \DateTimeInterface|\DateTimeInterface[] $datePublished
506
     *
507
     * @return static
508
     *
509
     * @see http://schema.org/datePublished
510
     */
511
    public function datePublished($datePublished)
512
    {
513
        return $this->setProperty('datePublished', $datePublished);
514
    }
515
516
    /**
517
     * A description of the item.
518
     *
519
     * @param string|string[] $description
520
     *
521
     * @return static
522
     *
523
     * @see http://schema.org/description
524
     */
525
    public function description($description)
526
    {
527
        return $this->setProperty('description', $description);
528
    }
529
530
    /**
531
     * A director of e.g. tv, radio, movie, video gaming etc. content, or of an
532
     * event. Directors can be associated with individual items or with a
533
     * series, episode, clip.
534
     *
535
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $director
536
     *
537
     * @return static
538
     *
539
     * @see http://schema.org/director
540
     */
541
    public function director($director)
542
    {
543
        return $this->setProperty('director', $director);
544
    }
545
546
    /**
547
     * A sub property of description. A short description of the item used to
548
     * disambiguate from other, similar items. Information from other properties
549
     * (in particular, name) may be necessary for the description to be useful
550
     * for disambiguation.
551
     *
552
     * @param string|string[] $disambiguatingDescription
553
     *
554
     * @return static
555
     *
556
     * @see http://schema.org/disambiguatingDescription
557
     */
558
    public function disambiguatingDescription($disambiguatingDescription)
559
    {
560
        return $this->setProperty('disambiguatingDescription', $disambiguatingDescription);
561
    }
562
563
    /**
564
     * A link to the page containing the comments of the CreativeWork.
565
     *
566
     * @param string|string[] $discussionUrl
567
     *
568
     * @return static
569
     *
570
     * @see http://schema.org/discussionUrl
571
     */
572
    public function discussionUrl($discussionUrl)
573
    {
574
        return $this->setProperty('discussionUrl', $discussionUrl);
575
    }
576
577
    /**
578
     * Specifies the Person who edited the CreativeWork.
579
     *
580
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $editor
581
     *
582
     * @return static
583
     *
584
     * @see http://schema.org/editor
585
     */
586
    public function editor($editor)
587
    {
588
        return $this->setProperty('editor', $editor);
589
    }
590
591
    /**
592
     * An alignment to an established educational framework.
593
     *
594
     * @param \Spatie\SchemaOrg\Contracts\AlignmentObjectContract|\Spatie\SchemaOrg\Contracts\AlignmentObjectContract[] $educationalAlignment
595
     *
596
     * @return static
597
     *
598
     * @see http://schema.org/educationalAlignment
599
     */
600
    public function educationalAlignment($educationalAlignment)
601
    {
602
        return $this->setProperty('educationalAlignment', $educationalAlignment);
603
    }
604
605
    /**
606
     * The purpose of a work in the context of education; for example,
607
     * 'assignment', 'group work'.
608
     *
609
     * @param string|string[] $educationalUse
610
     *
611
     * @return static
612
     *
613
     * @see http://schema.org/educationalUse
614
     */
615
    public function educationalUse($educationalUse)
616
    {
617
        return $this->setProperty('educationalUse', $educationalUse);
618
    }
619
620
    /**
621
     * A media object that encodes this CreativeWork. This property is a synonym
622
     * for associatedMedia.
623
     *
624
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encoding
625
     *
626
     * @return static
627
     *
628
     * @see http://schema.org/encoding
629
     */
630
    public function encoding($encoding)
631
    {
632
        return $this->setProperty('encoding', $encoding);
633
    }
634
635
    /**
636
     * Media type typically expressed using a MIME format (see [IANA
637
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml) and
638
     * [MDN
639
     * reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types))
640
     * e.g. application/zip for a SoftwareApplication binary, audio/mpeg for
641
     * .mp3 etc.).
642
     * 
643
     * In cases where a [[CreativeWork]] has several media type representations,
644
     * [[encoding]] can be used to indicate each [[MediaObject]] alongside
645
     * particular [[encodingFormat]] information.
646
     * 
647
     * Unregistered or niche encoding and file formats can be indicated instead
648
     * via the most appropriate URL, e.g. defining Web page or a
649
     * Wikipedia/Wikidata entry.
650
     *
651
     * @param string|string[] $encodingFormat
652
     *
653
     * @return static
654
     *
655
     * @see http://schema.org/encodingFormat
656
     */
657
    public function encodingFormat($encodingFormat)
658
    {
659
        return $this->setProperty('encodingFormat', $encodingFormat);
660
    }
661
662
    /**
663
     * A media object that encodes this CreativeWork.
664
     *
665
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encodings
666
     *
667
     * @return static
668
     *
669
     * @see http://schema.org/encodings
670
     */
671
    public function encodings($encodings)
672
    {
673
        return $this->setProperty('encodings', $encodings);
674
    }
675
676
    /**
677
     * The end date and time of the item (in [ISO 8601 date
678
     * format](http://en.wikipedia.org/wiki/ISO_8601)).
679
     *
680
     * @param \DateTimeInterface|\DateTimeInterface[] $endDate
681
     *
682
     * @return static
683
     *
684
     * @see http://schema.org/endDate
685
     */
686
    public function endDate($endDate)
687
    {
688
        return $this->setProperty('endDate', $endDate);
689
    }
690
691
    /**
692
     * An episode of a tv, radio or game media within a series or season.
693
     *
694
     * @param \Spatie\SchemaOrg\Contracts\EpisodeContract|\Spatie\SchemaOrg\Contracts\EpisodeContract[] $episode
695
     *
696
     * @return static
697
     *
698
     * @see http://schema.org/episode
699
     */
700
    public function episode($episode)
701
    {
702
        return $this->setProperty('episode', $episode);
703
    }
704
705
    /**
706
     * An episode of a TV/radio series or season.
707
     *
708
     * @param \Spatie\SchemaOrg\Contracts\EpisodeContract|\Spatie\SchemaOrg\Contracts\EpisodeContract[] $episodes
709
     *
710
     * @return static
711
     *
712
     * @see http://schema.org/episodes
713
     */
714
    public function episodes($episodes)
715
    {
716
        return $this->setProperty('episodes', $episodes);
717
    }
718
719
    /**
720
     * A creative work that this work is an
721
     * example/instance/realization/derivation of.
722
     *
723
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $exampleOfWork
724
     *
725
     * @return static
726
     *
727
     * @see http://schema.org/exampleOfWork
728
     */
729
    public function exampleOfWork($exampleOfWork)
730
    {
731
        return $this->setProperty('exampleOfWork', $exampleOfWork);
732
    }
733
734
    /**
735
     * Date the content expires and is no longer useful or available. For
736
     * example a [[VideoObject]] or [[NewsArticle]] whose availability or
737
     * relevance is time-limited, or a [[ClaimReview]] fact check whose
738
     * publisher wants to indicate that it may no longer be relevant (or helpful
739
     * to highlight) after some date.
740
     *
741
     * @param \DateTimeInterface|\DateTimeInterface[] $expires
742
     *
743
     * @return static
744
     *
745
     * @see http://schema.org/expires
746
     */
747
    public function expires($expires)
748
    {
749
        return $this->setProperty('expires', $expires);
750
    }
751
752
    /**
753
     * Media type, typically MIME format (see [IANA
754
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml)) of
755
     * the content e.g. application/zip of a SoftwareApplication binary. In
756
     * cases where a CreativeWork has several media type representations,
757
     * 'encoding' can be used to indicate each MediaObject alongside particular
758
     * fileFormat information. Unregistered or niche file formats can be
759
     * indicated instead via the most appropriate URL, e.g. defining Web page or
760
     * a Wikipedia entry.
761
     *
762
     * @param string|string[] $fileFormat
763
     *
764
     * @return static
765
     *
766
     * @see http://schema.org/fileFormat
767
     */
768
    public function fileFormat($fileFormat)
769
    {
770
        return $this->setProperty('fileFormat', $fileFormat);
771
    }
772
773
    /**
774
     * A person or organization that supports (sponsors) something through some
775
     * kind of financial contribution.
776
     *
777
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $funder
778
     *
779
     * @return static
780
     *
781
     * @see http://schema.org/funder
782
     */
783
    public function funder($funder)
784
    {
785
        return $this->setProperty('funder', $funder);
786
    }
787
788
    /**
789
     * Genre of the creative work, broadcast channel or group.
790
     *
791
     * @param string|string[] $genre
792
     *
793
     * @return static
794
     *
795
     * @see http://schema.org/genre
796
     */
797
    public function genre($genre)
798
    {
799
        return $this->setProperty('genre', $genre);
800
    }
801
802
    /**
803
     * Indicates an item or CreativeWork that is part of this item, or
804
     * CreativeWork (in some sense).
805
     *
806
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $hasPart
807
     *
808
     * @return static
809
     *
810
     * @see http://schema.org/hasPart
811
     */
812
    public function hasPart($hasPart)
813
    {
814
        return $this->setProperty('hasPart', $hasPart);
815
    }
816
817
    /**
818
     * Headline of the article.
819
     *
820
     * @param string|string[] $headline
821
     *
822
     * @return static
823
     *
824
     * @see http://schema.org/headline
825
     */
826
    public function headline($headline)
827
    {
828
        return $this->setProperty('headline', $headline);
829
    }
830
831
    /**
832
     * The identifier property represents any kind of identifier for any kind of
833
     * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides
834
     * dedicated properties for representing many of these, either as textual
835
     * strings or as URL (URI) links. See [background
836
     * notes](/docs/datamodel.html#identifierBg) for more details.
837
     *
838
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier
839
     *
840
     * @return static
841
     *
842
     * @see http://schema.org/identifier
843
     */
844
    public function identifier($identifier)
845
    {
846
        return $this->setProperty('identifier', $identifier);
847
    }
848
849
    /**
850
     * An image of the item. This can be a [[URL]] or a fully described
851
     * [[ImageObject]].
852
     *
853
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image
854
     *
855
     * @return static
856
     *
857
     * @see http://schema.org/image
858
     */
859
    public function image($image)
860
    {
861
        return $this->setProperty('image', $image);
862
    }
863
864
    /**
865
     * The language of the content or performance or used in an action. Please
866
     * use one of the language codes from the [IETF BCP 47
867
     * standard](http://tools.ietf.org/html/bcp47). See also
868
     * [[availableLanguage]].
869
     *
870
     * @param \Spatie\SchemaOrg\Contracts\LanguageContract|\Spatie\SchemaOrg\Contracts\LanguageContract[]|string|string[] $inLanguage
871
     *
872
     * @return static
873
     *
874
     * @see http://schema.org/inLanguage
875
     */
876
    public function inLanguage($inLanguage)
877
    {
878
        return $this->setProperty('inLanguage', $inLanguage);
879
    }
880
881
    /**
882
     * The number of interactions for the CreativeWork using the WebSite or
883
     * SoftwareApplication. The most specific child type of InteractionCounter
884
     * should be used.
885
     *
886
     * @param \Spatie\SchemaOrg\Contracts\InteractionCounterContract|\Spatie\SchemaOrg\Contracts\InteractionCounterContract[] $interactionStatistic
887
     *
888
     * @return static
889
     *
890
     * @see http://schema.org/interactionStatistic
891
     */
892
    public function interactionStatistic($interactionStatistic)
893
    {
894
        return $this->setProperty('interactionStatistic', $interactionStatistic);
895
    }
896
897
    /**
898
     * The predominant mode of learning supported by the learning resource.
899
     * Acceptable values are 'active', 'expositive', or 'mixed'.
900
     *
901
     * @param string|string[] $interactivityType
902
     *
903
     * @return static
904
     *
905
     * @see http://schema.org/interactivityType
906
     */
907
    public function interactivityType($interactivityType)
908
    {
909
        return $this->setProperty('interactivityType', $interactivityType);
910
    }
911
912
    /**
913
     * A flag to signal that the item, event, or place is accessible for free.
914
     *
915
     * @param bool|bool[] $isAccessibleForFree
916
     *
917
     * @return static
918
     *
919
     * @see http://schema.org/isAccessibleForFree
920
     */
921
    public function isAccessibleForFree($isAccessibleForFree)
922
    {
923
        return $this->setProperty('isAccessibleForFree', $isAccessibleForFree);
924
    }
925
926
    /**
927
     * A resource from which this work is derived or from which it is a
928
     * modification or adaption.
929
     *
930
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOn
931
     *
932
     * @return static
933
     *
934
     * @see http://schema.org/isBasedOn
935
     */
936
    public function isBasedOn($isBasedOn)
937
    {
938
        return $this->setProperty('isBasedOn', $isBasedOn);
939
    }
940
941
    /**
942
     * A resource that was used in the creation of this resource. This term can
943
     * be repeated for multiple sources. For example,
944
     * http://example.com/great-multiplication-intro.html.
945
     *
946
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOnUrl
947
     *
948
     * @return static
949
     *
950
     * @see http://schema.org/isBasedOnUrl
951
     */
952
    public function isBasedOnUrl($isBasedOnUrl)
953
    {
954
        return $this->setProperty('isBasedOnUrl', $isBasedOnUrl);
955
    }
956
957
    /**
958
     * Indicates whether this content is family friendly.
959
     *
960
     * @param bool|bool[] $isFamilyFriendly
961
     *
962
     * @return static
963
     *
964
     * @see http://schema.org/isFamilyFriendly
965
     */
966
    public function isFamilyFriendly($isFamilyFriendly)
967
    {
968
        return $this->setProperty('isFamilyFriendly', $isFamilyFriendly);
969
    }
970
971
    /**
972
     * Indicates an item or CreativeWork that this item, or CreativeWork (in
973
     * some sense), is part of.
974
     *
975
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $isPartOf
976
     *
977
     * @return static
978
     *
979
     * @see http://schema.org/isPartOf
980
     */
981
    public function isPartOf($isPartOf)
982
    {
983
        return $this->setProperty('isPartOf', $isPartOf);
984
    }
985
986
    /**
987
     * Keywords or tags used to describe this content. Multiple entries in a
988
     * keywords list are typically delimited by commas.
989
     *
990
     * @param string|string[] $keywords
991
     *
992
     * @return static
993
     *
994
     * @see http://schema.org/keywords
995
     */
996
    public function keywords($keywords)
997
    {
998
        return $this->setProperty('keywords', $keywords);
999
    }
1000
1001
    /**
1002
     * The predominant type or kind characterizing the learning resource. For
1003
     * example, 'presentation', 'handout'.
1004
     *
1005
     * @param string|string[] $learningResourceType
1006
     *
1007
     * @return static
1008
     *
1009
     * @see http://schema.org/learningResourceType
1010
     */
1011
    public function learningResourceType($learningResourceType)
1012
    {
1013
        return $this->setProperty('learningResourceType', $learningResourceType);
1014
    }
1015
1016
    /**
1017
     * A license document that applies to this content, typically indicated by
1018
     * URL.
1019
     *
1020
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $license
1021
     *
1022
     * @return static
1023
     *
1024
     * @see http://schema.org/license
1025
     */
1026
    public function license($license)
1027
    {
1028
        return $this->setProperty('license', $license);
1029
    }
1030
1031
    /**
1032
     * The location where the CreativeWork was created, which may not be the
1033
     * same as the location depicted in the CreativeWork.
1034
     *
1035
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $locationCreated
1036
     *
1037
     * @return static
1038
     *
1039
     * @see http://schema.org/locationCreated
1040
     */
1041
    public function locationCreated($locationCreated)
1042
    {
1043
        return $this->setProperty('locationCreated', $locationCreated);
1044
    }
1045
1046
    /**
1047
     * Indicates the primary entity described in some page or other
1048
     * CreativeWork.
1049
     *
1050
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mainEntity
1051
     *
1052
     * @return static
1053
     *
1054
     * @see http://schema.org/mainEntity
1055
     */
1056
    public function mainEntity($mainEntity)
1057
    {
1058
        return $this->setProperty('mainEntity', $mainEntity);
1059
    }
1060
1061
    /**
1062
     * Indicates a page (or other CreativeWork) for which this thing is the main
1063
     * entity being described. See [background
1064
     * notes](/docs/datamodel.html#mainEntityBackground) for details.
1065
     *
1066
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage
1067
     *
1068
     * @return static
1069
     *
1070
     * @see http://schema.org/mainEntityOfPage
1071
     */
1072
    public function mainEntityOfPage($mainEntityOfPage)
1073
    {
1074
        return $this->setProperty('mainEntityOfPage', $mainEntityOfPage);
1075
    }
1076
1077
    /**
1078
     * A material that something is made from, e.g. leather, wool, cotton,
1079
     * paper.
1080
     *
1081
     * @param \Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $material
1082
     *
1083
     * @return static
1084
     *
1085
     * @see http://schema.org/material
1086
     */
1087
    public function material($material)
1088
    {
1089
        return $this->setProperty('material', $material);
1090
    }
1091
1092
    /**
1093
     * Indicates that the CreativeWork contains a reference to, but is not
1094
     * necessarily about a concept.
1095
     *
1096
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mentions
1097
     *
1098
     * @return static
1099
     *
1100
     * @see http://schema.org/mentions
1101
     */
1102
    public function mentions($mentions)
1103
    {
1104
        return $this->setProperty('mentions', $mentions);
1105
    }
1106
1107
    /**
1108
     * The name of the item.
1109
     *
1110
     * @param string|string[] $name
1111
     *
1112
     * @return static
1113
     *
1114
     * @see http://schema.org/name
1115
     */
1116
    public function name($name)
1117
    {
1118
        return $this->setProperty('name', $name);
1119
    }
1120
1121
    /**
1122
     * The number of episodes in this season or series.
1123
     *
1124
     * @param int|int[] $numberOfEpisodes
1125
     *
1126
     * @return static
1127
     *
1128
     * @see http://schema.org/numberOfEpisodes
1129
     */
1130
    public function numberOfEpisodes($numberOfEpisodes)
1131
    {
1132
        return $this->setProperty('numberOfEpisodes', $numberOfEpisodes);
1133
    }
1134
1135
    /**
1136
     * An offer to provide this item—for example, an offer to sell a
1137
     * product, rent the DVD of a movie, perform a service, or give away tickets
1138
     * to an event. Use [[businessFunction]] to indicate the kind of transaction
1139
     * offered, i.e. sell, lease, etc. This property can also be used to
1140
     * describe a [[Demand]]. While this property is listed as expected on a
1141
     * number of common types, it can be used in others. In that case, using a
1142
     * second type, such as Product or a subtype of Product, can clarify the
1143
     * nature of the offer.
1144
     *
1145
     * @param \Spatie\SchemaOrg\Contracts\DemandContract|\Spatie\SchemaOrg\Contracts\DemandContract[]|\Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $offers
1146
     *
1147
     * @return static
1148
     *
1149
     * @see http://schema.org/offers
1150
     */
1151
    public function offers($offers)
1152
    {
1153
        return $this->setProperty('offers', $offers);
1154
    }
1155
1156
    /**
1157
     * The series to which this episode or season belongs.
1158
     *
1159
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkSeriesContract|\Spatie\SchemaOrg\Contracts\CreativeWorkSeriesContract[] $partOfSeries
1160
     *
1161
     * @return static
1162
     *
1163
     * @see http://schema.org/partOfSeries
1164
     */
1165
    public function partOfSeries($partOfSeries)
1166
    {
1167
        return $this->setProperty('partOfSeries', $partOfSeries);
1168
    }
1169
1170
    /**
1171
     * The position of an item in a series or sequence of items.
1172
     *
1173
     * @param int|int[]|string|string[] $position
1174
     *
1175
     * @return static
1176
     *
1177
     * @see http://schema.org/position
1178
     */
1179
    public function position($position)
1180
    {
1181
        return $this->setProperty('position', $position);
1182
    }
1183
1184
    /**
1185
     * Indicates a potential Action, which describes an idealized action in
1186
     * which this thing would play an 'object' role.
1187
     *
1188
     * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction
1189
     *
1190
     * @return static
1191
     *
1192
     * @see http://schema.org/potentialAction
1193
     */
1194
    public function potentialAction($potentialAction)
1195
    {
1196
        return $this->setProperty('potentialAction', $potentialAction);
1197
    }
1198
1199
    /**
1200
     * The person or organization who produced the work (e.g. music album,
1201
     * movie, tv/radio series etc.).
1202
     *
1203
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $producer
1204
     *
1205
     * @return static
1206
     *
1207
     * @see http://schema.org/producer
1208
     */
1209
    public function producer($producer)
1210
    {
1211
        return $this->setProperty('producer', $producer);
1212
    }
1213
1214
    /**
1215
     * The production company or studio responsible for the item e.g. series,
1216
     * video game, episode etc.
1217
     *
1218
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $productionCompany
1219
     *
1220
     * @return static
1221
     *
1222
     * @see http://schema.org/productionCompany
1223
     */
1224
    public function productionCompany($productionCompany)
1225
    {
1226
        return $this->setProperty('productionCompany', $productionCompany);
1227
    }
1228
1229
    /**
1230
     * The service provider, service operator, or service performer; the goods
1231
     * producer. Another party (a seller) may offer those services or goods on
1232
     * behalf of the provider. A provider may also serve as the seller.
1233
     *
1234
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $provider
1235
     *
1236
     * @return static
1237
     *
1238
     * @see http://schema.org/provider
1239
     */
1240
    public function provider($provider)
1241
    {
1242
        return $this->setProperty('provider', $provider);
1243
    }
1244
1245
    /**
1246
     * A publication event associated with the item.
1247
     *
1248
     * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $publication
1249
     *
1250
     * @return static
1251
     *
1252
     * @see http://schema.org/publication
1253
     */
1254
    public function publication($publication)
1255
    {
1256
        return $this->setProperty('publication', $publication);
1257
    }
1258
1259
    /**
1260
     * The publisher of the creative work.
1261
     *
1262
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $publisher
1263
     *
1264
     * @return static
1265
     *
1266
     * @see http://schema.org/publisher
1267
     */
1268
    public function publisher($publisher)
1269
    {
1270
        return $this->setProperty('publisher', $publisher);
1271
    }
1272
1273
    /**
1274
     * The publishingPrinciples property indicates (typically via [[URL]]) a
1275
     * document describing the editorial principles of an [[Organization]] (or
1276
     * individual e.g. a [[Person]] writing a blog) that relate to their
1277
     * activities as a publisher, e.g. ethics or diversity policies. When
1278
     * applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are
1279
     * those of the party primarily responsible for the creation of the
1280
     * [[CreativeWork]].
1281
     * 
1282
     * While such policies are most typically expressed in natural language,
1283
     * sometimes related information (e.g. indicating a [[funder]]) can be
1284
     * expressed using schema.org terminology.
1285
     *
1286
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $publishingPrinciples
1287
     *
1288
     * @return static
1289
     *
1290
     * @see http://schema.org/publishingPrinciples
1291
     */
1292
    public function publishingPrinciples($publishingPrinciples)
1293
    {
1294
        return $this->setProperty('publishingPrinciples', $publishingPrinciples);
1295
    }
1296
1297
    /**
1298
     * The Event where the CreativeWork was recorded. The CreativeWork may
1299
     * capture all or part of the event.
1300
     *
1301
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $recordedAt
1302
     *
1303
     * @return static
1304
     *
1305
     * @see http://schema.org/recordedAt
1306
     */
1307
    public function recordedAt($recordedAt)
1308
    {
1309
        return $this->setProperty('recordedAt', $recordedAt);
1310
    }
1311
1312
    /**
1313
     * The place and time the release was issued, expressed as a
1314
     * PublicationEvent.
1315
     *
1316
     * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $releasedEvent
1317
     *
1318
     * @return static
1319
     *
1320
     * @see http://schema.org/releasedEvent
1321
     */
1322
    public function releasedEvent($releasedEvent)
1323
    {
1324
        return $this->setProperty('releasedEvent', $releasedEvent);
1325
    }
1326
1327
    /**
1328
     * A review of the item.
1329
     *
1330
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $review
1331
     *
1332
     * @return static
1333
     *
1334
     * @see http://schema.org/review
1335
     */
1336
    public function review($review)
1337
    {
1338
        return $this->setProperty('review', $review);
1339
    }
1340
1341
    /**
1342
     * Review of the item.
1343
     *
1344
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $reviews
1345
     *
1346
     * @return static
1347
     *
1348
     * @see http://schema.org/reviews
1349
     */
1350
    public function reviews($reviews)
1351
    {
1352
        return $this->setProperty('reviews', $reviews);
1353
    }
1354
1355
    /**
1356
     * URL of a reference Web page that unambiguously indicates the item's
1357
     * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or
1358
     * official website.
1359
     *
1360
     * @param string|string[] $sameAs
1361
     *
1362
     * @return static
1363
     *
1364
     * @see http://schema.org/sameAs
1365
     */
1366
    public function sameAs($sameAs)
1367
    {
1368
        return $this->setProperty('sameAs', $sameAs);
1369
    }
1370
1371
    /**
1372
     * Indicates (by URL or string) a particular version of a schema used in
1373
     * some CreativeWork. For example, a document could declare a schemaVersion
1374
     * using an URL such as http://schema.org/version/2.0/ if precise indication
1375
     * of schema version was required by some application.
1376
     *
1377
     * @param string|string[] $schemaVersion
1378
     *
1379
     * @return static
1380
     *
1381
     * @see http://schema.org/schemaVersion
1382
     */
1383
    public function schemaVersion($schemaVersion)
1384
    {
1385
        return $this->setProperty('schemaVersion', $schemaVersion);
1386
    }
1387
1388
    /**
1389
     * Position of the season within an ordered group of seasons.
1390
     *
1391
     * @param int|int[]|string|string[] $seasonNumber
1392
     *
1393
     * @return static
1394
     *
1395
     * @see http://schema.org/seasonNumber
1396
     */
1397
    public function seasonNumber($seasonNumber)
1398
    {
1399
        return $this->setProperty('seasonNumber', $seasonNumber);
1400
    }
1401
1402
    /**
1403
     * The Organization on whose behalf the creator was working.
1404
     *
1405
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $sourceOrganization
1406
     *
1407
     * @return static
1408
     *
1409
     * @see http://schema.org/sourceOrganization
1410
     */
1411
    public function sourceOrganization($sourceOrganization)
1412
    {
1413
        return $this->setProperty('sourceOrganization', $sourceOrganization);
1414
    }
1415
1416
    /**
1417
     * The "spatial" property can be used in cases when more specific properties
1418
     * (e.g. [[locationCreated]], [[spatialCoverage]], [[contentLocation]]) are
1419
     * not known to be appropriate.
1420
     *
1421
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatial
1422
     *
1423
     * @return static
1424
     *
1425
     * @see http://schema.org/spatial
1426
     */
1427
    public function spatial($spatial)
1428
    {
1429
        return $this->setProperty('spatial', $spatial);
1430
    }
1431
1432
    /**
1433
     * The spatialCoverage of a CreativeWork indicates the place(s) which are
1434
     * the focus of the content. It is a subproperty of
1435
     *       contentLocation intended primarily for more technical and detailed
1436
     * materials. For example with a Dataset, it indicates
1437
     *       areas that the dataset describes: a dataset of New York weather
1438
     * would have spatialCoverage which was the place: the state of New York.
1439
     *
1440
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatialCoverage
1441
     *
1442
     * @return static
1443
     *
1444
     * @see http://schema.org/spatialCoverage
1445
     */
1446
    public function spatialCoverage($spatialCoverage)
1447
    {
1448
        return $this->setProperty('spatialCoverage', $spatialCoverage);
1449
    }
1450
1451
    /**
1452
     * A person or organization that supports a thing through a pledge, promise,
1453
     * or financial contribution. e.g. a sponsor of a Medical Study or a
1454
     * corporate sponsor of an event.
1455
     *
1456
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $sponsor
1457
     *
1458
     * @return static
1459
     *
1460
     * @see http://schema.org/sponsor
1461
     */
1462
    public function sponsor($sponsor)
1463
    {
1464
        return $this->setProperty('sponsor', $sponsor);
1465
    }
1466
1467
    /**
1468
     * The start date and time of the item (in [ISO 8601 date
1469
     * format](http://en.wikipedia.org/wiki/ISO_8601)).
1470
     *
1471
     * @param \DateTimeInterface|\DateTimeInterface[] $startDate
1472
     *
1473
     * @return static
1474
     *
1475
     * @see http://schema.org/startDate
1476
     */
1477
    public function startDate($startDate)
1478
    {
1479
        return $this->setProperty('startDate', $startDate);
1480
    }
1481
1482
    /**
1483
     * A CreativeWork or Event about this Thing.
1484
     *
1485
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf
1486
     *
1487
     * @return static
1488
     *
1489
     * @see http://schema.org/subjectOf
1490
     */
1491
    public function subjectOf($subjectOf)
1492
    {
1493
        return $this->setProperty('subjectOf', $subjectOf);
1494
    }
1495
1496
    /**
1497
     * The "temporal" property can be used in cases where more specific
1498
     * properties
1499
     * (e.g. [[temporalCoverage]], [[dateCreated]], [[dateModified]],
1500
     * [[datePublished]]) are not known to be appropriate.
1501
     *
1502
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporal
1503
     *
1504
     * @return static
1505
     *
1506
     * @see http://schema.org/temporal
1507
     */
1508
    public function temporal($temporal)
1509
    {
1510
        return $this->setProperty('temporal', $temporal);
1511
    }
1512
1513
    /**
1514
     * The temporalCoverage of a CreativeWork indicates the period that the
1515
     * content applies to, i.e. that it describes, either as a DateTime or as a
1516
     * textual string indicating a time period in [ISO 8601 time interval
1517
     * format](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals). In
1518
     *       the case of a Dataset it will typically indicate the relevant time
1519
     * period in a precise notation (e.g. for a 2011 census dataset, the year
1520
     * 2011 would be written "2011/2012"). Other forms of content e.g.
1521
     * ScholarlyArticle, Book, TVSeries or TVEpisode may indicate their
1522
     * temporalCoverage in broader terms - textually or via well-known URL.
1523
     *       Written works such as books may sometimes have precise temporal
1524
     * coverage too, e.g. a work set in 1939 - 1945 can be indicated in ISO 8601
1525
     * interval format format via "1939/1945".
1526
     * 
1527
     * Open-ended date ranges can be written with ".." in place of the end date.
1528
     * For example, "2015-11/.." indicates a range beginning in November 2015
1529
     * and with no specified final date. This is tentative and might be updated
1530
     * in future when ISO 8601 is officially updated.
1531
     *
1532
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporalCoverage
1533
     *
1534
     * @return static
1535
     *
1536
     * @see http://schema.org/temporalCoverage
1537
     */
1538
    public function temporalCoverage($temporalCoverage)
1539
    {
1540
        return $this->setProperty('temporalCoverage', $temporalCoverage);
1541
    }
1542
1543
    /**
1544
     * The textual content of this CreativeWork.
1545
     *
1546
     * @param string|string[] $text
1547
     *
1548
     * @return static
1549
     *
1550
     * @see http://schema.org/text
1551
     */
1552
    public function text($text)
1553
    {
1554
        return $this->setProperty('text', $text);
1555
    }
1556
1557
    /**
1558
     * A thumbnail image relevant to the Thing.
1559
     *
1560
     * @param string|string[] $thumbnailUrl
1561
     *
1562
     * @return static
1563
     *
1564
     * @see http://schema.org/thumbnailUrl
1565
     */
1566
    public function thumbnailUrl($thumbnailUrl)
1567
    {
1568
        return $this->setProperty('thumbnailUrl', $thumbnailUrl);
1569
    }
1570
1571
    /**
1572
     * Approximate or typical time it takes to work with or through this
1573
     * learning resource for the typical intended target audience, e.g. 'PT30M',
1574
     * 'PT1H25M'.
1575
     *
1576
     * @param \Spatie\SchemaOrg\Contracts\DurationContract|\Spatie\SchemaOrg\Contracts\DurationContract[] $timeRequired
1577
     *
1578
     * @return static
1579
     *
1580
     * @see http://schema.org/timeRequired
1581
     */
1582
    public function timeRequired($timeRequired)
1583
    {
1584
        return $this->setProperty('timeRequired', $timeRequired);
1585
    }
1586
1587
    /**
1588
     * The trailer of a movie or tv/radio series, season, episode, etc.
1589
     *
1590
     * @param \Spatie\SchemaOrg\Contracts\VideoObjectContract|\Spatie\SchemaOrg\Contracts\VideoObjectContract[] $trailer
1591
     *
1592
     * @return static
1593
     *
1594
     * @see http://schema.org/trailer
1595
     */
1596
    public function trailer($trailer)
1597
    {
1598
        return $this->setProperty('trailer', $trailer);
1599
    }
1600
1601
    /**
1602
     * Organization or person who adapts a creative work to different languages,
1603
     * regional differences and technical requirements of a target market, or
1604
     * that translates during some event.
1605
     *
1606
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $translator
1607
     *
1608
     * @return static
1609
     *
1610
     * @see http://schema.org/translator
1611
     */
1612
    public function translator($translator)
1613
    {
1614
        return $this->setProperty('translator', $translator);
1615
    }
1616
1617
    /**
1618
     * The typical expected age range, e.g. '7-9', '11-'.
1619
     *
1620
     * @param string|string[] $typicalAgeRange
1621
     *
1622
     * @return static
1623
     *
1624
     * @see http://schema.org/typicalAgeRange
1625
     */
1626
    public function typicalAgeRange($typicalAgeRange)
1627
    {
1628
        return $this->setProperty('typicalAgeRange', $typicalAgeRange);
1629
    }
1630
1631
    /**
1632
     * URL of the item.
1633
     *
1634
     * @param string|string[] $url
1635
     *
1636
     * @return static
1637
     *
1638
     * @see http://schema.org/url
1639
     */
1640
    public function url($url)
1641
    {
1642
        return $this->setProperty('url', $url);
1643
    }
1644
1645
    /**
1646
     * The version of the CreativeWork embodied by a specified resource.
1647
     *
1648
     * @param float|float[]|int|int[]|string|string[] $version
1649
     *
1650
     * @return static
1651
     *
1652
     * @see http://schema.org/version
1653
     */
1654
    public function version($version)
1655
    {
1656
        return $this->setProperty('version', $version);
1657
    }
1658
1659
    /**
1660
     * An embedded video object.
1661
     *
1662
     * @param \Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[]|\Spatie\SchemaOrg\Contracts\VideoObjectContract|\Spatie\SchemaOrg\Contracts\VideoObjectContract[] $video
1663
     *
1664
     * @return static
1665
     *
1666
     * @see http://schema.org/video
1667
     */
1668
    public function video($video)
1669
    {
1670
        return $this->setProperty('video', $video);
1671
    }
1672
1673
    /**
1674
     * Example/instance/realization/derivation of the concept of this creative
1675
     * work. eg. The paperback edition, first edition, or eBook.
1676
     *
1677
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $workExample
1678
     *
1679
     * @return static
1680
     *
1681
     * @see http://schema.org/workExample
1682
     */
1683
    public function workExample($workExample)
1684
    {
1685
        return $this->setProperty('workExample', $workExample);
1686
    }
1687
1688
}
1689

src/HowToDirection.php 1 location

@@ 18-1696 (lines=1679) @@
15
 * @see http://schema.org/HowToDirection
16
 *
17
 */
18
class HowToDirection extends BaseType implements HowToDirectionContract, CreativeWorkContract, IntangibleContract, ListItemContract, ThingContract
19
{
20
    /**
21
     * The subject matter of the content.
22
     *
23
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $about
24
     *
25
     * @return static
26
     *
27
     * @see http://schema.org/about
28
     */
29
    public function about($about)
30
    {
31
        return $this->setProperty('about', $about);
32
    }
33
34
    /**
35
     * The human sensory perceptual system or cognitive faculty through which a
36
     * person may process or perceive information. Expected values include:
37
     * auditory, tactile, textual, visual, colorDependent, chartOnVisual,
38
     * chemOnVisual, diagramOnVisual, mathOnVisual, musicOnVisual, textOnVisual.
39
     *
40
     * @param string|string[] $accessMode
41
     *
42
     * @return static
43
     *
44
     * @see http://schema.org/accessMode
45
     */
46
    public function accessMode($accessMode)
47
    {
48
        return $this->setProperty('accessMode', $accessMode);
49
    }
50
51
    /**
52
     * A list of single or combined accessModes that are sufficient to
53
     * understand all the intellectual content of a resource. Expected values
54
     * include:  auditory, tactile, textual, visual.
55
     *
56
     * @param \Spatie\SchemaOrg\Contracts\ItemListContract|\Spatie\SchemaOrg\Contracts\ItemListContract[] $accessModeSufficient
57
     *
58
     * @return static
59
     *
60
     * @see http://schema.org/accessModeSufficient
61
     */
62
    public function accessModeSufficient($accessModeSufficient)
63
    {
64
        return $this->setProperty('accessModeSufficient', $accessModeSufficient);
65
    }
66
67
    /**
68
     * Indicates that the resource is compatible with the referenced
69
     * accessibility API ([WebSchemas wiki lists possible
70
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
71
     *
72
     * @param string|string[] $accessibilityAPI
73
     *
74
     * @return static
75
     *
76
     * @see http://schema.org/accessibilityAPI
77
     */
78
    public function accessibilityAPI($accessibilityAPI)
79
    {
80
        return $this->setProperty('accessibilityAPI', $accessibilityAPI);
81
    }
82
83
    /**
84
     * Identifies input methods that are sufficient to fully control the
85
     * described resource ([WebSchemas wiki lists possible
86
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
87
     *
88
     * @param string|string[] $accessibilityControl
89
     *
90
     * @return static
91
     *
92
     * @see http://schema.org/accessibilityControl
93
     */
94
    public function accessibilityControl($accessibilityControl)
95
    {
96
        return $this->setProperty('accessibilityControl', $accessibilityControl);
97
    }
98
99
    /**
100
     * Content features of the resource, such as accessible media, alternatives
101
     * and supported enhancements for accessibility ([WebSchemas wiki lists
102
     * possible values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
103
     *
104
     * @param string|string[] $accessibilityFeature
105
     *
106
     * @return static
107
     *
108
     * @see http://schema.org/accessibilityFeature
109
     */
110
    public function accessibilityFeature($accessibilityFeature)
111
    {
112
        return $this->setProperty('accessibilityFeature', $accessibilityFeature);
113
    }
114
115
    /**
116
     * A characteristic of the described resource that is physiologically
117
     * dangerous to some users. Related to WCAG 2.0 guideline 2.3 ([WebSchemas
118
     * wiki lists possible
119
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
120
     *
121
     * @param string|string[] $accessibilityHazard
122
     *
123
     * @return static
124
     *
125
     * @see http://schema.org/accessibilityHazard
126
     */
127
    public function accessibilityHazard($accessibilityHazard)
128
    {
129
        return $this->setProperty('accessibilityHazard', $accessibilityHazard);
130
    }
131
132
    /**
133
     * A human-readable summary of specific accessibility features or
134
     * deficiencies, consistent with the other accessibility metadata but
135
     * expressing subtleties such as "short descriptions are present but long
136
     * descriptions will be needed for non-visual users" or "short descriptions
137
     * are present and no long descriptions are needed."
138
     *
139
     * @param string|string[] $accessibilitySummary
140
     *
141
     * @return static
142
     *
143
     * @see http://schema.org/accessibilitySummary
144
     */
145
    public function accessibilitySummary($accessibilitySummary)
146
    {
147
        return $this->setProperty('accessibilitySummary', $accessibilitySummary);
148
    }
149
150
    /**
151
     * Specifies the Person that is legally accountable for the CreativeWork.
152
     *
153
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $accountablePerson
154
     *
155
     * @return static
156
     *
157
     * @see http://schema.org/accountablePerson
158
     */
159
    public function accountablePerson($accountablePerson)
160
    {
161
        return $this->setProperty('accountablePerson', $accountablePerson);
162
    }
163
164
    /**
165
     * An additional type for the item, typically used for adding more specific
166
     * types from external vocabularies in microdata syntax. This is a
167
     * relationship between something and a class that the thing is in. In RDFa
168
     * syntax, it is better to use the native RDFa syntax - the 'typeof'
169
     * attribute - for multiple types. Schema.org tools may have only weaker
170
     * understanding of extra types, in particular those defined externally.
171
     *
172
     * @param string|string[] $additionalType
173
     *
174
     * @return static
175
     *
176
     * @see http://schema.org/additionalType
177
     */
178
    public function additionalType($additionalType)
179
    {
180
        return $this->setProperty('additionalType', $additionalType);
181
    }
182
183
    /**
184
     * A media object representing the circumstances after performing this
185
     * direction.
186
     *
187
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[]|string|string[] $afterMedia
188
     *
189
     * @return static
190
     *
191
     * @see http://schema.org/afterMedia
192
     */
193
    public function afterMedia($afterMedia)
194
    {
195
        return $this->setProperty('afterMedia', $afterMedia);
196
    }
197
198
    /**
199
     * The overall rating, based on a collection of reviews or ratings, of the
200
     * item.
201
     *
202
     * @param \Spatie\SchemaOrg\Contracts\AggregateRatingContract|\Spatie\SchemaOrg\Contracts\AggregateRatingContract[] $aggregateRating
203
     *
204
     * @return static
205
     *
206
     * @see http://schema.org/aggregateRating
207
     */
208
    public function aggregateRating($aggregateRating)
209
    {
210
        return $this->setProperty('aggregateRating', $aggregateRating);
211
    }
212
213
    /**
214
     * An alias for the item.
215
     *
216
     * @param string|string[] $alternateName
217
     *
218
     * @return static
219
     *
220
     * @see http://schema.org/alternateName
221
     */
222
    public function alternateName($alternateName)
223
    {
224
        return $this->setProperty('alternateName', $alternateName);
225
    }
226
227
    /**
228
     * A secondary title of the CreativeWork.
229
     *
230
     * @param string|string[] $alternativeHeadline
231
     *
232
     * @return static
233
     *
234
     * @see http://schema.org/alternativeHeadline
235
     */
236
    public function alternativeHeadline($alternativeHeadline)
237
    {
238
        return $this->setProperty('alternativeHeadline', $alternativeHeadline);
239
    }
240
241
    /**
242
     * A media object that encodes this CreativeWork. This property is a synonym
243
     * for encoding.
244
     *
245
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $associatedMedia
246
     *
247
     * @return static
248
     *
249
     * @see http://schema.org/associatedMedia
250
     */
251
    public function associatedMedia($associatedMedia)
252
    {
253
        return $this->setProperty('associatedMedia', $associatedMedia);
254
    }
255
256
    /**
257
     * An intended audience, i.e. a group for whom something was created.
258
     *
259
     * @param \Spatie\SchemaOrg\Contracts\AudienceContract|\Spatie\SchemaOrg\Contracts\AudienceContract[] $audience
260
     *
261
     * @return static
262
     *
263
     * @see http://schema.org/audience
264
     */
265
    public function audience($audience)
266
    {
267
        return $this->setProperty('audience', $audience);
268
    }
269
270
    /**
271
     * An embedded audio object.
272
     *
273
     * @param \Spatie\SchemaOrg\Contracts\AudioObjectContract|\Spatie\SchemaOrg\Contracts\AudioObjectContract[]|\Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[] $audio
274
     *
275
     * @return static
276
     *
277
     * @see http://schema.org/audio
278
     */
279
    public function audio($audio)
280
    {
281
        return $this->setProperty('audio', $audio);
282
    }
283
284
    /**
285
     * The author of this content or rating. Please note that author is special
286
     * in that HTML 5 provides a special mechanism for indicating authorship via
287
     * the rel tag. That is equivalent to this and may be used interchangeably.
288
     *
289
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $author
290
     *
291
     * @return static
292
     *
293
     * @see http://schema.org/author
294
     */
295
    public function author($author)
296
    {
297
        return $this->setProperty('author', $author);
298
    }
299
300
    /**
301
     * An award won by or for this item.
302
     *
303
     * @param string|string[] $award
304
     *
305
     * @return static
306
     *
307
     * @see http://schema.org/award
308
     */
309
    public function award($award)
310
    {
311
        return $this->setProperty('award', $award);
312
    }
313
314
    /**
315
     * Awards won by or for this item.
316
     *
317
     * @param string|string[] $awards
318
     *
319
     * @return static
320
     *
321
     * @see http://schema.org/awards
322
     */
323
    public function awards($awards)
324
    {
325
        return $this->setProperty('awards', $awards);
326
    }
327
328
    /**
329
     * A media object representing the circumstances before performing this
330
     * direction.
331
     *
332
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[]|string|string[] $beforeMedia
333
     *
334
     * @return static
335
     *
336
     * @see http://schema.org/beforeMedia
337
     */
338
    public function beforeMedia($beforeMedia)
339
    {
340
        return $this->setProperty('beforeMedia', $beforeMedia);
341
    }
342
343
    /**
344
     * Fictional person connected with a creative work.
345
     *
346
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $character
347
     *
348
     * @return static
349
     *
350
     * @see http://schema.org/character
351
     */
352
    public function character($character)
353
    {
354
        return $this->setProperty('character', $character);
355
    }
356
357
    /**
358
     * A citation or reference to another creative work, such as another
359
     * publication, web page, scholarly article, etc.
360
     *
361
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $citation
362
     *
363
     * @return static
364
     *
365
     * @see http://schema.org/citation
366
     */
367
    public function citation($citation)
368
    {
369
        return $this->setProperty('citation', $citation);
370
    }
371
372
    /**
373
     * Comments, typically from users.
374
     *
375
     * @param \Spatie\SchemaOrg\Contracts\CommentContract|\Spatie\SchemaOrg\Contracts\CommentContract[] $comment
376
     *
377
     * @return static
378
     *
379
     * @see http://schema.org/comment
380
     */
381
    public function comment($comment)
382
    {
383
        return $this->setProperty('comment', $comment);
384
    }
385
386
    /**
387
     * The number of comments this CreativeWork (e.g. Article, Question or
388
     * Answer) has received. This is most applicable to works published in Web
389
     * sites with commenting system; additional comments may exist elsewhere.
390
     *
391
     * @param int|int[] $commentCount
392
     *
393
     * @return static
394
     *
395
     * @see http://schema.org/commentCount
396
     */
397
    public function commentCount($commentCount)
398
    {
399
        return $this->setProperty('commentCount', $commentCount);
400
    }
401
402
    /**
403
     * The location depicted or described in the content. For example, the
404
     * location in a photograph or painting.
405
     *
406
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $contentLocation
407
     *
408
     * @return static
409
     *
410
     * @see http://schema.org/contentLocation
411
     */
412
    public function contentLocation($contentLocation)
413
    {
414
        return $this->setProperty('contentLocation', $contentLocation);
415
    }
416
417
    /**
418
     * Official rating of a piece of content—for example,'MPAA PG-13'.
419
     *
420
     * @param \Spatie\SchemaOrg\Contracts\RatingContract|\Spatie\SchemaOrg\Contracts\RatingContract[]|string|string[] $contentRating
421
     *
422
     * @return static
423
     *
424
     * @see http://schema.org/contentRating
425
     */
426
    public function contentRating($contentRating)
427
    {
428
        return $this->setProperty('contentRating', $contentRating);
429
    }
430
431
    /**
432
     * A secondary contributor to the CreativeWork or Event.
433
     *
434
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $contributor
435
     *
436
     * @return static
437
     *
438
     * @see http://schema.org/contributor
439
     */
440
    public function contributor($contributor)
441
    {
442
        return $this->setProperty('contributor', $contributor);
443
    }
444
445
    /**
446
     * The party holding the legal copyright to the CreativeWork.
447
     *
448
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $copyrightHolder
449
     *
450
     * @return static
451
     *
452
     * @see http://schema.org/copyrightHolder
453
     */
454
    public function copyrightHolder($copyrightHolder)
455
    {
456
        return $this->setProperty('copyrightHolder', $copyrightHolder);
457
    }
458
459
    /**
460
     * The year during which the claimed copyright for the CreativeWork was
461
     * first asserted.
462
     *
463
     * @param float|float[]|int|int[] $copyrightYear
464
     *
465
     * @return static
466
     *
467
     * @see http://schema.org/copyrightYear
468
     */
469
    public function copyrightYear($copyrightYear)
470
    {
471
        return $this->setProperty('copyrightYear', $copyrightYear);
472
    }
473
474
    /**
475
     * The creator/author of this CreativeWork. This is the same as the Author
476
     * property for CreativeWork.
477
     *
478
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $creator
479
     *
480
     * @return static
481
     *
482
     * @see http://schema.org/creator
483
     */
484
    public function creator($creator)
485
    {
486
        return $this->setProperty('creator', $creator);
487
    }
488
489
    /**
490
     * The date on which the CreativeWork was created or the item was added to a
491
     * DataFeed.
492
     *
493
     * @param \DateTimeInterface|\DateTimeInterface[] $dateCreated
494
     *
495
     * @return static
496
     *
497
     * @see http://schema.org/dateCreated
498
     */
499
    public function dateCreated($dateCreated)
500
    {
501
        return $this->setProperty('dateCreated', $dateCreated);
502
    }
503
504
    /**
505
     * The date on which the CreativeWork was most recently modified or when the
506
     * item's entry was modified within a DataFeed.
507
     *
508
     * @param \DateTimeInterface|\DateTimeInterface[] $dateModified
509
     *
510
     * @return static
511
     *
512
     * @see http://schema.org/dateModified
513
     */
514
    public function dateModified($dateModified)
515
    {
516
        return $this->setProperty('dateModified', $dateModified);
517
    }
518
519
    /**
520
     * Date of first broadcast/publication.
521
     *
522
     * @param \DateTimeInterface|\DateTimeInterface[] $datePublished
523
     *
524
     * @return static
525
     *
526
     * @see http://schema.org/datePublished
527
     */
528
    public function datePublished($datePublished)
529
    {
530
        return $this->setProperty('datePublished', $datePublished);
531
    }
532
533
    /**
534
     * A description of the item.
535
     *
536
     * @param string|string[] $description
537
     *
538
     * @return static
539
     *
540
     * @see http://schema.org/description
541
     */
542
    public function description($description)
543
    {
544
        return $this->setProperty('description', $description);
545
    }
546
547
    /**
548
     * A sub property of description. A short description of the item used to
549
     * disambiguate from other, similar items. Information from other properties
550
     * (in particular, name) may be necessary for the description to be useful
551
     * for disambiguation.
552
     *
553
     * @param string|string[] $disambiguatingDescription
554
     *
555
     * @return static
556
     *
557
     * @see http://schema.org/disambiguatingDescription
558
     */
559
    public function disambiguatingDescription($disambiguatingDescription)
560
    {
561
        return $this->setProperty('disambiguatingDescription', $disambiguatingDescription);
562
    }
563
564
    /**
565
     * A link to the page containing the comments of the CreativeWork.
566
     *
567
     * @param string|string[] $discussionUrl
568
     *
569
     * @return static
570
     *
571
     * @see http://schema.org/discussionUrl
572
     */
573
    public function discussionUrl($discussionUrl)
574
    {
575
        return $this->setProperty('discussionUrl', $discussionUrl);
576
    }
577
578
    /**
579
     * A media object representing the circumstances while performing this
580
     * direction.
581
     *
582
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[]|string|string[] $duringMedia
583
     *
584
     * @return static
585
     *
586
     * @see http://schema.org/duringMedia
587
     */
588
    public function duringMedia($duringMedia)
589
    {
590
        return $this->setProperty('duringMedia', $duringMedia);
591
    }
592
593
    /**
594
     * Specifies the Person who edited the CreativeWork.
595
     *
596
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $editor
597
     *
598
     * @return static
599
     *
600
     * @see http://schema.org/editor
601
     */
602
    public function editor($editor)
603
    {
604
        return $this->setProperty('editor', $editor);
605
    }
606
607
    /**
608
     * An alignment to an established educational framework.
609
     *
610
     * @param \Spatie\SchemaOrg\Contracts\AlignmentObjectContract|\Spatie\SchemaOrg\Contracts\AlignmentObjectContract[] $educationalAlignment
611
     *
612
     * @return static
613
     *
614
     * @see http://schema.org/educationalAlignment
615
     */
616
    public function educationalAlignment($educationalAlignment)
617
    {
618
        return $this->setProperty('educationalAlignment', $educationalAlignment);
619
    }
620
621
    /**
622
     * The purpose of a work in the context of education; for example,
623
     * 'assignment', 'group work'.
624
     *
625
     * @param string|string[] $educationalUse
626
     *
627
     * @return static
628
     *
629
     * @see http://schema.org/educationalUse
630
     */
631
    public function educationalUse($educationalUse)
632
    {
633
        return $this->setProperty('educationalUse', $educationalUse);
634
    }
635
636
    /**
637
     * A media object that encodes this CreativeWork. This property is a synonym
638
     * for associatedMedia.
639
     *
640
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encoding
641
     *
642
     * @return static
643
     *
644
     * @see http://schema.org/encoding
645
     */
646
    public function encoding($encoding)
647
    {
648
        return $this->setProperty('encoding', $encoding);
649
    }
650
651
    /**
652
     * Media type typically expressed using a MIME format (see [IANA
653
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml) and
654
     * [MDN
655
     * reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types))
656
     * e.g. application/zip for a SoftwareApplication binary, audio/mpeg for
657
     * .mp3 etc.).
658
     * 
659
     * In cases where a [[CreativeWork]] has several media type representations,
660
     * [[encoding]] can be used to indicate each [[MediaObject]] alongside
661
     * particular [[encodingFormat]] information.
662
     * 
663
     * Unregistered or niche encoding and file formats can be indicated instead
664
     * via the most appropriate URL, e.g. defining Web page or a
665
     * Wikipedia/Wikidata entry.
666
     *
667
     * @param string|string[] $encodingFormat
668
     *
669
     * @return static
670
     *
671
     * @see http://schema.org/encodingFormat
672
     */
673
    public function encodingFormat($encodingFormat)
674
    {
675
        return $this->setProperty('encodingFormat', $encodingFormat);
676
    }
677
678
    /**
679
     * A media object that encodes this CreativeWork.
680
     *
681
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encodings
682
     *
683
     * @return static
684
     *
685
     * @see http://schema.org/encodings
686
     */
687
    public function encodings($encodings)
688
    {
689
        return $this->setProperty('encodings', $encodings);
690
    }
691
692
    /**
693
     * A creative work that this work is an
694
     * example/instance/realization/derivation of.
695
     *
696
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $exampleOfWork
697
     *
698
     * @return static
699
     *
700
     * @see http://schema.org/exampleOfWork
701
     */
702
    public function exampleOfWork($exampleOfWork)
703
    {
704
        return $this->setProperty('exampleOfWork', $exampleOfWork);
705
    }
706
707
    /**
708
     * Date the content expires and is no longer useful or available. For
709
     * example a [[VideoObject]] or [[NewsArticle]] whose availability or
710
     * relevance is time-limited, or a [[ClaimReview]] fact check whose
711
     * publisher wants to indicate that it may no longer be relevant (or helpful
712
     * to highlight) after some date.
713
     *
714
     * @param \DateTimeInterface|\DateTimeInterface[] $expires
715
     *
716
     * @return static
717
     *
718
     * @see http://schema.org/expires
719
     */
720
    public function expires($expires)
721
    {
722
        return $this->setProperty('expires', $expires);
723
    }
724
725
    /**
726
     * Media type, typically MIME format (see [IANA
727
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml)) of
728
     * the content e.g. application/zip of a SoftwareApplication binary. In
729
     * cases where a CreativeWork has several media type representations,
730
     * 'encoding' can be used to indicate each MediaObject alongside particular
731
     * fileFormat information. Unregistered or niche file formats can be
732
     * indicated instead via the most appropriate URL, e.g. defining Web page or
733
     * a Wikipedia entry.
734
     *
735
     * @param string|string[] $fileFormat
736
     *
737
     * @return static
738
     *
739
     * @see http://schema.org/fileFormat
740
     */
741
    public function fileFormat($fileFormat)
742
    {
743
        return $this->setProperty('fileFormat', $fileFormat);
744
    }
745
746
    /**
747
     * A person or organization that supports (sponsors) something through some
748
     * kind of financial contribution.
749
     *
750
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $funder
751
     *
752
     * @return static
753
     *
754
     * @see http://schema.org/funder
755
     */
756
    public function funder($funder)
757
    {
758
        return $this->setProperty('funder', $funder);
759
    }
760
761
    /**
762
     * Genre of the creative work, broadcast channel or group.
763
     *
764
     * @param string|string[] $genre
765
     *
766
     * @return static
767
     *
768
     * @see http://schema.org/genre
769
     */
770
    public function genre($genre)
771
    {
772
        return $this->setProperty('genre', $genre);
773
    }
774
775
    /**
776
     * Indicates an item or CreativeWork that is part of this item, or
777
     * CreativeWork (in some sense).
778
     *
779
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $hasPart
780
     *
781
     * @return static
782
     *
783
     * @see http://schema.org/hasPart
784
     */
785
    public function hasPart($hasPart)
786
    {
787
        return $this->setProperty('hasPart', $hasPart);
788
    }
789
790
    /**
791
     * Headline of the article.
792
     *
793
     * @param string|string[] $headline
794
     *
795
     * @return static
796
     *
797
     * @see http://schema.org/headline
798
     */
799
    public function headline($headline)
800
    {
801
        return $this->setProperty('headline', $headline);
802
    }
803
804
    /**
805
     * The identifier property represents any kind of identifier for any kind of
806
     * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides
807
     * dedicated properties for representing many of these, either as textual
808
     * strings or as URL (URI) links. See [background
809
     * notes](/docs/datamodel.html#identifierBg) for more details.
810
     *
811
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier
812
     *
813
     * @return static
814
     *
815
     * @see http://schema.org/identifier
816
     */
817
    public function identifier($identifier)
818
    {
819
        return $this->setProperty('identifier', $identifier);
820
    }
821
822
    /**
823
     * An image of the item. This can be a [[URL]] or a fully described
824
     * [[ImageObject]].
825
     *
826
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image
827
     *
828
     * @return static
829
     *
830
     * @see http://schema.org/image
831
     */
832
    public function image($image)
833
    {
834
        return $this->setProperty('image', $image);
835
    }
836
837
    /**
838
     * The language of the content or performance or used in an action. Please
839
     * use one of the language codes from the [IETF BCP 47
840
     * standard](http://tools.ietf.org/html/bcp47). See also
841
     * [[availableLanguage]].
842
     *
843
     * @param \Spatie\SchemaOrg\Contracts\LanguageContract|\Spatie\SchemaOrg\Contracts\LanguageContract[]|string|string[] $inLanguage
844
     *
845
     * @return static
846
     *
847
     * @see http://schema.org/inLanguage
848
     */
849
    public function inLanguage($inLanguage)
850
    {
851
        return $this->setProperty('inLanguage', $inLanguage);
852
    }
853
854
    /**
855
     * The number of interactions for the CreativeWork using the WebSite or
856
     * SoftwareApplication. The most specific child type of InteractionCounter
857
     * should be used.
858
     *
859
     * @param \Spatie\SchemaOrg\Contracts\InteractionCounterContract|\Spatie\SchemaOrg\Contracts\InteractionCounterContract[] $interactionStatistic
860
     *
861
     * @return static
862
     *
863
     * @see http://schema.org/interactionStatistic
864
     */
865
    public function interactionStatistic($interactionStatistic)
866
    {
867
        return $this->setProperty('interactionStatistic', $interactionStatistic);
868
    }
869
870
    /**
871
     * The predominant mode of learning supported by the learning resource.
872
     * Acceptable values are 'active', 'expositive', or 'mixed'.
873
     *
874
     * @param string|string[] $interactivityType
875
     *
876
     * @return static
877
     *
878
     * @see http://schema.org/interactivityType
879
     */
880
    public function interactivityType($interactivityType)
881
    {
882
        return $this->setProperty('interactivityType', $interactivityType);
883
    }
884
885
    /**
886
     * A flag to signal that the item, event, or place is accessible for free.
887
     *
888
     * @param bool|bool[] $isAccessibleForFree
889
     *
890
     * @return static
891
     *
892
     * @see http://schema.org/isAccessibleForFree
893
     */
894
    public function isAccessibleForFree($isAccessibleForFree)
895
    {
896
        return $this->setProperty('isAccessibleForFree', $isAccessibleForFree);
897
    }
898
899
    /**
900
     * A resource from which this work is derived or from which it is a
901
     * modification or adaption.
902
     *
903
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOn
904
     *
905
     * @return static
906
     *
907
     * @see http://schema.org/isBasedOn
908
     */
909
    public function isBasedOn($isBasedOn)
910
    {
911
        return $this->setProperty('isBasedOn', $isBasedOn);
912
    }
913
914
    /**
915
     * A resource that was used in the creation of this resource. This term can
916
     * be repeated for multiple sources. For example,
917
     * http://example.com/great-multiplication-intro.html.
918
     *
919
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOnUrl
920
     *
921
     * @return static
922
     *
923
     * @see http://schema.org/isBasedOnUrl
924
     */
925
    public function isBasedOnUrl($isBasedOnUrl)
926
    {
927
        return $this->setProperty('isBasedOnUrl', $isBasedOnUrl);
928
    }
929
930
    /**
931
     * Indicates whether this content is family friendly.
932
     *
933
     * @param bool|bool[] $isFamilyFriendly
934
     *
935
     * @return static
936
     *
937
     * @see http://schema.org/isFamilyFriendly
938
     */
939
    public function isFamilyFriendly($isFamilyFriendly)
940
    {
941
        return $this->setProperty('isFamilyFriendly', $isFamilyFriendly);
942
    }
943
944
    /**
945
     * Indicates an item or CreativeWork that this item, or CreativeWork (in
946
     * some sense), is part of.
947
     *
948
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $isPartOf
949
     *
950
     * @return static
951
     *
952
     * @see http://schema.org/isPartOf
953
     */
954
    public function isPartOf($isPartOf)
955
    {
956
        return $this->setProperty('isPartOf', $isPartOf);
957
    }
958
959
    /**
960
     * An entity represented by an entry in a list or data feed (e.g. an
961
     * 'artist' in a list of 'artists')’.
962
     *
963
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $item
964
     *
965
     * @return static
966
     *
967
     * @see http://schema.org/item
968
     */
969
    public function item($item)
970
    {
971
        return $this->setProperty('item', $item);
972
    }
973
974
    /**
975
     * Keywords or tags used to describe this content. Multiple entries in a
976
     * keywords list are typically delimited by commas.
977
     *
978
     * @param string|string[] $keywords
979
     *
980
     * @return static
981
     *
982
     * @see http://schema.org/keywords
983
     */
984
    public function keywords($keywords)
985
    {
986
        return $this->setProperty('keywords', $keywords);
987
    }
988
989
    /**
990
     * The predominant type or kind characterizing the learning resource. For
991
     * example, 'presentation', 'handout'.
992
     *
993
     * @param string|string[] $learningResourceType
994
     *
995
     * @return static
996
     *
997
     * @see http://schema.org/learningResourceType
998
     */
999
    public function learningResourceType($learningResourceType)
1000
    {
1001
        return $this->setProperty('learningResourceType', $learningResourceType);
1002
    }
1003
1004
    /**
1005
     * A license document that applies to this content, typically indicated by
1006
     * URL.
1007
     *
1008
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $license
1009
     *
1010
     * @return static
1011
     *
1012
     * @see http://schema.org/license
1013
     */
1014
    public function license($license)
1015
    {
1016
        return $this->setProperty('license', $license);
1017
    }
1018
1019
    /**
1020
     * The location where the CreativeWork was created, which may not be the
1021
     * same as the location depicted in the CreativeWork.
1022
     *
1023
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $locationCreated
1024
     *
1025
     * @return static
1026
     *
1027
     * @see http://schema.org/locationCreated
1028
     */
1029
    public function locationCreated($locationCreated)
1030
    {
1031
        return $this->setProperty('locationCreated', $locationCreated);
1032
    }
1033
1034
    /**
1035
     * Indicates the primary entity described in some page or other
1036
     * CreativeWork.
1037
     *
1038
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mainEntity
1039
     *
1040
     * @return static
1041
     *
1042
     * @see http://schema.org/mainEntity
1043
     */
1044
    public function mainEntity($mainEntity)
1045
    {
1046
        return $this->setProperty('mainEntity', $mainEntity);
1047
    }
1048
1049
    /**
1050
     * Indicates a page (or other CreativeWork) for which this thing is the main
1051
     * entity being described. See [background
1052
     * notes](/docs/datamodel.html#mainEntityBackground) for details.
1053
     *
1054
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage
1055
     *
1056
     * @return static
1057
     *
1058
     * @see http://schema.org/mainEntityOfPage
1059
     */
1060
    public function mainEntityOfPage($mainEntityOfPage)
1061
    {
1062
        return $this->setProperty('mainEntityOfPage', $mainEntityOfPage);
1063
    }
1064
1065
    /**
1066
     * A material that something is made from, e.g. leather, wool, cotton,
1067
     * paper.
1068
     *
1069
     * @param \Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $material
1070
     *
1071
     * @return static
1072
     *
1073
     * @see http://schema.org/material
1074
     */
1075
    public function material($material)
1076
    {
1077
        return $this->setProperty('material', $material);
1078
    }
1079
1080
    /**
1081
     * Indicates that the CreativeWork contains a reference to, but is not
1082
     * necessarily about a concept.
1083
     *
1084
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mentions
1085
     *
1086
     * @return static
1087
     *
1088
     * @see http://schema.org/mentions
1089
     */
1090
    public function mentions($mentions)
1091
    {
1092
        return $this->setProperty('mentions', $mentions);
1093
    }
1094
1095
    /**
1096
     * The name of the item.
1097
     *
1098
     * @param string|string[] $name
1099
     *
1100
     * @return static
1101
     *
1102
     * @see http://schema.org/name
1103
     */
1104
    public function name($name)
1105
    {
1106
        return $this->setProperty('name', $name);
1107
    }
1108
1109
    /**
1110
     * A link to the ListItem that follows the current one.
1111
     *
1112
     * @param \Spatie\SchemaOrg\Contracts\ListItemContract|\Spatie\SchemaOrg\Contracts\ListItemContract[] $nextItem
1113
     *
1114
     * @return static
1115
     *
1116
     * @see http://schema.org/nextItem
1117
     */
1118
    public function nextItem($nextItem)
1119
    {
1120
        return $this->setProperty('nextItem', $nextItem);
1121
    }
1122
1123
    /**
1124
     * An offer to provide this item—for example, an offer to sell a
1125
     * product, rent the DVD of a movie, perform a service, or give away tickets
1126
     * to an event. Use [[businessFunction]] to indicate the kind of transaction
1127
     * offered, i.e. sell, lease, etc. This property can also be used to
1128
     * describe a [[Demand]]. While this property is listed as expected on a
1129
     * number of common types, it can be used in others. In that case, using a
1130
     * second type, such as Product or a subtype of Product, can clarify the
1131
     * nature of the offer.
1132
     *
1133
     * @param \Spatie\SchemaOrg\Contracts\DemandContract|\Spatie\SchemaOrg\Contracts\DemandContract[]|\Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $offers
1134
     *
1135
     * @return static
1136
     *
1137
     * @see http://schema.org/offers
1138
     */
1139
    public function offers($offers)
1140
    {
1141
        return $this->setProperty('offers', $offers);
1142
    }
1143
1144
    /**
1145
     * The length of time it takes to perform instructions or a direction (not
1146
     * including time to prepare the supplies), in [ISO 8601 duration
1147
     * format](http://en.wikipedia.org/wiki/ISO_8601).
1148
     *
1149
     * @param \Spatie\SchemaOrg\Contracts\DurationContract|\Spatie\SchemaOrg\Contracts\DurationContract[] $performTime
1150
     *
1151
     * @return static
1152
     *
1153
     * @see http://schema.org/performTime
1154
     */
1155
    public function performTime($performTime)
1156
    {
1157
        return $this->setProperty('performTime', $performTime);
1158
    }
1159
1160
    /**
1161
     * The position of an item in a series or sequence of items.
1162
     *
1163
     * @param int|int[]|string|string[] $position
1164
     *
1165
     * @return static
1166
     *
1167
     * @see http://schema.org/position
1168
     */
1169
    public function position($position)
1170
    {
1171
        return $this->setProperty('position', $position);
1172
    }
1173
1174
    /**
1175
     * Indicates a potential Action, which describes an idealized action in
1176
     * which this thing would play an 'object' role.
1177
     *
1178
     * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction
1179
     *
1180
     * @return static
1181
     *
1182
     * @see http://schema.org/potentialAction
1183
     */
1184
    public function potentialAction($potentialAction)
1185
    {
1186
        return $this->setProperty('potentialAction', $potentialAction);
1187
    }
1188
1189
    /**
1190
     * The length of time it takes to prepare the items to be used in
1191
     * instructions or a direction, in [ISO 8601 duration
1192
     * format](http://en.wikipedia.org/wiki/ISO_8601).
1193
     *
1194
     * @param \Spatie\SchemaOrg\Contracts\DurationContract|\Spatie\SchemaOrg\Contracts\DurationContract[] $prepTime
1195
     *
1196
     * @return static
1197
     *
1198
     * @see http://schema.org/prepTime
1199
     */
1200
    public function prepTime($prepTime)
1201
    {
1202
        return $this->setProperty('prepTime', $prepTime);
1203
    }
1204
1205
    /**
1206
     * A link to the ListItem that preceeds the current one.
1207
     *
1208
     * @param \Spatie\SchemaOrg\Contracts\ListItemContract|\Spatie\SchemaOrg\Contracts\ListItemContract[] $previousItem
1209
     *
1210
     * @return static
1211
     *
1212
     * @see http://schema.org/previousItem
1213
     */
1214
    public function previousItem($previousItem)
1215
    {
1216
        return $this->setProperty('previousItem', $previousItem);
1217
    }
1218
1219
    /**
1220
     * The person or organization who produced the work (e.g. music album,
1221
     * movie, tv/radio series etc.).
1222
     *
1223
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $producer
1224
     *
1225
     * @return static
1226
     *
1227
     * @see http://schema.org/producer
1228
     */
1229
    public function producer($producer)
1230
    {
1231
        return $this->setProperty('producer', $producer);
1232
    }
1233
1234
    /**
1235
     * The service provider, service operator, or service performer; the goods
1236
     * producer. Another party (a seller) may offer those services or goods on
1237
     * behalf of the provider. A provider may also serve as the seller.
1238
     *
1239
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $provider
1240
     *
1241
     * @return static
1242
     *
1243
     * @see http://schema.org/provider
1244
     */
1245
    public function provider($provider)
1246
    {
1247
        return $this->setProperty('provider', $provider);
1248
    }
1249
1250
    /**
1251
     * A publication event associated with the item.
1252
     *
1253
     * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $publication
1254
     *
1255
     * @return static
1256
     *
1257
     * @see http://schema.org/publication
1258
     */
1259
    public function publication($publication)
1260
    {
1261
        return $this->setProperty('publication', $publication);
1262
    }
1263
1264
    /**
1265
     * The publisher of the creative work.
1266
     *
1267
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $publisher
1268
     *
1269
     * @return static
1270
     *
1271
     * @see http://schema.org/publisher
1272
     */
1273
    public function publisher($publisher)
1274
    {
1275
        return $this->setProperty('publisher', $publisher);
1276
    }
1277
1278
    /**
1279
     * The publishingPrinciples property indicates (typically via [[URL]]) a
1280
     * document describing the editorial principles of an [[Organization]] (or
1281
     * individual e.g. a [[Person]] writing a blog) that relate to their
1282
     * activities as a publisher, e.g. ethics or diversity policies. When
1283
     * applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are
1284
     * those of the party primarily responsible for the creation of the
1285
     * [[CreativeWork]].
1286
     * 
1287
     * While such policies are most typically expressed in natural language,
1288
     * sometimes related information (e.g. indicating a [[funder]]) can be
1289
     * expressed using schema.org terminology.
1290
     *
1291
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $publishingPrinciples
1292
     *
1293
     * @return static
1294
     *
1295
     * @see http://schema.org/publishingPrinciples
1296
     */
1297
    public function publishingPrinciples($publishingPrinciples)
1298
    {
1299
        return $this->setProperty('publishingPrinciples', $publishingPrinciples);
1300
    }
1301
1302
    /**
1303
     * The Event where the CreativeWork was recorded. The CreativeWork may
1304
     * capture all or part of the event.
1305
     *
1306
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $recordedAt
1307
     *
1308
     * @return static
1309
     *
1310
     * @see http://schema.org/recordedAt
1311
     */
1312
    public function recordedAt($recordedAt)
1313
    {
1314
        return $this->setProperty('recordedAt', $recordedAt);
1315
    }
1316
1317
    /**
1318
     * The place and time the release was issued, expressed as a
1319
     * PublicationEvent.
1320
     *
1321
     * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $releasedEvent
1322
     *
1323
     * @return static
1324
     *
1325
     * @see http://schema.org/releasedEvent
1326
     */
1327
    public function releasedEvent($releasedEvent)
1328
    {
1329
        return $this->setProperty('releasedEvent', $releasedEvent);
1330
    }
1331
1332
    /**
1333
     * A review of the item.
1334
     *
1335
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $review
1336
     *
1337
     * @return static
1338
     *
1339
     * @see http://schema.org/review
1340
     */
1341
    public function review($review)
1342
    {
1343
        return $this->setProperty('review', $review);
1344
    }
1345
1346
    /**
1347
     * Review of the item.
1348
     *
1349
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $reviews
1350
     *
1351
     * @return static
1352
     *
1353
     * @see http://schema.org/reviews
1354
     */
1355
    public function reviews($reviews)
1356
    {
1357
        return $this->setProperty('reviews', $reviews);
1358
    }
1359
1360
    /**
1361
     * URL of a reference Web page that unambiguously indicates the item's
1362
     * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or
1363
     * official website.
1364
     *
1365
     * @param string|string[] $sameAs
1366
     *
1367
     * @return static
1368
     *
1369
     * @see http://schema.org/sameAs
1370
     */
1371
    public function sameAs($sameAs)
1372
    {
1373
        return $this->setProperty('sameAs', $sameAs);
1374
    }
1375
1376
    /**
1377
     * Indicates (by URL or string) a particular version of a schema used in
1378
     * some CreativeWork. For example, a document could declare a schemaVersion
1379
     * using an URL such as http://schema.org/version/2.0/ if precise indication
1380
     * of schema version was required by some application.
1381
     *
1382
     * @param string|string[] $schemaVersion
1383
     *
1384
     * @return static
1385
     *
1386
     * @see http://schema.org/schemaVersion
1387
     */
1388
    public function schemaVersion($schemaVersion)
1389
    {
1390
        return $this->setProperty('schemaVersion', $schemaVersion);
1391
    }
1392
1393
    /**
1394
     * The Organization on whose behalf the creator was working.
1395
     *
1396
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $sourceOrganization
1397
     *
1398
     * @return static
1399
     *
1400
     * @see http://schema.org/sourceOrganization
1401
     */
1402
    public function sourceOrganization($sourceOrganization)
1403
    {
1404
        return $this->setProperty('sourceOrganization', $sourceOrganization);
1405
    }
1406
1407
    /**
1408
     * The "spatial" property can be used in cases when more specific properties
1409
     * (e.g. [[locationCreated]], [[spatialCoverage]], [[contentLocation]]) are
1410
     * not known to be appropriate.
1411
     *
1412
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatial
1413
     *
1414
     * @return static
1415
     *
1416
     * @see http://schema.org/spatial
1417
     */
1418
    public function spatial($spatial)
1419
    {
1420
        return $this->setProperty('spatial', $spatial);
1421
    }
1422
1423
    /**
1424
     * The spatialCoverage of a CreativeWork indicates the place(s) which are
1425
     * the focus of the content. It is a subproperty of
1426
     *       contentLocation intended primarily for more technical and detailed
1427
     * materials. For example with a Dataset, it indicates
1428
     *       areas that the dataset describes: a dataset of New York weather
1429
     * would have spatialCoverage which was the place: the state of New York.
1430
     *
1431
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatialCoverage
1432
     *
1433
     * @return static
1434
     *
1435
     * @see http://schema.org/spatialCoverage
1436
     */
1437
    public function spatialCoverage($spatialCoverage)
1438
    {
1439
        return $this->setProperty('spatialCoverage', $spatialCoverage);
1440
    }
1441
1442
    /**
1443
     * A person or organization that supports a thing through a pledge, promise,
1444
     * or financial contribution. e.g. a sponsor of a Medical Study or a
1445
     * corporate sponsor of an event.
1446
     *
1447
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $sponsor
1448
     *
1449
     * @return static
1450
     *
1451
     * @see http://schema.org/sponsor
1452
     */
1453
    public function sponsor($sponsor)
1454
    {
1455
        return $this->setProperty('sponsor', $sponsor);
1456
    }
1457
1458
    /**
1459
     * A CreativeWork or Event about this Thing.
1460
     *
1461
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf
1462
     *
1463
     * @return static
1464
     *
1465
     * @see http://schema.org/subjectOf
1466
     */
1467
    public function subjectOf($subjectOf)
1468
    {
1469
        return $this->setProperty('subjectOf', $subjectOf);
1470
    }
1471
1472
    /**
1473
     * A sub-property of instrument. A supply consumed when performing
1474
     * instructions or a direction.
1475
     *
1476
     * @param \Spatie\SchemaOrg\Contracts\HowToSupplyContract|\Spatie\SchemaOrg\Contracts\HowToSupplyContract[]|string|string[] $supply
1477
     *
1478
     * @return static
1479
     *
1480
     * @see http://schema.org/supply
1481
     */
1482
    public function supply($supply)
1483
    {
1484
        return $this->setProperty('supply', $supply);
1485
    }
1486
1487
    /**
1488
     * The "temporal" property can be used in cases where more specific
1489
     * properties
1490
     * (e.g. [[temporalCoverage]], [[dateCreated]], [[dateModified]],
1491
     * [[datePublished]]) are not known to be appropriate.
1492
     *
1493
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporal
1494
     *
1495
     * @return static
1496
     *
1497
     * @see http://schema.org/temporal
1498
     */
1499
    public function temporal($temporal)
1500
    {
1501
        return $this->setProperty('temporal', $temporal);
1502
    }
1503
1504
    /**
1505
     * The temporalCoverage of a CreativeWork indicates the period that the
1506
     * content applies to, i.e. that it describes, either as a DateTime or as a
1507
     * textual string indicating a time period in [ISO 8601 time interval
1508
     * format](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals). In
1509
     *       the case of a Dataset it will typically indicate the relevant time
1510
     * period in a precise notation (e.g. for a 2011 census dataset, the year
1511
     * 2011 would be written "2011/2012"). Other forms of content e.g.
1512
     * ScholarlyArticle, Book, TVSeries or TVEpisode may indicate their
1513
     * temporalCoverage in broader terms - textually or via well-known URL.
1514
     *       Written works such as books may sometimes have precise temporal
1515
     * coverage too, e.g. a work set in 1939 - 1945 can be indicated in ISO 8601
1516
     * interval format format via "1939/1945".
1517
     * 
1518
     * Open-ended date ranges can be written with ".." in place of the end date.
1519
     * For example, "2015-11/.." indicates a range beginning in November 2015
1520
     * and with no specified final date. This is tentative and might be updated
1521
     * in future when ISO 8601 is officially updated.
1522
     *
1523
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporalCoverage
1524
     *
1525
     * @return static
1526
     *
1527
     * @see http://schema.org/temporalCoverage
1528
     */
1529
    public function temporalCoverage($temporalCoverage)
1530
    {
1531
        return $this->setProperty('temporalCoverage', $temporalCoverage);
1532
    }
1533
1534
    /**
1535
     * The textual content of this CreativeWork.
1536
     *
1537
     * @param string|string[] $text
1538
     *
1539
     * @return static
1540
     *
1541
     * @see http://schema.org/text
1542
     */
1543
    public function text($text)
1544
    {
1545
        return $this->setProperty('text', $text);
1546
    }
1547
1548
    /**
1549
     * A thumbnail image relevant to the Thing.
1550
     *
1551
     * @param string|string[] $thumbnailUrl
1552
     *
1553
     * @return static
1554
     *
1555
     * @see http://schema.org/thumbnailUrl
1556
     */
1557
    public function thumbnailUrl($thumbnailUrl)
1558
    {
1559
        return $this->setProperty('thumbnailUrl', $thumbnailUrl);
1560
    }
1561
1562
    /**
1563
     * Approximate or typical time it takes to work with or through this
1564
     * learning resource for the typical intended target audience, e.g. 'PT30M',
1565
     * 'PT1H25M'.
1566
     *
1567
     * @param \Spatie\SchemaOrg\Contracts\DurationContract|\Spatie\SchemaOrg\Contracts\DurationContract[] $timeRequired
1568
     *
1569
     * @return static
1570
     *
1571
     * @see http://schema.org/timeRequired
1572
     */
1573
    public function timeRequired($timeRequired)
1574
    {
1575
        return $this->setProperty('timeRequired', $timeRequired);
1576
    }
1577
1578
    /**
1579
     * A sub property of instrument. An object used (but not consumed) when
1580
     * performing instructions or a direction.
1581
     *
1582
     * @param \Spatie\SchemaOrg\Contracts\HowToToolContract|\Spatie\SchemaOrg\Contracts\HowToToolContract[]|string|string[] $tool
1583
     *
1584
     * @return static
1585
     *
1586
     * @see http://schema.org/tool
1587
     */
1588
    public function tool($tool)
1589
    {
1590
        return $this->setProperty('tool', $tool);
1591
    }
1592
1593
    /**
1594
     * The total time required to perform instructions or a direction (including
1595
     * time to prepare the supplies), in [ISO 8601 duration
1596
     * format](http://en.wikipedia.org/wiki/ISO_8601).
1597
     *
1598
     * @param \Spatie\SchemaOrg\Contracts\DurationContract|\Spatie\SchemaOrg\Contracts\DurationContract[] $totalTime
1599
     *
1600
     * @return static
1601
     *
1602
     * @see http://schema.org/totalTime
1603
     */
1604
    public function totalTime($totalTime)
1605
    {
1606
        return $this->setProperty('totalTime', $totalTime);
1607
    }
1608
1609
    /**
1610
     * Organization or person who adapts a creative work to different languages,
1611
     * regional differences and technical requirements of a target market, or
1612
     * that translates during some event.
1613
     *
1614
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $translator
1615
     *
1616
     * @return static
1617
     *
1618
     * @see http://schema.org/translator
1619
     */
1620
    public function translator($translator)
1621
    {
1622
        return $this->setProperty('translator', $translator);
1623
    }
1624
1625
    /**
1626
     * The typical expected age range, e.g. '7-9', '11-'.
1627
     *
1628
     * @param string|string[] $typicalAgeRange
1629
     *
1630
     * @return static
1631
     *
1632
     * @see http://schema.org/typicalAgeRange
1633
     */
1634
    public function typicalAgeRange($typicalAgeRange)
1635
    {
1636
        return $this->setProperty('typicalAgeRange', $typicalAgeRange);
1637
    }
1638
1639
    /**
1640
     * URL of the item.
1641
     *
1642
     * @param string|string[] $url
1643
     *
1644
     * @return static
1645
     *
1646
     * @see http://schema.org/url
1647
     */
1648
    public function url($url)
1649
    {
1650
        return $this->setProperty('url', $url);
1651
    }
1652
1653
    /**
1654
     * The version of the CreativeWork embodied by a specified resource.
1655
     *
1656
     * @param float|float[]|int|int[]|string|string[] $version
1657
     *
1658
     * @return static
1659
     *
1660
     * @see http://schema.org/version
1661
     */
1662
    public function version($version)
1663
    {
1664
        return $this->setProperty('version', $version);
1665
    }
1666
1667
    /**
1668
     * An embedded video object.
1669
     *
1670
     * @param \Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[]|\Spatie\SchemaOrg\Contracts\VideoObjectContract|\Spatie\SchemaOrg\Contracts\VideoObjectContract[] $video
1671
     *
1672
     * @return static
1673
     *
1674
     * @see http://schema.org/video
1675
     */
1676
    public function video($video)
1677
    {
1678
        return $this->setProperty('video', $video);
1679
    }
1680
1681
    /**
1682
     * Example/instance/realization/derivation of the concept of this creative
1683
     * work. eg. The paperback edition, first edition, or eBook.
1684
     *
1685
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $workExample
1686
     *
1687
     * @return static
1688
     *
1689
     * @see http://schema.org/workExample
1690
     */
1691
    public function workExample($workExample)
1692
    {
1693
        return $this->setProperty('workExample', $workExample);
1694
    }
1695
1696
}
1697

src/LiveBlogPosting.php 1 location

@@ 19-1716 (lines=1698) @@
16
 * @see http://schema.org/LiveBlogPosting
17
 *
18
 */
19
class LiveBlogPosting extends BaseType implements LiveBlogPostingContract, ArticleContract, BlogPostingContract, CreativeWorkContract, SocialMediaPostingContract, ThingContract
20
{
21
    /**
22
     * The subject matter of the content.
23
     *
24
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $about
25
     *
26
     * @return static
27
     *
28
     * @see http://schema.org/about
29
     */
30
    public function about($about)
31
    {
32
        return $this->setProperty('about', $about);
33
    }
34
35
    /**
36
     * The human sensory perceptual system or cognitive faculty through which a
37
     * person may process or perceive information. Expected values include:
38
     * auditory, tactile, textual, visual, colorDependent, chartOnVisual,
39
     * chemOnVisual, diagramOnVisual, mathOnVisual, musicOnVisual, textOnVisual.
40
     *
41
     * @param string|string[] $accessMode
42
     *
43
     * @return static
44
     *
45
     * @see http://schema.org/accessMode
46
     */
47
    public function accessMode($accessMode)
48
    {
49
        return $this->setProperty('accessMode', $accessMode);
50
    }
51
52
    /**
53
     * A list of single or combined accessModes that are sufficient to
54
     * understand all the intellectual content of a resource. Expected values
55
     * include:  auditory, tactile, textual, visual.
56
     *
57
     * @param \Spatie\SchemaOrg\Contracts\ItemListContract|\Spatie\SchemaOrg\Contracts\ItemListContract[] $accessModeSufficient
58
     *
59
     * @return static
60
     *
61
     * @see http://schema.org/accessModeSufficient
62
     */
63
    public function accessModeSufficient($accessModeSufficient)
64
    {
65
        return $this->setProperty('accessModeSufficient', $accessModeSufficient);
66
    }
67
68
    /**
69
     * Indicates that the resource is compatible with the referenced
70
     * accessibility API ([WebSchemas wiki lists possible
71
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
72
     *
73
     * @param string|string[] $accessibilityAPI
74
     *
75
     * @return static
76
     *
77
     * @see http://schema.org/accessibilityAPI
78
     */
79
    public function accessibilityAPI($accessibilityAPI)
80
    {
81
        return $this->setProperty('accessibilityAPI', $accessibilityAPI);
82
    }
83
84
    /**
85
     * Identifies input methods that are sufficient to fully control the
86
     * described resource ([WebSchemas wiki lists possible
87
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
88
     *
89
     * @param string|string[] $accessibilityControl
90
     *
91
     * @return static
92
     *
93
     * @see http://schema.org/accessibilityControl
94
     */
95
    public function accessibilityControl($accessibilityControl)
96
    {
97
        return $this->setProperty('accessibilityControl', $accessibilityControl);
98
    }
99
100
    /**
101
     * Content features of the resource, such as accessible media, alternatives
102
     * and supported enhancements for accessibility ([WebSchemas wiki lists
103
     * possible values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
104
     *
105
     * @param string|string[] $accessibilityFeature
106
     *
107
     * @return static
108
     *
109
     * @see http://schema.org/accessibilityFeature
110
     */
111
    public function accessibilityFeature($accessibilityFeature)
112
    {
113
        return $this->setProperty('accessibilityFeature', $accessibilityFeature);
114
    }
115
116
    /**
117
     * A characteristic of the described resource that is physiologically
118
     * dangerous to some users. Related to WCAG 2.0 guideline 2.3 ([WebSchemas
119
     * wiki lists possible
120
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
121
     *
122
     * @param string|string[] $accessibilityHazard
123
     *
124
     * @return static
125
     *
126
     * @see http://schema.org/accessibilityHazard
127
     */
128
    public function accessibilityHazard($accessibilityHazard)
129
    {
130
        return $this->setProperty('accessibilityHazard', $accessibilityHazard);
131
    }
132
133
    /**
134
     * A human-readable summary of specific accessibility features or
135
     * deficiencies, consistent with the other accessibility metadata but
136
     * expressing subtleties such as "short descriptions are present but long
137
     * descriptions will be needed for non-visual users" or "short descriptions
138
     * are present and no long descriptions are needed."
139
     *
140
     * @param string|string[] $accessibilitySummary
141
     *
142
     * @return static
143
     *
144
     * @see http://schema.org/accessibilitySummary
145
     */
146
    public function accessibilitySummary($accessibilitySummary)
147
    {
148
        return $this->setProperty('accessibilitySummary', $accessibilitySummary);
149
    }
150
151
    /**
152
     * Specifies the Person that is legally accountable for the CreativeWork.
153
     *
154
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $accountablePerson
155
     *
156
     * @return static
157
     *
158
     * @see http://schema.org/accountablePerson
159
     */
160
    public function accountablePerson($accountablePerson)
161
    {
162
        return $this->setProperty('accountablePerson', $accountablePerson);
163
    }
164
165
    /**
166
     * An additional type for the item, typically used for adding more specific
167
     * types from external vocabularies in microdata syntax. This is a
168
     * relationship between something and a class that the thing is in. In RDFa
169
     * syntax, it is better to use the native RDFa syntax - the 'typeof'
170
     * attribute - for multiple types. Schema.org tools may have only weaker
171
     * understanding of extra types, in particular those defined externally.
172
     *
173
     * @param string|string[] $additionalType
174
     *
175
     * @return static
176
     *
177
     * @see http://schema.org/additionalType
178
     */
179
    public function additionalType($additionalType)
180
    {
181
        return $this->setProperty('additionalType', $additionalType);
182
    }
183
184
    /**
185
     * The overall rating, based on a collection of reviews or ratings, of the
186
     * item.
187
     *
188
     * @param \Spatie\SchemaOrg\Contracts\AggregateRatingContract|\Spatie\SchemaOrg\Contracts\AggregateRatingContract[] $aggregateRating
189
     *
190
     * @return static
191
     *
192
     * @see http://schema.org/aggregateRating
193
     */
194
    public function aggregateRating($aggregateRating)
195
    {
196
        return $this->setProperty('aggregateRating', $aggregateRating);
197
    }
198
199
    /**
200
     * An alias for the item.
201
     *
202
     * @param string|string[] $alternateName
203
     *
204
     * @return static
205
     *
206
     * @see http://schema.org/alternateName
207
     */
208
    public function alternateName($alternateName)
209
    {
210
        return $this->setProperty('alternateName', $alternateName);
211
    }
212
213
    /**
214
     * A secondary title of the CreativeWork.
215
     *
216
     * @param string|string[] $alternativeHeadline
217
     *
218
     * @return static
219
     *
220
     * @see http://schema.org/alternativeHeadline
221
     */
222
    public function alternativeHeadline($alternativeHeadline)
223
    {
224
        return $this->setProperty('alternativeHeadline', $alternativeHeadline);
225
    }
226
227
    /**
228
     * The actual body of the article.
229
     *
230
     * @param string|string[] $articleBody
231
     *
232
     * @return static
233
     *
234
     * @see http://schema.org/articleBody
235
     */
236
    public function articleBody($articleBody)
237
    {
238
        return $this->setProperty('articleBody', $articleBody);
239
    }
240
241
    /**
242
     * Articles may belong to one or more 'sections' in a magazine or newspaper,
243
     * such as Sports, Lifestyle, etc.
244
     *
245
     * @param string|string[] $articleSection
246
     *
247
     * @return static
248
     *
249
     * @see http://schema.org/articleSection
250
     */
251
    public function articleSection($articleSection)
252
    {
253
        return $this->setProperty('articleSection', $articleSection);
254
    }
255
256
    /**
257
     * A media object that encodes this CreativeWork. This property is a synonym
258
     * for encoding.
259
     *
260
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $associatedMedia
261
     *
262
     * @return static
263
     *
264
     * @see http://schema.org/associatedMedia
265
     */
266
    public function associatedMedia($associatedMedia)
267
    {
268
        return $this->setProperty('associatedMedia', $associatedMedia);
269
    }
270
271
    /**
272
     * An intended audience, i.e. a group for whom something was created.
273
     *
274
     * @param \Spatie\SchemaOrg\Contracts\AudienceContract|\Spatie\SchemaOrg\Contracts\AudienceContract[] $audience
275
     *
276
     * @return static
277
     *
278
     * @see http://schema.org/audience
279
     */
280
    public function audience($audience)
281
    {
282
        return $this->setProperty('audience', $audience);
283
    }
284
285
    /**
286
     * An embedded audio object.
287
     *
288
     * @param \Spatie\SchemaOrg\Contracts\AudioObjectContract|\Spatie\SchemaOrg\Contracts\AudioObjectContract[]|\Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[] $audio
289
     *
290
     * @return static
291
     *
292
     * @see http://schema.org/audio
293
     */
294
    public function audio($audio)
295
    {
296
        return $this->setProperty('audio', $audio);
297
    }
298
299
    /**
300
     * The author of this content or rating. Please note that author is special
301
     * in that HTML 5 provides a special mechanism for indicating authorship via
302
     * the rel tag. That is equivalent to this and may be used interchangeably.
303
     *
304
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $author
305
     *
306
     * @return static
307
     *
308
     * @see http://schema.org/author
309
     */
310
    public function author($author)
311
    {
312
        return $this->setProperty('author', $author);
313
    }
314
315
    /**
316
     * An award won by or for this item.
317
     *
318
     * @param string|string[] $award
319
     *
320
     * @return static
321
     *
322
     * @see http://schema.org/award
323
     */
324
    public function award($award)
325
    {
326
        return $this->setProperty('award', $award);
327
    }
328
329
    /**
330
     * Awards won by or for this item.
331
     *
332
     * @param string|string[] $awards
333
     *
334
     * @return static
335
     *
336
     * @see http://schema.org/awards
337
     */
338
    public function awards($awards)
339
    {
340
        return $this->setProperty('awards', $awards);
341
    }
342
343
    /**
344
     * Fictional person connected with a creative work.
345
     *
346
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $character
347
     *
348
     * @return static
349
     *
350
     * @see http://schema.org/character
351
     */
352
    public function character($character)
353
    {
354
        return $this->setProperty('character', $character);
355
    }
356
357
    /**
358
     * A citation or reference to another creative work, such as another
359
     * publication, web page, scholarly article, etc.
360
     *
361
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $citation
362
     *
363
     * @return static
364
     *
365
     * @see http://schema.org/citation
366
     */
367
    public function citation($citation)
368
    {
369
        return $this->setProperty('citation', $citation);
370
    }
371
372
    /**
373
     * Comments, typically from users.
374
     *
375
     * @param \Spatie\SchemaOrg\Contracts\CommentContract|\Spatie\SchemaOrg\Contracts\CommentContract[] $comment
376
     *
377
     * @return static
378
     *
379
     * @see http://schema.org/comment
380
     */
381
    public function comment($comment)
382
    {
383
        return $this->setProperty('comment', $comment);
384
    }
385
386
    /**
387
     * The number of comments this CreativeWork (e.g. Article, Question or
388
     * Answer) has received. This is most applicable to works published in Web
389
     * sites with commenting system; additional comments may exist elsewhere.
390
     *
391
     * @param int|int[] $commentCount
392
     *
393
     * @return static
394
     *
395
     * @see http://schema.org/commentCount
396
     */
397
    public function commentCount($commentCount)
398
    {
399
        return $this->setProperty('commentCount', $commentCount);
400
    }
401
402
    /**
403
     * The location depicted or described in the content. For example, the
404
     * location in a photograph or painting.
405
     *
406
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $contentLocation
407
     *
408
     * @return static
409
     *
410
     * @see http://schema.org/contentLocation
411
     */
412
    public function contentLocation($contentLocation)
413
    {
414
        return $this->setProperty('contentLocation', $contentLocation);
415
    }
416
417
    /**
418
     * Official rating of a piece of content—for example,'MPAA PG-13'.
419
     *
420
     * @param \Spatie\SchemaOrg\Contracts\RatingContract|\Spatie\SchemaOrg\Contracts\RatingContract[]|string|string[] $contentRating
421
     *
422
     * @return static
423
     *
424
     * @see http://schema.org/contentRating
425
     */
426
    public function contentRating($contentRating)
427
    {
428
        return $this->setProperty('contentRating', $contentRating);
429
    }
430
431
    /**
432
     * A secondary contributor to the CreativeWork or Event.
433
     *
434
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $contributor
435
     *
436
     * @return static
437
     *
438
     * @see http://schema.org/contributor
439
     */
440
    public function contributor($contributor)
441
    {
442
        return $this->setProperty('contributor', $contributor);
443
    }
444
445
    /**
446
     * The party holding the legal copyright to the CreativeWork.
447
     *
448
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $copyrightHolder
449
     *
450
     * @return static
451
     *
452
     * @see http://schema.org/copyrightHolder
453
     */
454
    public function copyrightHolder($copyrightHolder)
455
    {
456
        return $this->setProperty('copyrightHolder', $copyrightHolder);
457
    }
458
459
    /**
460
     * The year during which the claimed copyright for the CreativeWork was
461
     * first asserted.
462
     *
463
     * @param float|float[]|int|int[] $copyrightYear
464
     *
465
     * @return static
466
     *
467
     * @see http://schema.org/copyrightYear
468
     */
469
    public function copyrightYear($copyrightYear)
470
    {
471
        return $this->setProperty('copyrightYear', $copyrightYear);
472
    }
473
474
    /**
475
     * The time when the live blog will stop covering the Event. Note that
476
     * coverage may continue after the Event concludes.
477
     *
478
     * @param \DateTimeInterface|\DateTimeInterface[] $coverageEndTime
479
     *
480
     * @return static
481
     *
482
     * @see http://schema.org/coverageEndTime
483
     */
484
    public function coverageEndTime($coverageEndTime)
485
    {
486
        return $this->setProperty('coverageEndTime', $coverageEndTime);
487
    }
488
489
    /**
490
     * The time when the live blog will begin covering the Event. Note that
491
     * coverage may begin before the Event's start time. The LiveBlogPosting may
492
     * also be created before coverage begins.
493
     *
494
     * @param \DateTimeInterface|\DateTimeInterface[] $coverageStartTime
495
     *
496
     * @return static
497
     *
498
     * @see http://schema.org/coverageStartTime
499
     */
500
    public function coverageStartTime($coverageStartTime)
501
    {
502
        return $this->setProperty('coverageStartTime', $coverageStartTime);
503
    }
504
505
    /**
506
     * The creator/author of this CreativeWork. This is the same as the Author
507
     * property for CreativeWork.
508
     *
509
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $creator
510
     *
511
     * @return static
512
     *
513
     * @see http://schema.org/creator
514
     */
515
    public function creator($creator)
516
    {
517
        return $this->setProperty('creator', $creator);
518
    }
519
520
    /**
521
     * The date on which the CreativeWork was created or the item was added to a
522
     * DataFeed.
523
     *
524
     * @param \DateTimeInterface|\DateTimeInterface[] $dateCreated
525
     *
526
     * @return static
527
     *
528
     * @see http://schema.org/dateCreated
529
     */
530
    public function dateCreated($dateCreated)
531
    {
532
        return $this->setProperty('dateCreated', $dateCreated);
533
    }
534
535
    /**
536
     * The date on which the CreativeWork was most recently modified or when the
537
     * item's entry was modified within a DataFeed.
538
     *
539
     * @param \DateTimeInterface|\DateTimeInterface[] $dateModified
540
     *
541
     * @return static
542
     *
543
     * @see http://schema.org/dateModified
544
     */
545
    public function dateModified($dateModified)
546
    {
547
        return $this->setProperty('dateModified', $dateModified);
548
    }
549
550
    /**
551
     * Date of first broadcast/publication.
552
     *
553
     * @param \DateTimeInterface|\DateTimeInterface[] $datePublished
554
     *
555
     * @return static
556
     *
557
     * @see http://schema.org/datePublished
558
     */
559
    public function datePublished($datePublished)
560
    {
561
        return $this->setProperty('datePublished', $datePublished);
562
    }
563
564
    /**
565
     * A description of the item.
566
     *
567
     * @param string|string[] $description
568
     *
569
     * @return static
570
     *
571
     * @see http://schema.org/description
572
     */
573
    public function description($description)
574
    {
575
        return $this->setProperty('description', $description);
576
    }
577
578
    /**
579
     * A sub property of description. A short description of the item used to
580
     * disambiguate from other, similar items. Information from other properties
581
     * (in particular, name) may be necessary for the description to be useful
582
     * for disambiguation.
583
     *
584
     * @param string|string[] $disambiguatingDescription
585
     *
586
     * @return static
587
     *
588
     * @see http://schema.org/disambiguatingDescription
589
     */
590
    public function disambiguatingDescription($disambiguatingDescription)
591
    {
592
        return $this->setProperty('disambiguatingDescription', $disambiguatingDescription);
593
    }
594
595
    /**
596
     * A link to the page containing the comments of the CreativeWork.
597
     *
598
     * @param string|string[] $discussionUrl
599
     *
600
     * @return static
601
     *
602
     * @see http://schema.org/discussionUrl
603
     */
604
    public function discussionUrl($discussionUrl)
605
    {
606
        return $this->setProperty('discussionUrl', $discussionUrl);
607
    }
608
609
    /**
610
     * Specifies the Person who edited the CreativeWork.
611
     *
612
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $editor
613
     *
614
     * @return static
615
     *
616
     * @see http://schema.org/editor
617
     */
618
    public function editor($editor)
619
    {
620
        return $this->setProperty('editor', $editor);
621
    }
622
623
    /**
624
     * An alignment to an established educational framework.
625
     *
626
     * @param \Spatie\SchemaOrg\Contracts\AlignmentObjectContract|\Spatie\SchemaOrg\Contracts\AlignmentObjectContract[] $educationalAlignment
627
     *
628
     * @return static
629
     *
630
     * @see http://schema.org/educationalAlignment
631
     */
632
    public function educationalAlignment($educationalAlignment)
633
    {
634
        return $this->setProperty('educationalAlignment', $educationalAlignment);
635
    }
636
637
    /**
638
     * The purpose of a work in the context of education; for example,
639
     * 'assignment', 'group work'.
640
     *
641
     * @param string|string[] $educationalUse
642
     *
643
     * @return static
644
     *
645
     * @see http://schema.org/educationalUse
646
     */
647
    public function educationalUse($educationalUse)
648
    {
649
        return $this->setProperty('educationalUse', $educationalUse);
650
    }
651
652
    /**
653
     * A media object that encodes this CreativeWork. This property is a synonym
654
     * for associatedMedia.
655
     *
656
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encoding
657
     *
658
     * @return static
659
     *
660
     * @see http://schema.org/encoding
661
     */
662
    public function encoding($encoding)
663
    {
664
        return $this->setProperty('encoding', $encoding);
665
    }
666
667
    /**
668
     * Media type typically expressed using a MIME format (see [IANA
669
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml) and
670
     * [MDN
671
     * reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types))
672
     * e.g. application/zip for a SoftwareApplication binary, audio/mpeg for
673
     * .mp3 etc.).
674
     * 
675
     * In cases where a [[CreativeWork]] has several media type representations,
676
     * [[encoding]] can be used to indicate each [[MediaObject]] alongside
677
     * particular [[encodingFormat]] information.
678
     * 
679
     * Unregistered or niche encoding and file formats can be indicated instead
680
     * via the most appropriate URL, e.g. defining Web page or a
681
     * Wikipedia/Wikidata entry.
682
     *
683
     * @param string|string[] $encodingFormat
684
     *
685
     * @return static
686
     *
687
     * @see http://schema.org/encodingFormat
688
     */
689
    public function encodingFormat($encodingFormat)
690
    {
691
        return $this->setProperty('encodingFormat', $encodingFormat);
692
    }
693
694
    /**
695
     * A media object that encodes this CreativeWork.
696
     *
697
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encodings
698
     *
699
     * @return static
700
     *
701
     * @see http://schema.org/encodings
702
     */
703
    public function encodings($encodings)
704
    {
705
        return $this->setProperty('encodings', $encodings);
706
    }
707
708
    /**
709
     * A creative work that this work is an
710
     * example/instance/realization/derivation of.
711
     *
712
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $exampleOfWork
713
     *
714
     * @return static
715
     *
716
     * @see http://schema.org/exampleOfWork
717
     */
718
    public function exampleOfWork($exampleOfWork)
719
    {
720
        return $this->setProperty('exampleOfWork', $exampleOfWork);
721
    }
722
723
    /**
724
     * Date the content expires and is no longer useful or available. For
725
     * example a [[VideoObject]] or [[NewsArticle]] whose availability or
726
     * relevance is time-limited, or a [[ClaimReview]] fact check whose
727
     * publisher wants to indicate that it may no longer be relevant (or helpful
728
     * to highlight) after some date.
729
     *
730
     * @param \DateTimeInterface|\DateTimeInterface[] $expires
731
     *
732
     * @return static
733
     *
734
     * @see http://schema.org/expires
735
     */
736
    public function expires($expires)
737
    {
738
        return $this->setProperty('expires', $expires);
739
    }
740
741
    /**
742
     * Media type, typically MIME format (see [IANA
743
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml)) of
744
     * the content e.g. application/zip of a SoftwareApplication binary. In
745
     * cases where a CreativeWork has several media type representations,
746
     * 'encoding' can be used to indicate each MediaObject alongside particular
747
     * fileFormat information. Unregistered or niche file formats can be
748
     * indicated instead via the most appropriate URL, e.g. defining Web page or
749
     * a Wikipedia entry.
750
     *
751
     * @param string|string[] $fileFormat
752
     *
753
     * @return static
754
     *
755
     * @see http://schema.org/fileFormat
756
     */
757
    public function fileFormat($fileFormat)
758
    {
759
        return $this->setProperty('fileFormat', $fileFormat);
760
    }
761
762
    /**
763
     * A person or organization that supports (sponsors) something through some
764
     * kind of financial contribution.
765
     *
766
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $funder
767
     *
768
     * @return static
769
     *
770
     * @see http://schema.org/funder
771
     */
772
    public function funder($funder)
773
    {
774
        return $this->setProperty('funder', $funder);
775
    }
776
777
    /**
778
     * Genre of the creative work, broadcast channel or group.
779
     *
780
     * @param string|string[] $genre
781
     *
782
     * @return static
783
     *
784
     * @see http://schema.org/genre
785
     */
786
    public function genre($genre)
787
    {
788
        return $this->setProperty('genre', $genre);
789
    }
790
791
    /**
792
     * Indicates an item or CreativeWork that is part of this item, or
793
     * CreativeWork (in some sense).
794
     *
795
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $hasPart
796
     *
797
     * @return static
798
     *
799
     * @see http://schema.org/hasPart
800
     */
801
    public function hasPart($hasPart)
802
    {
803
        return $this->setProperty('hasPart', $hasPart);
804
    }
805
806
    /**
807
     * Headline of the article.
808
     *
809
     * @param string|string[] $headline
810
     *
811
     * @return static
812
     *
813
     * @see http://schema.org/headline
814
     */
815
    public function headline($headline)
816
    {
817
        return $this->setProperty('headline', $headline);
818
    }
819
820
    /**
821
     * The identifier property represents any kind of identifier for any kind of
822
     * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides
823
     * dedicated properties for representing many of these, either as textual
824
     * strings or as URL (URI) links. See [background
825
     * notes](/docs/datamodel.html#identifierBg) for more details.
826
     *
827
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier
828
     *
829
     * @return static
830
     *
831
     * @see http://schema.org/identifier
832
     */
833
    public function identifier($identifier)
834
    {
835
        return $this->setProperty('identifier', $identifier);
836
    }
837
838
    /**
839
     * An image of the item. This can be a [[URL]] or a fully described
840
     * [[ImageObject]].
841
     *
842
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image
843
     *
844
     * @return static
845
     *
846
     * @see http://schema.org/image
847
     */
848
    public function image($image)
849
    {
850
        return $this->setProperty('image', $image);
851
    }
852
853
    /**
854
     * The language of the content or performance or used in an action. Please
855
     * use one of the language codes from the [IETF BCP 47
856
     * standard](http://tools.ietf.org/html/bcp47). See also
857
     * [[availableLanguage]].
858
     *
859
     * @param \Spatie\SchemaOrg\Contracts\LanguageContract|\Spatie\SchemaOrg\Contracts\LanguageContract[]|string|string[] $inLanguage
860
     *
861
     * @return static
862
     *
863
     * @see http://schema.org/inLanguage
864
     */
865
    public function inLanguage($inLanguage)
866
    {
867
        return $this->setProperty('inLanguage', $inLanguage);
868
    }
869
870
    /**
871
     * The number of interactions for the CreativeWork using the WebSite or
872
     * SoftwareApplication. The most specific child type of InteractionCounter
873
     * should be used.
874
     *
875
     * @param \Spatie\SchemaOrg\Contracts\InteractionCounterContract|\Spatie\SchemaOrg\Contracts\InteractionCounterContract[] $interactionStatistic
876
     *
877
     * @return static
878
     *
879
     * @see http://schema.org/interactionStatistic
880
     */
881
    public function interactionStatistic($interactionStatistic)
882
    {
883
        return $this->setProperty('interactionStatistic', $interactionStatistic);
884
    }
885
886
    /**
887
     * The predominant mode of learning supported by the learning resource.
888
     * Acceptable values are 'active', 'expositive', or 'mixed'.
889
     *
890
     * @param string|string[] $interactivityType
891
     *
892
     * @return static
893
     *
894
     * @see http://schema.org/interactivityType
895
     */
896
    public function interactivityType($interactivityType)
897
    {
898
        return $this->setProperty('interactivityType', $interactivityType);
899
    }
900
901
    /**
902
     * A flag to signal that the item, event, or place is accessible for free.
903
     *
904
     * @param bool|bool[] $isAccessibleForFree
905
     *
906
     * @return static
907
     *
908
     * @see http://schema.org/isAccessibleForFree
909
     */
910
    public function isAccessibleForFree($isAccessibleForFree)
911
    {
912
        return $this->setProperty('isAccessibleForFree', $isAccessibleForFree);
913
    }
914
915
    /**
916
     * A resource from which this work is derived or from which it is a
917
     * modification or adaption.
918
     *
919
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOn
920
     *
921
     * @return static
922
     *
923
     * @see http://schema.org/isBasedOn
924
     */
925
    public function isBasedOn($isBasedOn)
926
    {
927
        return $this->setProperty('isBasedOn', $isBasedOn);
928
    }
929
930
    /**
931
     * A resource that was used in the creation of this resource. This term can
932
     * be repeated for multiple sources. For example,
933
     * http://example.com/great-multiplication-intro.html.
934
     *
935
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOnUrl
936
     *
937
     * @return static
938
     *
939
     * @see http://schema.org/isBasedOnUrl
940
     */
941
    public function isBasedOnUrl($isBasedOnUrl)
942
    {
943
        return $this->setProperty('isBasedOnUrl', $isBasedOnUrl);
944
    }
945
946
    /**
947
     * Indicates whether this content is family friendly.
948
     *
949
     * @param bool|bool[] $isFamilyFriendly
950
     *
951
     * @return static
952
     *
953
     * @see http://schema.org/isFamilyFriendly
954
     */
955
    public function isFamilyFriendly($isFamilyFriendly)
956
    {
957
        return $this->setProperty('isFamilyFriendly', $isFamilyFriendly);
958
    }
959
960
    /**
961
     * Indicates an item or CreativeWork that this item, or CreativeWork (in
962
     * some sense), is part of.
963
     *
964
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $isPartOf
965
     *
966
     * @return static
967
     *
968
     * @see http://schema.org/isPartOf
969
     */
970
    public function isPartOf($isPartOf)
971
    {
972
        return $this->setProperty('isPartOf', $isPartOf);
973
    }
974
975
    /**
976
     * Keywords or tags used to describe this content. Multiple entries in a
977
     * keywords list are typically delimited by commas.
978
     *
979
     * @param string|string[] $keywords
980
     *
981
     * @return static
982
     *
983
     * @see http://schema.org/keywords
984
     */
985
    public function keywords($keywords)
986
    {
987
        return $this->setProperty('keywords', $keywords);
988
    }
989
990
    /**
991
     * The predominant type or kind characterizing the learning resource. For
992
     * example, 'presentation', 'handout'.
993
     *
994
     * @param string|string[] $learningResourceType
995
     *
996
     * @return static
997
     *
998
     * @see http://schema.org/learningResourceType
999
     */
1000
    public function learningResourceType($learningResourceType)
1001
    {
1002
        return $this->setProperty('learningResourceType', $learningResourceType);
1003
    }
1004
1005
    /**
1006
     * A license document that applies to this content, typically indicated by
1007
     * URL.
1008
     *
1009
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $license
1010
     *
1011
     * @return static
1012
     *
1013
     * @see http://schema.org/license
1014
     */
1015
    public function license($license)
1016
    {
1017
        return $this->setProperty('license', $license);
1018
    }
1019
1020
    /**
1021
     * An update to the LiveBlog.
1022
     *
1023
     * @param \Spatie\SchemaOrg\Contracts\BlogPostingContract|\Spatie\SchemaOrg\Contracts\BlogPostingContract[] $liveBlogUpdate
1024
     *
1025
     * @return static
1026
     *
1027
     * @see http://schema.org/liveBlogUpdate
1028
     */
1029
    public function liveBlogUpdate($liveBlogUpdate)
1030
    {
1031
        return $this->setProperty('liveBlogUpdate', $liveBlogUpdate);
1032
    }
1033
1034
    /**
1035
     * The location where the CreativeWork was created, which may not be the
1036
     * same as the location depicted in the CreativeWork.
1037
     *
1038
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $locationCreated
1039
     *
1040
     * @return static
1041
     *
1042
     * @see http://schema.org/locationCreated
1043
     */
1044
    public function locationCreated($locationCreated)
1045
    {
1046
        return $this->setProperty('locationCreated', $locationCreated);
1047
    }
1048
1049
    /**
1050
     * Indicates the primary entity described in some page or other
1051
     * CreativeWork.
1052
     *
1053
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mainEntity
1054
     *
1055
     * @return static
1056
     *
1057
     * @see http://schema.org/mainEntity
1058
     */
1059
    public function mainEntity($mainEntity)
1060
    {
1061
        return $this->setProperty('mainEntity', $mainEntity);
1062
    }
1063
1064
    /**
1065
     * Indicates a page (or other CreativeWork) for which this thing is the main
1066
     * entity being described. See [background
1067
     * notes](/docs/datamodel.html#mainEntityBackground) for details.
1068
     *
1069
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage
1070
     *
1071
     * @return static
1072
     *
1073
     * @see http://schema.org/mainEntityOfPage
1074
     */
1075
    public function mainEntityOfPage($mainEntityOfPage)
1076
    {
1077
        return $this->setProperty('mainEntityOfPage', $mainEntityOfPage);
1078
    }
1079
1080
    /**
1081
     * A material that something is made from, e.g. leather, wool, cotton,
1082
     * paper.
1083
     *
1084
     * @param \Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $material
1085
     *
1086
     * @return static
1087
     *
1088
     * @see http://schema.org/material
1089
     */
1090
    public function material($material)
1091
    {
1092
        return $this->setProperty('material', $material);
1093
    }
1094
1095
    /**
1096
     * Indicates that the CreativeWork contains a reference to, but is not
1097
     * necessarily about a concept.
1098
     *
1099
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mentions
1100
     *
1101
     * @return static
1102
     *
1103
     * @see http://schema.org/mentions
1104
     */
1105
    public function mentions($mentions)
1106
    {
1107
        return $this->setProperty('mentions', $mentions);
1108
    }
1109
1110
    /**
1111
     * The name of the item.
1112
     *
1113
     * @param string|string[] $name
1114
     *
1115
     * @return static
1116
     *
1117
     * @see http://schema.org/name
1118
     */
1119
    public function name($name)
1120
    {
1121
        return $this->setProperty('name', $name);
1122
    }
1123
1124
    /**
1125
     * An offer to provide this item—for example, an offer to sell a
1126
     * product, rent the DVD of a movie, perform a service, or give away tickets
1127
     * to an event. Use [[businessFunction]] to indicate the kind of transaction
1128
     * offered, i.e. sell, lease, etc. This property can also be used to
1129
     * describe a [[Demand]]. While this property is listed as expected on a
1130
     * number of common types, it can be used in others. In that case, using a
1131
     * second type, such as Product or a subtype of Product, can clarify the
1132
     * nature of the offer.
1133
     *
1134
     * @param \Spatie\SchemaOrg\Contracts\DemandContract|\Spatie\SchemaOrg\Contracts\DemandContract[]|\Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $offers
1135
     *
1136
     * @return static
1137
     *
1138
     * @see http://schema.org/offers
1139
     */
1140
    public function offers($offers)
1141
    {
1142
        return $this->setProperty('offers', $offers);
1143
    }
1144
1145
    /**
1146
     * The page on which the work ends; for example "138" or "xvi".
1147
     *
1148
     * @param int|int[]|string|string[] $pageEnd
1149
     *
1150
     * @return static
1151
     *
1152
     * @see http://schema.org/pageEnd
1153
     */
1154
    public function pageEnd($pageEnd)
1155
    {
1156
        return $this->setProperty('pageEnd', $pageEnd);
1157
    }
1158
1159
    /**
1160
     * The page on which the work starts; for example "135" or "xiii".
1161
     *
1162
     * @param int|int[]|string|string[] $pageStart
1163
     *
1164
     * @return static
1165
     *
1166
     * @see http://schema.org/pageStart
1167
     */
1168
    public function pageStart($pageStart)
1169
    {
1170
        return $this->setProperty('pageStart', $pageStart);
1171
    }
1172
1173
    /**
1174
     * Any description of pages that is not separated into pageStart and
1175
     * pageEnd; for example, "1-6, 9, 55" or "10-12, 46-49".
1176
     *
1177
     * @param string|string[] $pagination
1178
     *
1179
     * @return static
1180
     *
1181
     * @see http://schema.org/pagination
1182
     */
1183
    public function pagination($pagination)
1184
    {
1185
        return $this->setProperty('pagination', $pagination);
1186
    }
1187
1188
    /**
1189
     * The position of an item in a series or sequence of items.
1190
     *
1191
     * @param int|int[]|string|string[] $position
1192
     *
1193
     * @return static
1194
     *
1195
     * @see http://schema.org/position
1196
     */
1197
    public function position($position)
1198
    {
1199
        return $this->setProperty('position', $position);
1200
    }
1201
1202
    /**
1203
     * Indicates a potential Action, which describes an idealized action in
1204
     * which this thing would play an 'object' role.
1205
     *
1206
     * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction
1207
     *
1208
     * @return static
1209
     *
1210
     * @see http://schema.org/potentialAction
1211
     */
1212
    public function potentialAction($potentialAction)
1213
    {
1214
        return $this->setProperty('potentialAction', $potentialAction);
1215
    }
1216
1217
    /**
1218
     * The person or organization who produced the work (e.g. music album,
1219
     * movie, tv/radio series etc.).
1220
     *
1221
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $producer
1222
     *
1223
     * @return static
1224
     *
1225
     * @see http://schema.org/producer
1226
     */
1227
    public function producer($producer)
1228
    {
1229
        return $this->setProperty('producer', $producer);
1230
    }
1231
1232
    /**
1233
     * The service provider, service operator, or service performer; the goods
1234
     * producer. Another party (a seller) may offer those services or goods on
1235
     * behalf of the provider. A provider may also serve as the seller.
1236
     *
1237
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $provider
1238
     *
1239
     * @return static
1240
     *
1241
     * @see http://schema.org/provider
1242
     */
1243
    public function provider($provider)
1244
    {
1245
        return $this->setProperty('provider', $provider);
1246
    }
1247
1248
    /**
1249
     * A publication event associated with the item.
1250
     *
1251
     * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $publication
1252
     *
1253
     * @return static
1254
     *
1255
     * @see http://schema.org/publication
1256
     */
1257
    public function publication($publication)
1258
    {
1259
        return $this->setProperty('publication', $publication);
1260
    }
1261
1262
    /**
1263
     * The publisher of the creative work.
1264
     *
1265
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $publisher
1266
     *
1267
     * @return static
1268
     *
1269
     * @see http://schema.org/publisher
1270
     */
1271
    public function publisher($publisher)
1272
    {
1273
        return $this->setProperty('publisher', $publisher);
1274
    }
1275
1276
    /**
1277
     * The publishingPrinciples property indicates (typically via [[URL]]) a
1278
     * document describing the editorial principles of an [[Organization]] (or
1279
     * individual e.g. a [[Person]] writing a blog) that relate to their
1280
     * activities as a publisher, e.g. ethics or diversity policies. When
1281
     * applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are
1282
     * those of the party primarily responsible for the creation of the
1283
     * [[CreativeWork]].
1284
     * 
1285
     * While such policies are most typically expressed in natural language,
1286
     * sometimes related information (e.g. indicating a [[funder]]) can be
1287
     * expressed using schema.org terminology.
1288
     *
1289
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $publishingPrinciples
1290
     *
1291
     * @return static
1292
     *
1293
     * @see http://schema.org/publishingPrinciples
1294
     */
1295
    public function publishingPrinciples($publishingPrinciples)
1296
    {
1297
        return $this->setProperty('publishingPrinciples', $publishingPrinciples);
1298
    }
1299
1300
    /**
1301
     * The Event where the CreativeWork was recorded. The CreativeWork may
1302
     * capture all or part of the event.
1303
     *
1304
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $recordedAt
1305
     *
1306
     * @return static
1307
     *
1308
     * @see http://schema.org/recordedAt
1309
     */
1310
    public function recordedAt($recordedAt)
1311
    {
1312
        return $this->setProperty('recordedAt', $recordedAt);
1313
    }
1314
1315
    /**
1316
     * The place and time the release was issued, expressed as a
1317
     * PublicationEvent.
1318
     *
1319
     * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $releasedEvent
1320
     *
1321
     * @return static
1322
     *
1323
     * @see http://schema.org/releasedEvent
1324
     */
1325
    public function releasedEvent($releasedEvent)
1326
    {
1327
        return $this->setProperty('releasedEvent', $releasedEvent);
1328
    }
1329
1330
    /**
1331
     * A review of the item.
1332
     *
1333
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $review
1334
     *
1335
     * @return static
1336
     *
1337
     * @see http://schema.org/review
1338
     */
1339
    public function review($review)
1340
    {
1341
        return $this->setProperty('review', $review);
1342
    }
1343
1344
    /**
1345
     * Review of the item.
1346
     *
1347
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $reviews
1348
     *
1349
     * @return static
1350
     *
1351
     * @see http://schema.org/reviews
1352
     */
1353
    public function reviews($reviews)
1354
    {
1355
        return $this->setProperty('reviews', $reviews);
1356
    }
1357
1358
    /**
1359
     * URL of a reference Web page that unambiguously indicates the item's
1360
     * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or
1361
     * official website.
1362
     *
1363
     * @param string|string[] $sameAs
1364
     *
1365
     * @return static
1366
     *
1367
     * @see http://schema.org/sameAs
1368
     */
1369
    public function sameAs($sameAs)
1370
    {
1371
        return $this->setProperty('sameAs', $sameAs);
1372
    }
1373
1374
    /**
1375
     * Indicates (by URL or string) a particular version of a schema used in
1376
     * some CreativeWork. For example, a document could declare a schemaVersion
1377
     * using an URL such as http://schema.org/version/2.0/ if precise indication
1378
     * of schema version was required by some application.
1379
     *
1380
     * @param string|string[] $schemaVersion
1381
     *
1382
     * @return static
1383
     *
1384
     * @see http://schema.org/schemaVersion
1385
     */
1386
    public function schemaVersion($schemaVersion)
1387
    {
1388
        return $this->setProperty('schemaVersion', $schemaVersion);
1389
    }
1390
1391
    /**
1392
     * A CreativeWork such as an image, video, or audio clip shared as part of
1393
     * this posting.
1394
     *
1395
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $sharedContent
1396
     *
1397
     * @return static
1398
     *
1399
     * @see http://schema.org/sharedContent
1400
     */
1401
    public function sharedContent($sharedContent)
1402
    {
1403
        return $this->setProperty('sharedContent', $sharedContent);
1404
    }
1405
1406
    /**
1407
     * The Organization on whose behalf the creator was working.
1408
     *
1409
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $sourceOrganization
1410
     *
1411
     * @return static
1412
     *
1413
     * @see http://schema.org/sourceOrganization
1414
     */
1415
    public function sourceOrganization($sourceOrganization)
1416
    {
1417
        return $this->setProperty('sourceOrganization', $sourceOrganization);
1418
    }
1419
1420
    /**
1421
     * The "spatial" property can be used in cases when more specific properties
1422
     * (e.g. [[locationCreated]], [[spatialCoverage]], [[contentLocation]]) are
1423
     * not known to be appropriate.
1424
     *
1425
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatial
1426
     *
1427
     * @return static
1428
     *
1429
     * @see http://schema.org/spatial
1430
     */
1431
    public function spatial($spatial)
1432
    {
1433
        return $this->setProperty('spatial', $spatial);
1434
    }
1435
1436
    /**
1437
     * The spatialCoverage of a CreativeWork indicates the place(s) which are
1438
     * the focus of the content. It is a subproperty of
1439
     *       contentLocation intended primarily for more technical and detailed
1440
     * materials. For example with a Dataset, it indicates
1441
     *       areas that the dataset describes: a dataset of New York weather
1442
     * would have spatialCoverage which was the place: the state of New York.
1443
     *
1444
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatialCoverage
1445
     *
1446
     * @return static
1447
     *
1448
     * @see http://schema.org/spatialCoverage
1449
     */
1450
    public function spatialCoverage($spatialCoverage)
1451
    {
1452
        return $this->setProperty('spatialCoverage', $spatialCoverage);
1453
    }
1454
1455
    /**
1456
     * Indicates sections of a Web page that are particularly 'speakable' in the
1457
     * sense of being highlighted as being especially appropriate for
1458
     * text-to-speech conversion. Other sections of a page may also be usefully
1459
     * spoken in particular circumstances; the 'speakable' property serves to
1460
     * indicate the parts most likely to be generally useful for speech.
1461
     * 
1462
     * The *speakable* property can be repeated an arbitrary number of times,
1463
     * with three kinds of possible 'content-locator' values:
1464
     * 
1465
     * 1.) *id-value* URL references - uses *id-value* of an element in the page
1466
     * being annotated. The simplest use of *speakable* has (potentially
1467
     * relative) URL values, referencing identified sections of the document
1468
     * concerned.
1469
     * 
1470
     * 2.) CSS Selectors - addresses content in the annotated page, eg. via
1471
     * class attribute. Use the [[cssSelector]] property.
1472
     * 
1473
     * 3.)  XPaths - addresses content via XPaths (assuming an XML view of the
1474
     * content). Use the [[xpath]] property.
1475
     * 
1476
     * 
1477
     * For more sophisticated markup of speakable sections beyond simple ID
1478
     * references, either CSS selectors or XPath expressions to pick out
1479
     * document section(s) as speakable. For this
1480
     * we define a supporting type, [[SpeakableSpecification]]  which is defined
1481
     * to be a possible value of the *speakable* property.
1482
     *
1483
     * @param \Spatie\SchemaOrg\Contracts\SpeakableSpecificationContract|\Spatie\SchemaOrg\Contracts\SpeakableSpecificationContract[]|string|string[] $speakable
1484
     *
1485
     * @return static
1486
     *
1487
     * @see http://schema.org/speakable
1488
     */
1489
    public function speakable($speakable)
1490
    {
1491
        return $this->setProperty('speakable', $speakable);
1492
    }
1493
1494
    /**
1495
     * A person or organization that supports a thing through a pledge, promise,
1496
     * or financial contribution. e.g. a sponsor of a Medical Study or a
1497
     * corporate sponsor of an event.
1498
     *
1499
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $sponsor
1500
     *
1501
     * @return static
1502
     *
1503
     * @see http://schema.org/sponsor
1504
     */
1505
    public function sponsor($sponsor)
1506
    {
1507
        return $this->setProperty('sponsor', $sponsor);
1508
    }
1509
1510
    /**
1511
     * A CreativeWork or Event about this Thing.
1512
     *
1513
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf
1514
     *
1515
     * @return static
1516
     *
1517
     * @see http://schema.org/subjectOf
1518
     */
1519
    public function subjectOf($subjectOf)
1520
    {
1521
        return $this->setProperty('subjectOf', $subjectOf);
1522
    }
1523
1524
    /**
1525
     * The "temporal" property can be used in cases where more specific
1526
     * properties
1527
     * (e.g. [[temporalCoverage]], [[dateCreated]], [[dateModified]],
1528
     * [[datePublished]]) are not known to be appropriate.
1529
     *
1530
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporal
1531
     *
1532
     * @return static
1533
     *
1534
     * @see http://schema.org/temporal
1535
     */
1536
    public function temporal($temporal)
1537
    {
1538
        return $this->setProperty('temporal', $temporal);
1539
    }
1540
1541
    /**
1542
     * The temporalCoverage of a CreativeWork indicates the period that the
1543
     * content applies to, i.e. that it describes, either as a DateTime or as a
1544
     * textual string indicating a time period in [ISO 8601 time interval
1545
     * format](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals). In
1546
     *       the case of a Dataset it will typically indicate the relevant time
1547
     * period in a precise notation (e.g. for a 2011 census dataset, the year
1548
     * 2011 would be written "2011/2012"). Other forms of content e.g.
1549
     * ScholarlyArticle, Book, TVSeries or TVEpisode may indicate their
1550
     * temporalCoverage in broader terms - textually or via well-known URL.
1551
     *       Written works such as books may sometimes have precise temporal
1552
     * coverage too, e.g. a work set in 1939 - 1945 can be indicated in ISO 8601
1553
     * interval format format via "1939/1945".
1554
     * 
1555
     * Open-ended date ranges can be written with ".." in place of the end date.
1556
     * For example, "2015-11/.." indicates a range beginning in November 2015
1557
     * and with no specified final date. This is tentative and might be updated
1558
     * in future when ISO 8601 is officially updated.
1559
     *
1560
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporalCoverage
1561
     *
1562
     * @return static
1563
     *
1564
     * @see http://schema.org/temporalCoverage
1565
     */
1566
    public function temporalCoverage($temporalCoverage)
1567
    {
1568
        return $this->setProperty('temporalCoverage', $temporalCoverage);
1569
    }
1570
1571
    /**
1572
     * The textual content of this CreativeWork.
1573
     *
1574
     * @param string|string[] $text
1575
     *
1576
     * @return static
1577
     *
1578
     * @see http://schema.org/text
1579
     */
1580
    public function text($text)
1581
    {
1582
        return $this->setProperty('text', $text);
1583
    }
1584
1585
    /**
1586
     * A thumbnail image relevant to the Thing.
1587
     *
1588
     * @param string|string[] $thumbnailUrl
1589
     *
1590
     * @return static
1591
     *
1592
     * @see http://schema.org/thumbnailUrl
1593
     */
1594
    public function thumbnailUrl($thumbnailUrl)
1595
    {
1596
        return $this->setProperty('thumbnailUrl', $thumbnailUrl);
1597
    }
1598
1599
    /**
1600
     * Approximate or typical time it takes to work with or through this
1601
     * learning resource for the typical intended target audience, e.g. 'PT30M',
1602
     * 'PT1H25M'.
1603
     *
1604
     * @param \Spatie\SchemaOrg\Contracts\DurationContract|\Spatie\SchemaOrg\Contracts\DurationContract[] $timeRequired
1605
     *
1606
     * @return static
1607
     *
1608
     * @see http://schema.org/timeRequired
1609
     */
1610
    public function timeRequired($timeRequired)
1611
    {
1612
        return $this->setProperty('timeRequired', $timeRequired);
1613
    }
1614
1615
    /**
1616
     * Organization or person who adapts a creative work to different languages,
1617
     * regional differences and technical requirements of a target market, or
1618
     * that translates during some event.
1619
     *
1620
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $translator
1621
     *
1622
     * @return static
1623
     *
1624
     * @see http://schema.org/translator
1625
     */
1626
    public function translator($translator)
1627
    {
1628
        return $this->setProperty('translator', $translator);
1629
    }
1630
1631
    /**
1632
     * The typical expected age range, e.g. '7-9', '11-'.
1633
     *
1634
     * @param string|string[] $typicalAgeRange
1635
     *
1636
     * @return static
1637
     *
1638
     * @see http://schema.org/typicalAgeRange
1639
     */
1640
    public function typicalAgeRange($typicalAgeRange)
1641
    {
1642
        return $this->setProperty('typicalAgeRange', $typicalAgeRange);
1643
    }
1644
1645
    /**
1646
     * URL of the item.
1647
     *
1648
     * @param string|string[] $url
1649
     *
1650
     * @return static
1651
     *
1652
     * @see http://schema.org/url
1653
     */
1654
    public function url($url)
1655
    {
1656
        return $this->setProperty('url', $url);
1657
    }
1658
1659
    /**
1660
     * The version of the CreativeWork embodied by a specified resource.
1661
     *
1662
     * @param float|float[]|int|int[]|string|string[] $version
1663
     *
1664
     * @return static
1665
     *
1666
     * @see http://schema.org/version
1667
     */
1668
    public function version($version)
1669
    {
1670
        return $this->setProperty('version', $version);
1671
    }
1672
1673
    /**
1674
     * An embedded video object.
1675
     *
1676
     * @param \Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[]|\Spatie\SchemaOrg\Contracts\VideoObjectContract|\Spatie\SchemaOrg\Contracts\VideoObjectContract[] $video
1677
     *
1678
     * @return static
1679
     *
1680
     * @see http://schema.org/video
1681
     */
1682
    public function video($video)
1683
    {
1684
        return $this->setProperty('video', $video);
1685
    }
1686
1687
    /**
1688
     * The number of words in the text of the Article.
1689
     *
1690
     * @param int|int[] $wordCount
1691
     *
1692
     * @return static
1693
     *
1694
     * @see http://schema.org/wordCount
1695
     */
1696
    public function wordCount($wordCount)
1697
    {
1698
        return $this->setProperty('wordCount', $wordCount);
1699
    }
1700
1701
    /**
1702
     * Example/instance/realization/derivation of the concept of this creative
1703
     * work. eg. The paperback edition, first edition, or eBook.
1704
     *
1705
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $workExample
1706
     *
1707
     * @return static
1708
     *
1709
     * @see http://schema.org/workExample
1710
     */
1711
    public function workExample($workExample)
1712
    {
1713
        return $this->setProperty('workExample', $workExample);
1714
    }
1715
1716
}
1717

src/NewsArticle.php 1 location

@@ 20-1744 (lines=1725) @@
17
 * @see http://schema.org/NewsArticle
18
 *
19
 */
20
class NewsArticle extends BaseType implements NewsArticleContract, ArticleContract, CreativeWorkContract, ThingContract
21
{
22
    /**
23
     * The subject matter of the content.
24
     *
25
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $about
26
     *
27
     * @return static
28
     *
29
     * @see http://schema.org/about
30
     */
31
    public function about($about)
32
    {
33
        return $this->setProperty('about', $about);
34
    }
35
36
    /**
37
     * The human sensory perceptual system or cognitive faculty through which a
38
     * person may process or perceive information. Expected values include:
39
     * auditory, tactile, textual, visual, colorDependent, chartOnVisual,
40
     * chemOnVisual, diagramOnVisual, mathOnVisual, musicOnVisual, textOnVisual.
41
     *
42
     * @param string|string[] $accessMode
43
     *
44
     * @return static
45
     *
46
     * @see http://schema.org/accessMode
47
     */
48
    public function accessMode($accessMode)
49
    {
50
        return $this->setProperty('accessMode', $accessMode);
51
    }
52
53
    /**
54
     * A list of single or combined accessModes that are sufficient to
55
     * understand all the intellectual content of a resource. Expected values
56
     * include:  auditory, tactile, textual, visual.
57
     *
58
     * @param \Spatie\SchemaOrg\Contracts\ItemListContract|\Spatie\SchemaOrg\Contracts\ItemListContract[] $accessModeSufficient
59
     *
60
     * @return static
61
     *
62
     * @see http://schema.org/accessModeSufficient
63
     */
64
    public function accessModeSufficient($accessModeSufficient)
65
    {
66
        return $this->setProperty('accessModeSufficient', $accessModeSufficient);
67
    }
68
69
    /**
70
     * Indicates that the resource is compatible with the referenced
71
     * accessibility API ([WebSchemas wiki lists possible
72
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
73
     *
74
     * @param string|string[] $accessibilityAPI
75
     *
76
     * @return static
77
     *
78
     * @see http://schema.org/accessibilityAPI
79
     */
80
    public function accessibilityAPI($accessibilityAPI)
81
    {
82
        return $this->setProperty('accessibilityAPI', $accessibilityAPI);
83
    }
84
85
    /**
86
     * Identifies input methods that are sufficient to fully control the
87
     * described resource ([WebSchemas wiki lists possible
88
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
89
     *
90
     * @param string|string[] $accessibilityControl
91
     *
92
     * @return static
93
     *
94
     * @see http://schema.org/accessibilityControl
95
     */
96
    public function accessibilityControl($accessibilityControl)
97
    {
98
        return $this->setProperty('accessibilityControl', $accessibilityControl);
99
    }
100
101
    /**
102
     * Content features of the resource, such as accessible media, alternatives
103
     * and supported enhancements for accessibility ([WebSchemas wiki lists
104
     * possible values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
105
     *
106
     * @param string|string[] $accessibilityFeature
107
     *
108
     * @return static
109
     *
110
     * @see http://schema.org/accessibilityFeature
111
     */
112
    public function accessibilityFeature($accessibilityFeature)
113
    {
114
        return $this->setProperty('accessibilityFeature', $accessibilityFeature);
115
    }
116
117
    /**
118
     * A characteristic of the described resource that is physiologically
119
     * dangerous to some users. Related to WCAG 2.0 guideline 2.3 ([WebSchemas
120
     * wiki lists possible
121
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
122
     *
123
     * @param string|string[] $accessibilityHazard
124
     *
125
     * @return static
126
     *
127
     * @see http://schema.org/accessibilityHazard
128
     */
129
    public function accessibilityHazard($accessibilityHazard)
130
    {
131
        return $this->setProperty('accessibilityHazard', $accessibilityHazard);
132
    }
133
134
    /**
135
     * A human-readable summary of specific accessibility features or
136
     * deficiencies, consistent with the other accessibility metadata but
137
     * expressing subtleties such as "short descriptions are present but long
138
     * descriptions will be needed for non-visual users" or "short descriptions
139
     * are present and no long descriptions are needed."
140
     *
141
     * @param string|string[] $accessibilitySummary
142
     *
143
     * @return static
144
     *
145
     * @see http://schema.org/accessibilitySummary
146
     */
147
    public function accessibilitySummary($accessibilitySummary)
148
    {
149
        return $this->setProperty('accessibilitySummary', $accessibilitySummary);
150
    }
151
152
    /**
153
     * Specifies the Person that is legally accountable for the CreativeWork.
154
     *
155
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $accountablePerson
156
     *
157
     * @return static
158
     *
159
     * @see http://schema.org/accountablePerson
160
     */
161
    public function accountablePerson($accountablePerson)
162
    {
163
        return $this->setProperty('accountablePerson', $accountablePerson);
164
    }
165
166
    /**
167
     * An additional type for the item, typically used for adding more specific
168
     * types from external vocabularies in microdata syntax. This is a
169
     * relationship between something and a class that the thing is in. In RDFa
170
     * syntax, it is better to use the native RDFa syntax - the 'typeof'
171
     * attribute - for multiple types. Schema.org tools may have only weaker
172
     * understanding of extra types, in particular those defined externally.
173
     *
174
     * @param string|string[] $additionalType
175
     *
176
     * @return static
177
     *
178
     * @see http://schema.org/additionalType
179
     */
180
    public function additionalType($additionalType)
181
    {
182
        return $this->setProperty('additionalType', $additionalType);
183
    }
184
185
    /**
186
     * The overall rating, based on a collection of reviews or ratings, of the
187
     * item.
188
     *
189
     * @param \Spatie\SchemaOrg\Contracts\AggregateRatingContract|\Spatie\SchemaOrg\Contracts\AggregateRatingContract[] $aggregateRating
190
     *
191
     * @return static
192
     *
193
     * @see http://schema.org/aggregateRating
194
     */
195
    public function aggregateRating($aggregateRating)
196
    {
197
        return $this->setProperty('aggregateRating', $aggregateRating);
198
    }
199
200
    /**
201
     * An alias for the item.
202
     *
203
     * @param string|string[] $alternateName
204
     *
205
     * @return static
206
     *
207
     * @see http://schema.org/alternateName
208
     */
209
    public function alternateName($alternateName)
210
    {
211
        return $this->setProperty('alternateName', $alternateName);
212
    }
213
214
    /**
215
     * A secondary title of the CreativeWork.
216
     *
217
     * @param string|string[] $alternativeHeadline
218
     *
219
     * @return static
220
     *
221
     * @see http://schema.org/alternativeHeadline
222
     */
223
    public function alternativeHeadline($alternativeHeadline)
224
    {
225
        return $this->setProperty('alternativeHeadline', $alternativeHeadline);
226
    }
227
228
    /**
229
     * The actual body of the article.
230
     *
231
     * @param string|string[] $articleBody
232
     *
233
     * @return static
234
     *
235
     * @see http://schema.org/articleBody
236
     */
237
    public function articleBody($articleBody)
238
    {
239
        return $this->setProperty('articleBody', $articleBody);
240
    }
241
242
    /**
243
     * Articles may belong to one or more 'sections' in a magazine or newspaper,
244
     * such as Sports, Lifestyle, etc.
245
     *
246
     * @param string|string[] $articleSection
247
     *
248
     * @return static
249
     *
250
     * @see http://schema.org/articleSection
251
     */
252
    public function articleSection($articleSection)
253
    {
254
        return $this->setProperty('articleSection', $articleSection);
255
    }
256
257
    /**
258
     * A media object that encodes this CreativeWork. This property is a synonym
259
     * for encoding.
260
     *
261
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $associatedMedia
262
     *
263
     * @return static
264
     *
265
     * @see http://schema.org/associatedMedia
266
     */
267
    public function associatedMedia($associatedMedia)
268
    {
269
        return $this->setProperty('associatedMedia', $associatedMedia);
270
    }
271
272
    /**
273
     * An intended audience, i.e. a group for whom something was created.
274
     *
275
     * @param \Spatie\SchemaOrg\Contracts\AudienceContract|\Spatie\SchemaOrg\Contracts\AudienceContract[] $audience
276
     *
277
     * @return static
278
     *
279
     * @see http://schema.org/audience
280
     */
281
    public function audience($audience)
282
    {
283
        return $this->setProperty('audience', $audience);
284
    }
285
286
    /**
287
     * An embedded audio object.
288
     *
289
     * @param \Spatie\SchemaOrg\Contracts\AudioObjectContract|\Spatie\SchemaOrg\Contracts\AudioObjectContract[]|\Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[] $audio
290
     *
291
     * @return static
292
     *
293
     * @see http://schema.org/audio
294
     */
295
    public function audio($audio)
296
    {
297
        return $this->setProperty('audio', $audio);
298
    }
299
300
    /**
301
     * The author of this content or rating. Please note that author is special
302
     * in that HTML 5 provides a special mechanism for indicating authorship via
303
     * the rel tag. That is equivalent to this and may be used interchangeably.
304
     *
305
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $author
306
     *
307
     * @return static
308
     *
309
     * @see http://schema.org/author
310
     */
311
    public function author($author)
312
    {
313
        return $this->setProperty('author', $author);
314
    }
315
316
    /**
317
     * An award won by or for this item.
318
     *
319
     * @param string|string[] $award
320
     *
321
     * @return static
322
     *
323
     * @see http://schema.org/award
324
     */
325
    public function award($award)
326
    {
327
        return $this->setProperty('award', $award);
328
    }
329
330
    /**
331
     * Awards won by or for this item.
332
     *
333
     * @param string|string[] $awards
334
     *
335
     * @return static
336
     *
337
     * @see http://schema.org/awards
338
     */
339
    public function awards($awards)
340
    {
341
        return $this->setProperty('awards', $awards);
342
    }
343
344
    /**
345
     * Fictional person connected with a creative work.
346
     *
347
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $character
348
     *
349
     * @return static
350
     *
351
     * @see http://schema.org/character
352
     */
353
    public function character($character)
354
    {
355
        return $this->setProperty('character', $character);
356
    }
357
358
    /**
359
     * A citation or reference to another creative work, such as another
360
     * publication, web page, scholarly article, etc.
361
     *
362
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $citation
363
     *
364
     * @return static
365
     *
366
     * @see http://schema.org/citation
367
     */
368
    public function citation($citation)
369
    {
370
        return $this->setProperty('citation', $citation);
371
    }
372
373
    /**
374
     * Comments, typically from users.
375
     *
376
     * @param \Spatie\SchemaOrg\Contracts\CommentContract|\Spatie\SchemaOrg\Contracts\CommentContract[] $comment
377
     *
378
     * @return static
379
     *
380
     * @see http://schema.org/comment
381
     */
382
    public function comment($comment)
383
    {
384
        return $this->setProperty('comment', $comment);
385
    }
386
387
    /**
388
     * The number of comments this CreativeWork (e.g. Article, Question or
389
     * Answer) has received. This is most applicable to works published in Web
390
     * sites with commenting system; additional comments may exist elsewhere.
391
     *
392
     * @param int|int[] $commentCount
393
     *
394
     * @return static
395
     *
396
     * @see http://schema.org/commentCount
397
     */
398
    public function commentCount($commentCount)
399
    {
400
        return $this->setProperty('commentCount', $commentCount);
401
    }
402
403
    /**
404
     * The location depicted or described in the content. For example, the
405
     * location in a photograph or painting.
406
     *
407
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $contentLocation
408
     *
409
     * @return static
410
     *
411
     * @see http://schema.org/contentLocation
412
     */
413
    public function contentLocation($contentLocation)
414
    {
415
        return $this->setProperty('contentLocation', $contentLocation);
416
    }
417
418
    /**
419
     * Official rating of a piece of content—for example,'MPAA PG-13'.
420
     *
421
     * @param \Spatie\SchemaOrg\Contracts\RatingContract|\Spatie\SchemaOrg\Contracts\RatingContract[]|string|string[] $contentRating
422
     *
423
     * @return static
424
     *
425
     * @see http://schema.org/contentRating
426
     */
427
    public function contentRating($contentRating)
428
    {
429
        return $this->setProperty('contentRating', $contentRating);
430
    }
431
432
    /**
433
     * A secondary contributor to the CreativeWork or Event.
434
     *
435
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $contributor
436
     *
437
     * @return static
438
     *
439
     * @see http://schema.org/contributor
440
     */
441
    public function contributor($contributor)
442
    {
443
        return $this->setProperty('contributor', $contributor);
444
    }
445
446
    /**
447
     * The party holding the legal copyright to the CreativeWork.
448
     *
449
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $copyrightHolder
450
     *
451
     * @return static
452
     *
453
     * @see http://schema.org/copyrightHolder
454
     */
455
    public function copyrightHolder($copyrightHolder)
456
    {
457
        return $this->setProperty('copyrightHolder', $copyrightHolder);
458
    }
459
460
    /**
461
     * The year during which the claimed copyright for the CreativeWork was
462
     * first asserted.
463
     *
464
     * @param float|float[]|int|int[] $copyrightYear
465
     *
466
     * @return static
467
     *
468
     * @see http://schema.org/copyrightYear
469
     */
470
    public function copyrightYear($copyrightYear)
471
    {
472
        return $this->setProperty('copyrightYear', $copyrightYear);
473
    }
474
475
    /**
476
     * The creator/author of this CreativeWork. This is the same as the Author
477
     * property for CreativeWork.
478
     *
479
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $creator
480
     *
481
     * @return static
482
     *
483
     * @see http://schema.org/creator
484
     */
485
    public function creator($creator)
486
    {
487
        return $this->setProperty('creator', $creator);
488
    }
489
490
    /**
491
     * The date on which the CreativeWork was created or the item was added to a
492
     * DataFeed.
493
     *
494
     * @param \DateTimeInterface|\DateTimeInterface[] $dateCreated
495
     *
496
     * @return static
497
     *
498
     * @see http://schema.org/dateCreated
499
     */
500
    public function dateCreated($dateCreated)
501
    {
502
        return $this->setProperty('dateCreated', $dateCreated);
503
    }
504
505
    /**
506
     * The date on which the CreativeWork was most recently modified or when the
507
     * item's entry was modified within a DataFeed.
508
     *
509
     * @param \DateTimeInterface|\DateTimeInterface[] $dateModified
510
     *
511
     * @return static
512
     *
513
     * @see http://schema.org/dateModified
514
     */
515
    public function dateModified($dateModified)
516
    {
517
        return $this->setProperty('dateModified', $dateModified);
518
    }
519
520
    /**
521
     * Date of first broadcast/publication.
522
     *
523
     * @param \DateTimeInterface|\DateTimeInterface[] $datePublished
524
     *
525
     * @return static
526
     *
527
     * @see http://schema.org/datePublished
528
     */
529
    public function datePublished($datePublished)
530
    {
531
        return $this->setProperty('datePublished', $datePublished);
532
    }
533
534
    /**
535
     * A [dateline](https://en.wikipedia.org/wiki/Dateline) is a brief piece of
536
     * text included in news articles that describes where and when the story
537
     * was written or filed though the date is often omitted. Sometimes only a
538
     * placename is provided.
539
     * 
540
     * Structured representations of dateline-related information can also be
541
     * expressed more explicitly using [[locationCreated]] (which represents
542
     * where a work was created e.g. where a news report was written).  For
543
     * location depicted or described in the content, use [[contentLocation]].
544
     * 
545
     * Dateline summaries are oriented more towards human readers than towards
546
     * automated processing, and can vary substantially. Some examples: "BEIRUT,
547
     * Lebanon, June 2.", "Paris, France", "December 19, 2017 11:43AM Reporting
548
     * from Washington", "Beijing/Moscow", "QUEZON CITY, Philippines".
549
     *
550
     * @param string|string[] $dateline
551
     *
552
     * @return static
553
     *
554
     * @see http://schema.org/dateline
555
     */
556
    public function dateline($dateline)
557
    {
558
        return $this->setProperty('dateline', $dateline);
559
    }
560
561
    /**
562
     * A description of the item.
563
     *
564
     * @param string|string[] $description
565
     *
566
     * @return static
567
     *
568
     * @see http://schema.org/description
569
     */
570
    public function description($description)
571
    {
572
        return $this->setProperty('description', $description);
573
    }
574
575
    /**
576
     * A sub property of description. A short description of the item used to
577
     * disambiguate from other, similar items. Information from other properties
578
     * (in particular, name) may be necessary for the description to be useful
579
     * for disambiguation.
580
     *
581
     * @param string|string[] $disambiguatingDescription
582
     *
583
     * @return static
584
     *
585
     * @see http://schema.org/disambiguatingDescription
586
     */
587
    public function disambiguatingDescription($disambiguatingDescription)
588
    {
589
        return $this->setProperty('disambiguatingDescription', $disambiguatingDescription);
590
    }
591
592
    /**
593
     * A link to the page containing the comments of the CreativeWork.
594
     *
595
     * @param string|string[] $discussionUrl
596
     *
597
     * @return static
598
     *
599
     * @see http://schema.org/discussionUrl
600
     */
601
    public function discussionUrl($discussionUrl)
602
    {
603
        return $this->setProperty('discussionUrl', $discussionUrl);
604
    }
605
606
    /**
607
     * Specifies the Person who edited the CreativeWork.
608
     *
609
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $editor
610
     *
611
     * @return static
612
     *
613
     * @see http://schema.org/editor
614
     */
615
    public function editor($editor)
616
    {
617
        return $this->setProperty('editor', $editor);
618
    }
619
620
    /**
621
     * An alignment to an established educational framework.
622
     *
623
     * @param \Spatie\SchemaOrg\Contracts\AlignmentObjectContract|\Spatie\SchemaOrg\Contracts\AlignmentObjectContract[] $educationalAlignment
624
     *
625
     * @return static
626
     *
627
     * @see http://schema.org/educationalAlignment
628
     */
629
    public function educationalAlignment($educationalAlignment)
630
    {
631
        return $this->setProperty('educationalAlignment', $educationalAlignment);
632
    }
633
634
    /**
635
     * The purpose of a work in the context of education; for example,
636
     * 'assignment', 'group work'.
637
     *
638
     * @param string|string[] $educationalUse
639
     *
640
     * @return static
641
     *
642
     * @see http://schema.org/educationalUse
643
     */
644
    public function educationalUse($educationalUse)
645
    {
646
        return $this->setProperty('educationalUse', $educationalUse);
647
    }
648
649
    /**
650
     * A media object that encodes this CreativeWork. This property is a synonym
651
     * for associatedMedia.
652
     *
653
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encoding
654
     *
655
     * @return static
656
     *
657
     * @see http://schema.org/encoding
658
     */
659
    public function encoding($encoding)
660
    {
661
        return $this->setProperty('encoding', $encoding);
662
    }
663
664
    /**
665
     * Media type typically expressed using a MIME format (see [IANA
666
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml) and
667
     * [MDN
668
     * reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types))
669
     * e.g. application/zip for a SoftwareApplication binary, audio/mpeg for
670
     * .mp3 etc.).
671
     * 
672
     * In cases where a [[CreativeWork]] has several media type representations,
673
     * [[encoding]] can be used to indicate each [[MediaObject]] alongside
674
     * particular [[encodingFormat]] information.
675
     * 
676
     * Unregistered or niche encoding and file formats can be indicated instead
677
     * via the most appropriate URL, e.g. defining Web page or a
678
     * Wikipedia/Wikidata entry.
679
     *
680
     * @param string|string[] $encodingFormat
681
     *
682
     * @return static
683
     *
684
     * @see http://schema.org/encodingFormat
685
     */
686
    public function encodingFormat($encodingFormat)
687
    {
688
        return $this->setProperty('encodingFormat', $encodingFormat);
689
    }
690
691
    /**
692
     * A media object that encodes this CreativeWork.
693
     *
694
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encodings
695
     *
696
     * @return static
697
     *
698
     * @see http://schema.org/encodings
699
     */
700
    public function encodings($encodings)
701
    {
702
        return $this->setProperty('encodings', $encodings);
703
    }
704
705
    /**
706
     * A creative work that this work is an
707
     * example/instance/realization/derivation of.
708
     *
709
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $exampleOfWork
710
     *
711
     * @return static
712
     *
713
     * @see http://schema.org/exampleOfWork
714
     */
715
    public function exampleOfWork($exampleOfWork)
716
    {
717
        return $this->setProperty('exampleOfWork', $exampleOfWork);
718
    }
719
720
    /**
721
     * Date the content expires and is no longer useful or available. For
722
     * example a [[VideoObject]] or [[NewsArticle]] whose availability or
723
     * relevance is time-limited, or a [[ClaimReview]] fact check whose
724
     * publisher wants to indicate that it may no longer be relevant (or helpful
725
     * to highlight) after some date.
726
     *
727
     * @param \DateTimeInterface|\DateTimeInterface[] $expires
728
     *
729
     * @return static
730
     *
731
     * @see http://schema.org/expires
732
     */
733
    public function expires($expires)
734
    {
735
        return $this->setProperty('expires', $expires);
736
    }
737
738
    /**
739
     * Media type, typically MIME format (see [IANA
740
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml)) of
741
     * the content e.g. application/zip of a SoftwareApplication binary. In
742
     * cases where a CreativeWork has several media type representations,
743
     * 'encoding' can be used to indicate each MediaObject alongside particular
744
     * fileFormat information. Unregistered or niche file formats can be
745
     * indicated instead via the most appropriate URL, e.g. defining Web page or
746
     * a Wikipedia entry.
747
     *
748
     * @param string|string[] $fileFormat
749
     *
750
     * @return static
751
     *
752
     * @see http://schema.org/fileFormat
753
     */
754
    public function fileFormat($fileFormat)
755
    {
756
        return $this->setProperty('fileFormat', $fileFormat);
757
    }
758
759
    /**
760
     * A person or organization that supports (sponsors) something through some
761
     * kind of financial contribution.
762
     *
763
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $funder
764
     *
765
     * @return static
766
     *
767
     * @see http://schema.org/funder
768
     */
769
    public function funder($funder)
770
    {
771
        return $this->setProperty('funder', $funder);
772
    }
773
774
    /**
775
     * Genre of the creative work, broadcast channel or group.
776
     *
777
     * @param string|string[] $genre
778
     *
779
     * @return static
780
     *
781
     * @see http://schema.org/genre
782
     */
783
    public function genre($genre)
784
    {
785
        return $this->setProperty('genre', $genre);
786
    }
787
788
    /**
789
     * Indicates an item or CreativeWork that is part of this item, or
790
     * CreativeWork (in some sense).
791
     *
792
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $hasPart
793
     *
794
     * @return static
795
     *
796
     * @see http://schema.org/hasPart
797
     */
798
    public function hasPart($hasPart)
799
    {
800
        return $this->setProperty('hasPart', $hasPart);
801
    }
802
803
    /**
804
     * Headline of the article.
805
     *
806
     * @param string|string[] $headline
807
     *
808
     * @return static
809
     *
810
     * @see http://schema.org/headline
811
     */
812
    public function headline($headline)
813
    {
814
        return $this->setProperty('headline', $headline);
815
    }
816
817
    /**
818
     * The identifier property represents any kind of identifier for any kind of
819
     * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides
820
     * dedicated properties for representing many of these, either as textual
821
     * strings or as URL (URI) links. See [background
822
     * notes](/docs/datamodel.html#identifierBg) for more details.
823
     *
824
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier
825
     *
826
     * @return static
827
     *
828
     * @see http://schema.org/identifier
829
     */
830
    public function identifier($identifier)
831
    {
832
        return $this->setProperty('identifier', $identifier);
833
    }
834
835
    /**
836
     * An image of the item. This can be a [[URL]] or a fully described
837
     * [[ImageObject]].
838
     *
839
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image
840
     *
841
     * @return static
842
     *
843
     * @see http://schema.org/image
844
     */
845
    public function image($image)
846
    {
847
        return $this->setProperty('image', $image);
848
    }
849
850
    /**
851
     * The language of the content or performance or used in an action. Please
852
     * use one of the language codes from the [IETF BCP 47
853
     * standard](http://tools.ietf.org/html/bcp47). See also
854
     * [[availableLanguage]].
855
     *
856
     * @param \Spatie\SchemaOrg\Contracts\LanguageContract|\Spatie\SchemaOrg\Contracts\LanguageContract[]|string|string[] $inLanguage
857
     *
858
     * @return static
859
     *
860
     * @see http://schema.org/inLanguage
861
     */
862
    public function inLanguage($inLanguage)
863
    {
864
        return $this->setProperty('inLanguage', $inLanguage);
865
    }
866
867
    /**
868
     * The number of interactions for the CreativeWork using the WebSite or
869
     * SoftwareApplication. The most specific child type of InteractionCounter
870
     * should be used.
871
     *
872
     * @param \Spatie\SchemaOrg\Contracts\InteractionCounterContract|\Spatie\SchemaOrg\Contracts\InteractionCounterContract[] $interactionStatistic
873
     *
874
     * @return static
875
     *
876
     * @see http://schema.org/interactionStatistic
877
     */
878
    public function interactionStatistic($interactionStatistic)
879
    {
880
        return $this->setProperty('interactionStatistic', $interactionStatistic);
881
    }
882
883
    /**
884
     * The predominant mode of learning supported by the learning resource.
885
     * Acceptable values are 'active', 'expositive', or 'mixed'.
886
     *
887
     * @param string|string[] $interactivityType
888
     *
889
     * @return static
890
     *
891
     * @see http://schema.org/interactivityType
892
     */
893
    public function interactivityType($interactivityType)
894
    {
895
        return $this->setProperty('interactivityType', $interactivityType);
896
    }
897
898
    /**
899
     * A flag to signal that the item, event, or place is accessible for free.
900
     *
901
     * @param bool|bool[] $isAccessibleForFree
902
     *
903
     * @return static
904
     *
905
     * @see http://schema.org/isAccessibleForFree
906
     */
907
    public function isAccessibleForFree($isAccessibleForFree)
908
    {
909
        return $this->setProperty('isAccessibleForFree', $isAccessibleForFree);
910
    }
911
912
    /**
913
     * A resource from which this work is derived or from which it is a
914
     * modification or adaption.
915
     *
916
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOn
917
     *
918
     * @return static
919
     *
920
     * @see http://schema.org/isBasedOn
921
     */
922
    public function isBasedOn($isBasedOn)
923
    {
924
        return $this->setProperty('isBasedOn', $isBasedOn);
925
    }
926
927
    /**
928
     * A resource that was used in the creation of this resource. This term can
929
     * be repeated for multiple sources. For example,
930
     * http://example.com/great-multiplication-intro.html.
931
     *
932
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOnUrl
933
     *
934
     * @return static
935
     *
936
     * @see http://schema.org/isBasedOnUrl
937
     */
938
    public function isBasedOnUrl($isBasedOnUrl)
939
    {
940
        return $this->setProperty('isBasedOnUrl', $isBasedOnUrl);
941
    }
942
943
    /**
944
     * Indicates whether this content is family friendly.
945
     *
946
     * @param bool|bool[] $isFamilyFriendly
947
     *
948
     * @return static
949
     *
950
     * @see http://schema.org/isFamilyFriendly
951
     */
952
    public function isFamilyFriendly($isFamilyFriendly)
953
    {
954
        return $this->setProperty('isFamilyFriendly', $isFamilyFriendly);
955
    }
956
957
    /**
958
     * Indicates an item or CreativeWork that this item, or CreativeWork (in
959
     * some sense), is part of.
960
     *
961
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $isPartOf
962
     *
963
     * @return static
964
     *
965
     * @see http://schema.org/isPartOf
966
     */
967
    public function isPartOf($isPartOf)
968
    {
969
        return $this->setProperty('isPartOf', $isPartOf);
970
    }
971
972
    /**
973
     * Keywords or tags used to describe this content. Multiple entries in a
974
     * keywords list are typically delimited by commas.
975
     *
976
     * @param string|string[] $keywords
977
     *
978
     * @return static
979
     *
980
     * @see http://schema.org/keywords
981
     */
982
    public function keywords($keywords)
983
    {
984
        return $this->setProperty('keywords', $keywords);
985
    }
986
987
    /**
988
     * The predominant type or kind characterizing the learning resource. For
989
     * example, 'presentation', 'handout'.
990
     *
991
     * @param string|string[] $learningResourceType
992
     *
993
     * @return static
994
     *
995
     * @see http://schema.org/learningResourceType
996
     */
997
    public function learningResourceType($learningResourceType)
998
    {
999
        return $this->setProperty('learningResourceType', $learningResourceType);
1000
    }
1001
1002
    /**
1003
     * A license document that applies to this content, typically indicated by
1004
     * URL.
1005
     *
1006
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $license
1007
     *
1008
     * @return static
1009
     *
1010
     * @see http://schema.org/license
1011
     */
1012
    public function license($license)
1013
    {
1014
        return $this->setProperty('license', $license);
1015
    }
1016
1017
    /**
1018
     * The location where the CreativeWork was created, which may not be the
1019
     * same as the location depicted in the CreativeWork.
1020
     *
1021
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $locationCreated
1022
     *
1023
     * @return static
1024
     *
1025
     * @see http://schema.org/locationCreated
1026
     */
1027
    public function locationCreated($locationCreated)
1028
    {
1029
        return $this->setProperty('locationCreated', $locationCreated);
1030
    }
1031
1032
    /**
1033
     * Indicates the primary entity described in some page or other
1034
     * CreativeWork.
1035
     *
1036
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mainEntity
1037
     *
1038
     * @return static
1039
     *
1040
     * @see http://schema.org/mainEntity
1041
     */
1042
    public function mainEntity($mainEntity)
1043
    {
1044
        return $this->setProperty('mainEntity', $mainEntity);
1045
    }
1046
1047
    /**
1048
     * Indicates a page (or other CreativeWork) for which this thing is the main
1049
     * entity being described. See [background
1050
     * notes](/docs/datamodel.html#mainEntityBackground) for details.
1051
     *
1052
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage
1053
     *
1054
     * @return static
1055
     *
1056
     * @see http://schema.org/mainEntityOfPage
1057
     */
1058
    public function mainEntityOfPage($mainEntityOfPage)
1059
    {
1060
        return $this->setProperty('mainEntityOfPage', $mainEntityOfPage);
1061
    }
1062
1063
    /**
1064
     * A material that something is made from, e.g. leather, wool, cotton,
1065
     * paper.
1066
     *
1067
     * @param \Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $material
1068
     *
1069
     * @return static
1070
     *
1071
     * @see http://schema.org/material
1072
     */
1073
    public function material($material)
1074
    {
1075
        return $this->setProperty('material', $material);
1076
    }
1077
1078
    /**
1079
     * Indicates that the CreativeWork contains a reference to, but is not
1080
     * necessarily about a concept.
1081
     *
1082
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mentions
1083
     *
1084
     * @return static
1085
     *
1086
     * @see http://schema.org/mentions
1087
     */
1088
    public function mentions($mentions)
1089
    {
1090
        return $this->setProperty('mentions', $mentions);
1091
    }
1092
1093
    /**
1094
     * The name of the item.
1095
     *
1096
     * @param string|string[] $name
1097
     *
1098
     * @return static
1099
     *
1100
     * @see http://schema.org/name
1101
     */
1102
    public function name($name)
1103
    {
1104
        return $this->setProperty('name', $name);
1105
    }
1106
1107
    /**
1108
     * An offer to provide this item—for example, an offer to sell a
1109
     * product, rent the DVD of a movie, perform a service, or give away tickets
1110
     * to an event. Use [[businessFunction]] to indicate the kind of transaction
1111
     * offered, i.e. sell, lease, etc. This property can also be used to
1112
     * describe a [[Demand]]. While this property is listed as expected on a
1113
     * number of common types, it can be used in others. In that case, using a
1114
     * second type, such as Product or a subtype of Product, can clarify the
1115
     * nature of the offer.
1116
     *
1117
     * @param \Spatie\SchemaOrg\Contracts\DemandContract|\Spatie\SchemaOrg\Contracts\DemandContract[]|\Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $offers
1118
     *
1119
     * @return static
1120
     *
1121
     * @see http://schema.org/offers
1122
     */
1123
    public function offers($offers)
1124
    {
1125
        return $this->setProperty('offers', $offers);
1126
    }
1127
1128
    /**
1129
     * The page on which the work ends; for example "138" or "xvi".
1130
     *
1131
     * @param int|int[]|string|string[] $pageEnd
1132
     *
1133
     * @return static
1134
     *
1135
     * @see http://schema.org/pageEnd
1136
     */
1137
    public function pageEnd($pageEnd)
1138
    {
1139
        return $this->setProperty('pageEnd', $pageEnd);
1140
    }
1141
1142
    /**
1143
     * The page on which the work starts; for example "135" or "xiii".
1144
     *
1145
     * @param int|int[]|string|string[] $pageStart
1146
     *
1147
     * @return static
1148
     *
1149
     * @see http://schema.org/pageStart
1150
     */
1151
    public function pageStart($pageStart)
1152
    {
1153
        return $this->setProperty('pageStart', $pageStart);
1154
    }
1155
1156
    /**
1157
     * Any description of pages that is not separated into pageStart and
1158
     * pageEnd; for example, "1-6, 9, 55" or "10-12, 46-49".
1159
     *
1160
     * @param string|string[] $pagination
1161
     *
1162
     * @return static
1163
     *
1164
     * @see http://schema.org/pagination
1165
     */
1166
    public function pagination($pagination)
1167
    {
1168
        return $this->setProperty('pagination', $pagination);
1169
    }
1170
1171
    /**
1172
     * The position of an item in a series or sequence of items.
1173
     *
1174
     * @param int|int[]|string|string[] $position
1175
     *
1176
     * @return static
1177
     *
1178
     * @see http://schema.org/position
1179
     */
1180
    public function position($position)
1181
    {
1182
        return $this->setProperty('position', $position);
1183
    }
1184
1185
    /**
1186
     * Indicates a potential Action, which describes an idealized action in
1187
     * which this thing would play an 'object' role.
1188
     *
1189
     * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction
1190
     *
1191
     * @return static
1192
     *
1193
     * @see http://schema.org/potentialAction
1194
     */
1195
    public function potentialAction($potentialAction)
1196
    {
1197
        return $this->setProperty('potentialAction', $potentialAction);
1198
    }
1199
1200
    /**
1201
     * The number of the column in which the NewsArticle appears in the print
1202
     * edition.
1203
     *
1204
     * @param string|string[] $printColumn
1205
     *
1206
     * @return static
1207
     *
1208
     * @see http://schema.org/printColumn
1209
     */
1210
    public function printColumn($printColumn)
1211
    {
1212
        return $this->setProperty('printColumn', $printColumn);
1213
    }
1214
1215
    /**
1216
     * The edition of the print product in which the NewsArticle appears.
1217
     *
1218
     * @param string|string[] $printEdition
1219
     *
1220
     * @return static
1221
     *
1222
     * @see http://schema.org/printEdition
1223
     */
1224
    public function printEdition($printEdition)
1225
    {
1226
        return $this->setProperty('printEdition', $printEdition);
1227
    }
1228
1229
    /**
1230
     * If this NewsArticle appears in print, this field indicates the name of
1231
     * the page on which the article is found. Please note that this field is
1232
     * intended for the exact page name (e.g. A5, B18).
1233
     *
1234
     * @param string|string[] $printPage
1235
     *
1236
     * @return static
1237
     *
1238
     * @see http://schema.org/printPage
1239
     */
1240
    public function printPage($printPage)
1241
    {
1242
        return $this->setProperty('printPage', $printPage);
1243
    }
1244
1245
    /**
1246
     * If this NewsArticle appears in print, this field indicates the print
1247
     * section in which the article appeared.
1248
     *
1249
     * @param string|string[] $printSection
1250
     *
1251
     * @return static
1252
     *
1253
     * @see http://schema.org/printSection
1254
     */
1255
    public function printSection($printSection)
1256
    {
1257
        return $this->setProperty('printSection', $printSection);
1258
    }
1259
1260
    /**
1261
     * The person or organization who produced the work (e.g. music album,
1262
     * movie, tv/radio series etc.).
1263
     *
1264
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $producer
1265
     *
1266
     * @return static
1267
     *
1268
     * @see http://schema.org/producer
1269
     */
1270
    public function producer($producer)
1271
    {
1272
        return $this->setProperty('producer', $producer);
1273
    }
1274
1275
    /**
1276
     * The service provider, service operator, or service performer; the goods
1277
     * producer. Another party (a seller) may offer those services or goods on
1278
     * behalf of the provider. A provider may also serve as the seller.
1279
     *
1280
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $provider
1281
     *
1282
     * @return static
1283
     *
1284
     * @see http://schema.org/provider
1285
     */
1286
    public function provider($provider)
1287
    {
1288
        return $this->setProperty('provider', $provider);
1289
    }
1290
1291
    /**
1292
     * A publication event associated with the item.
1293
     *
1294
     * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $publication
1295
     *
1296
     * @return static
1297
     *
1298
     * @see http://schema.org/publication
1299
     */
1300
    public function publication($publication)
1301
    {
1302
        return $this->setProperty('publication', $publication);
1303
    }
1304
1305
    /**
1306
     * The publisher of the creative work.
1307
     *
1308
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $publisher
1309
     *
1310
     * @return static
1311
     *
1312
     * @see http://schema.org/publisher
1313
     */
1314
    public function publisher($publisher)
1315
    {
1316
        return $this->setProperty('publisher', $publisher);
1317
    }
1318
1319
    /**
1320
     * The publishingPrinciples property indicates (typically via [[URL]]) a
1321
     * document describing the editorial principles of an [[Organization]] (or
1322
     * individual e.g. a [[Person]] writing a blog) that relate to their
1323
     * activities as a publisher, e.g. ethics or diversity policies. When
1324
     * applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are
1325
     * those of the party primarily responsible for the creation of the
1326
     * [[CreativeWork]].
1327
     * 
1328
     * While such policies are most typically expressed in natural language,
1329
     * sometimes related information (e.g. indicating a [[funder]]) can be
1330
     * expressed using schema.org terminology.
1331
     *
1332
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $publishingPrinciples
1333
     *
1334
     * @return static
1335
     *
1336
     * @see http://schema.org/publishingPrinciples
1337
     */
1338
    public function publishingPrinciples($publishingPrinciples)
1339
    {
1340
        return $this->setProperty('publishingPrinciples', $publishingPrinciples);
1341
    }
1342
1343
    /**
1344
     * The Event where the CreativeWork was recorded. The CreativeWork may
1345
     * capture all or part of the event.
1346
     *
1347
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $recordedAt
1348
     *
1349
     * @return static
1350
     *
1351
     * @see http://schema.org/recordedAt
1352
     */
1353
    public function recordedAt($recordedAt)
1354
    {
1355
        return $this->setProperty('recordedAt', $recordedAt);
1356
    }
1357
1358
    /**
1359
     * The place and time the release was issued, expressed as a
1360
     * PublicationEvent.
1361
     *
1362
     * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $releasedEvent
1363
     *
1364
     * @return static
1365
     *
1366
     * @see http://schema.org/releasedEvent
1367
     */
1368
    public function releasedEvent($releasedEvent)
1369
    {
1370
        return $this->setProperty('releasedEvent', $releasedEvent);
1371
    }
1372
1373
    /**
1374
     * A review of the item.
1375
     *
1376
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $review
1377
     *
1378
     * @return static
1379
     *
1380
     * @see http://schema.org/review
1381
     */
1382
    public function review($review)
1383
    {
1384
        return $this->setProperty('review', $review);
1385
    }
1386
1387
    /**
1388
     * Review of the item.
1389
     *
1390
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $reviews
1391
     *
1392
     * @return static
1393
     *
1394
     * @see http://schema.org/reviews
1395
     */
1396
    public function reviews($reviews)
1397
    {
1398
        return $this->setProperty('reviews', $reviews);
1399
    }
1400
1401
    /**
1402
     * URL of a reference Web page that unambiguously indicates the item's
1403
     * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or
1404
     * official website.
1405
     *
1406
     * @param string|string[] $sameAs
1407
     *
1408
     * @return static
1409
     *
1410
     * @see http://schema.org/sameAs
1411
     */
1412
    public function sameAs($sameAs)
1413
    {
1414
        return $this->setProperty('sameAs', $sameAs);
1415
    }
1416
1417
    /**
1418
     * Indicates (by URL or string) a particular version of a schema used in
1419
     * some CreativeWork. For example, a document could declare a schemaVersion
1420
     * using an URL such as http://schema.org/version/2.0/ if precise indication
1421
     * of schema version was required by some application.
1422
     *
1423
     * @param string|string[] $schemaVersion
1424
     *
1425
     * @return static
1426
     *
1427
     * @see http://schema.org/schemaVersion
1428
     */
1429
    public function schemaVersion($schemaVersion)
1430
    {
1431
        return $this->setProperty('schemaVersion', $schemaVersion);
1432
    }
1433
1434
    /**
1435
     * The Organization on whose behalf the creator was working.
1436
     *
1437
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $sourceOrganization
1438
     *
1439
     * @return static
1440
     *
1441
     * @see http://schema.org/sourceOrganization
1442
     */
1443
    public function sourceOrganization($sourceOrganization)
1444
    {
1445
        return $this->setProperty('sourceOrganization', $sourceOrganization);
1446
    }
1447
1448
    /**
1449
     * The "spatial" property can be used in cases when more specific properties
1450
     * (e.g. [[locationCreated]], [[spatialCoverage]], [[contentLocation]]) are
1451
     * not known to be appropriate.
1452
     *
1453
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatial
1454
     *
1455
     * @return static
1456
     *
1457
     * @see http://schema.org/spatial
1458
     */
1459
    public function spatial($spatial)
1460
    {
1461
        return $this->setProperty('spatial', $spatial);
1462
    }
1463
1464
    /**
1465
     * The spatialCoverage of a CreativeWork indicates the place(s) which are
1466
     * the focus of the content. It is a subproperty of
1467
     *       contentLocation intended primarily for more technical and detailed
1468
     * materials. For example with a Dataset, it indicates
1469
     *       areas that the dataset describes: a dataset of New York weather
1470
     * would have spatialCoverage which was the place: the state of New York.
1471
     *
1472
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatialCoverage
1473
     *
1474
     * @return static
1475
     *
1476
     * @see http://schema.org/spatialCoverage
1477
     */
1478
    public function spatialCoverage($spatialCoverage)
1479
    {
1480
        return $this->setProperty('spatialCoverage', $spatialCoverage);
1481
    }
1482
1483
    /**
1484
     * Indicates sections of a Web page that are particularly 'speakable' in the
1485
     * sense of being highlighted as being especially appropriate for
1486
     * text-to-speech conversion. Other sections of a page may also be usefully
1487
     * spoken in particular circumstances; the 'speakable' property serves to
1488
     * indicate the parts most likely to be generally useful for speech.
1489
     * 
1490
     * The *speakable* property can be repeated an arbitrary number of times,
1491
     * with three kinds of possible 'content-locator' values:
1492
     * 
1493
     * 1.) *id-value* URL references - uses *id-value* of an element in the page
1494
     * being annotated. The simplest use of *speakable* has (potentially
1495
     * relative) URL values, referencing identified sections of the document
1496
     * concerned.
1497
     * 
1498
     * 2.) CSS Selectors - addresses content in the annotated page, eg. via
1499
     * class attribute. Use the [[cssSelector]] property.
1500
     * 
1501
     * 3.)  XPaths - addresses content via XPaths (assuming an XML view of the
1502
     * content). Use the [[xpath]] property.
1503
     * 
1504
     * 
1505
     * For more sophisticated markup of speakable sections beyond simple ID
1506
     * references, either CSS selectors or XPath expressions to pick out
1507
     * document section(s) as speakable. For this
1508
     * we define a supporting type, [[SpeakableSpecification]]  which is defined
1509
     * to be a possible value of the *speakable* property.
1510
     *
1511
     * @param \Spatie\SchemaOrg\Contracts\SpeakableSpecificationContract|\Spatie\SchemaOrg\Contracts\SpeakableSpecificationContract[]|string|string[] $speakable
1512
     *
1513
     * @return static
1514
     *
1515
     * @see http://schema.org/speakable
1516
     */
1517
    public function speakable($speakable)
1518
    {
1519
        return $this->setProperty('speakable', $speakable);
1520
    }
1521
1522
    /**
1523
     * A person or organization that supports a thing through a pledge, promise,
1524
     * or financial contribution. e.g. a sponsor of a Medical Study or a
1525
     * corporate sponsor of an event.
1526
     *
1527
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $sponsor
1528
     *
1529
     * @return static
1530
     *
1531
     * @see http://schema.org/sponsor
1532
     */
1533
    public function sponsor($sponsor)
1534
    {
1535
        return $this->setProperty('sponsor', $sponsor);
1536
    }
1537
1538
    /**
1539
     * A CreativeWork or Event about this Thing.
1540
     *
1541
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf
1542
     *
1543
     * @return static
1544
     *
1545
     * @see http://schema.org/subjectOf
1546
     */
1547
    public function subjectOf($subjectOf)
1548
    {
1549
        return $this->setProperty('subjectOf', $subjectOf);
1550
    }
1551
1552
    /**
1553
     * The "temporal" property can be used in cases where more specific
1554
     * properties
1555
     * (e.g. [[temporalCoverage]], [[dateCreated]], [[dateModified]],
1556
     * [[datePublished]]) are not known to be appropriate.
1557
     *
1558
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporal
1559
     *
1560
     * @return static
1561
     *
1562
     * @see http://schema.org/temporal
1563
     */
1564
    public function temporal($temporal)
1565
    {
1566
        return $this->setProperty('temporal', $temporal);
1567
    }
1568
1569
    /**
1570
     * The temporalCoverage of a CreativeWork indicates the period that the
1571
     * content applies to, i.e. that it describes, either as a DateTime or as a
1572
     * textual string indicating a time period in [ISO 8601 time interval
1573
     * format](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals). In
1574
     *       the case of a Dataset it will typically indicate the relevant time
1575
     * period in a precise notation (e.g. for a 2011 census dataset, the year
1576
     * 2011 would be written "2011/2012"). Other forms of content e.g.
1577
     * ScholarlyArticle, Book, TVSeries or TVEpisode may indicate their
1578
     * temporalCoverage in broader terms - textually or via well-known URL.
1579
     *       Written works such as books may sometimes have precise temporal
1580
     * coverage too, e.g. a work set in 1939 - 1945 can be indicated in ISO 8601
1581
     * interval format format via "1939/1945".
1582
     * 
1583
     * Open-ended date ranges can be written with ".." in place of the end date.
1584
     * For example, "2015-11/.." indicates a range beginning in November 2015
1585
     * and with no specified final date. This is tentative and might be updated
1586
     * in future when ISO 8601 is officially updated.
1587
     *
1588
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporalCoverage
1589
     *
1590
     * @return static
1591
     *
1592
     * @see http://schema.org/temporalCoverage
1593
     */
1594
    public function temporalCoverage($temporalCoverage)
1595
    {
1596
        return $this->setProperty('temporalCoverage', $temporalCoverage);
1597
    }
1598
1599
    /**
1600
     * The textual content of this CreativeWork.
1601
     *
1602
     * @param string|string[] $text
1603
     *
1604
     * @return static
1605
     *
1606
     * @see http://schema.org/text
1607
     */
1608
    public function text($text)
1609
    {
1610
        return $this->setProperty('text', $text);
1611
    }
1612
1613
    /**
1614
     * A thumbnail image relevant to the Thing.
1615
     *
1616
     * @param string|string[] $thumbnailUrl
1617
     *
1618
     * @return static
1619
     *
1620
     * @see http://schema.org/thumbnailUrl
1621
     */
1622
    public function thumbnailUrl($thumbnailUrl)
1623
    {
1624
        return $this->setProperty('thumbnailUrl', $thumbnailUrl);
1625
    }
1626
1627
    /**
1628
     * Approximate or typical time it takes to work with or through this
1629
     * learning resource for the typical intended target audience, e.g. 'PT30M',
1630
     * 'PT1H25M'.
1631
     *
1632
     * @param \Spatie\SchemaOrg\Contracts\DurationContract|\Spatie\SchemaOrg\Contracts\DurationContract[] $timeRequired
1633
     *
1634
     * @return static
1635
     *
1636
     * @see http://schema.org/timeRequired
1637
     */
1638
    public function timeRequired($timeRequired)
1639
    {
1640
        return $this->setProperty('timeRequired', $timeRequired);
1641
    }
1642
1643
    /**
1644
     * Organization or person who adapts a creative work to different languages,
1645
     * regional differences and technical requirements of a target market, or
1646
     * that translates during some event.
1647
     *
1648
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $translator
1649
     *
1650
     * @return static
1651
     *
1652
     * @see http://schema.org/translator
1653
     */
1654
    public function translator($translator)
1655
    {
1656
        return $this->setProperty('translator', $translator);
1657
    }
1658
1659
    /**
1660
     * The typical expected age range, e.g. '7-9', '11-'.
1661
     *
1662
     * @param string|string[] $typicalAgeRange
1663
     *
1664
     * @return static
1665
     *
1666
     * @see http://schema.org/typicalAgeRange
1667
     */
1668
    public function typicalAgeRange($typicalAgeRange)
1669
    {
1670
        return $this->setProperty('typicalAgeRange', $typicalAgeRange);
1671
    }
1672
1673
    /**
1674
     * URL of the item.
1675
     *
1676
     * @param string|string[] $url
1677
     *
1678
     * @return static
1679
     *
1680
     * @see http://schema.org/url
1681
     */
1682
    public function url($url)
1683
    {
1684
        return $this->setProperty('url', $url);
1685
    }
1686
1687
    /**
1688
     * The version of the CreativeWork embodied by a specified resource.
1689
     *
1690
     * @param float|float[]|int|int[]|string|string[] $version
1691
     *
1692
     * @return static
1693
     *
1694
     * @see http://schema.org/version
1695
     */
1696
    public function version($version)
1697
    {
1698
        return $this->setProperty('version', $version);
1699
    }
1700
1701
    /**
1702
     * An embedded video object.
1703
     *
1704
     * @param \Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[]|\Spatie\SchemaOrg\Contracts\VideoObjectContract|\Spatie\SchemaOrg\Contracts\VideoObjectContract[] $video
1705
     *
1706
     * @return static
1707
     *
1708
     * @see http://schema.org/video
1709
     */
1710
    public function video($video)
1711
    {
1712
        return $this->setProperty('video', $video);
1713
    }
1714
1715
    /**
1716
     * The number of words in the text of the Article.
1717
     *
1718
     * @param int|int[] $wordCount
1719
     *
1720
     * @return static
1721
     *
1722
     * @see http://schema.org/wordCount
1723
     */
1724
    public function wordCount($wordCount)
1725
    {
1726
        return $this->setProperty('wordCount', $wordCount);
1727
    }
1728
1729
    /**
1730
     * Example/instance/realization/derivation of the concept of this creative
1731
     * work. eg. The paperback edition, first edition, or eBook.
1732
     *
1733
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $workExample
1734
     *
1735
     * @return static
1736
     *
1737
     * @see http://schema.org/workExample
1738
     */
1739
    public function workExample($workExample)
1740
    {
1741
        return $this->setProperty('workExample', $workExample);
1742
    }
1743
1744
}
1745

src/RadioSeason.php 1 location

@@ 16-1689 (lines=1674) @@
13
 * @see http://schema.org/RadioSeason
14
 *
15
 */
16
class RadioSeason extends BaseType implements RadioSeasonContract, CreativeWorkContract, CreativeWorkSeasonContract, ThingContract
17
{
18
    /**
19
     * The subject matter of the content.
20
     *
21
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $about
22
     *
23
     * @return static
24
     *
25
     * @see http://schema.org/about
26
     */
27
    public function about($about)
28
    {
29
        return $this->setProperty('about', $about);
30
    }
31
32
    /**
33
     * The human sensory perceptual system or cognitive faculty through which a
34
     * person may process or perceive information. Expected values include:
35
     * auditory, tactile, textual, visual, colorDependent, chartOnVisual,
36
     * chemOnVisual, diagramOnVisual, mathOnVisual, musicOnVisual, textOnVisual.
37
     *
38
     * @param string|string[] $accessMode
39
     *
40
     * @return static
41
     *
42
     * @see http://schema.org/accessMode
43
     */
44
    public function accessMode($accessMode)
45
    {
46
        return $this->setProperty('accessMode', $accessMode);
47
    }
48
49
    /**
50
     * A list of single or combined accessModes that are sufficient to
51
     * understand all the intellectual content of a resource. Expected values
52
     * include:  auditory, tactile, textual, visual.
53
     *
54
     * @param \Spatie\SchemaOrg\Contracts\ItemListContract|\Spatie\SchemaOrg\Contracts\ItemListContract[] $accessModeSufficient
55
     *
56
     * @return static
57
     *
58
     * @see http://schema.org/accessModeSufficient
59
     */
60
    public function accessModeSufficient($accessModeSufficient)
61
    {
62
        return $this->setProperty('accessModeSufficient', $accessModeSufficient);
63
    }
64
65
    /**
66
     * Indicates that the resource is compatible with the referenced
67
     * accessibility API ([WebSchemas wiki lists possible
68
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
69
     *
70
     * @param string|string[] $accessibilityAPI
71
     *
72
     * @return static
73
     *
74
     * @see http://schema.org/accessibilityAPI
75
     */
76
    public function accessibilityAPI($accessibilityAPI)
77
    {
78
        return $this->setProperty('accessibilityAPI', $accessibilityAPI);
79
    }
80
81
    /**
82
     * Identifies input methods that are sufficient to fully control the
83
     * described resource ([WebSchemas wiki lists possible
84
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
85
     *
86
     * @param string|string[] $accessibilityControl
87
     *
88
     * @return static
89
     *
90
     * @see http://schema.org/accessibilityControl
91
     */
92
    public function accessibilityControl($accessibilityControl)
93
    {
94
        return $this->setProperty('accessibilityControl', $accessibilityControl);
95
    }
96
97
    /**
98
     * Content features of the resource, such as accessible media, alternatives
99
     * and supported enhancements for accessibility ([WebSchemas wiki lists
100
     * possible values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
101
     *
102
     * @param string|string[] $accessibilityFeature
103
     *
104
     * @return static
105
     *
106
     * @see http://schema.org/accessibilityFeature
107
     */
108
    public function accessibilityFeature($accessibilityFeature)
109
    {
110
        return $this->setProperty('accessibilityFeature', $accessibilityFeature);
111
    }
112
113
    /**
114
     * A characteristic of the described resource that is physiologically
115
     * dangerous to some users. Related to WCAG 2.0 guideline 2.3 ([WebSchemas
116
     * wiki lists possible
117
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
118
     *
119
     * @param string|string[] $accessibilityHazard
120
     *
121
     * @return static
122
     *
123
     * @see http://schema.org/accessibilityHazard
124
     */
125
    public function accessibilityHazard($accessibilityHazard)
126
    {
127
        return $this->setProperty('accessibilityHazard', $accessibilityHazard);
128
    }
129
130
    /**
131
     * A human-readable summary of specific accessibility features or
132
     * deficiencies, consistent with the other accessibility metadata but
133
     * expressing subtleties such as "short descriptions are present but long
134
     * descriptions will be needed for non-visual users" or "short descriptions
135
     * are present and no long descriptions are needed."
136
     *
137
     * @param string|string[] $accessibilitySummary
138
     *
139
     * @return static
140
     *
141
     * @see http://schema.org/accessibilitySummary
142
     */
143
    public function accessibilitySummary($accessibilitySummary)
144
    {
145
        return $this->setProperty('accessibilitySummary', $accessibilitySummary);
146
    }
147
148
    /**
149
     * Specifies the Person that is legally accountable for the CreativeWork.
150
     *
151
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $accountablePerson
152
     *
153
     * @return static
154
     *
155
     * @see http://schema.org/accountablePerson
156
     */
157
    public function accountablePerson($accountablePerson)
158
    {
159
        return $this->setProperty('accountablePerson', $accountablePerson);
160
    }
161
162
    /**
163
     * An actor, e.g. in tv, radio, movie, video games etc., or in an event.
164
     * Actors can be associated with individual items or with a series, episode,
165
     * clip.
166
     *
167
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $actor
168
     *
169
     * @return static
170
     *
171
     * @see http://schema.org/actor
172
     */
173
    public function actor($actor)
174
    {
175
        return $this->setProperty('actor', $actor);
176
    }
177
178
    /**
179
     * An additional type for the item, typically used for adding more specific
180
     * types from external vocabularies in microdata syntax. This is a
181
     * relationship between something and a class that the thing is in. In RDFa
182
     * syntax, it is better to use the native RDFa syntax - the 'typeof'
183
     * attribute - for multiple types. Schema.org tools may have only weaker
184
     * understanding of extra types, in particular those defined externally.
185
     *
186
     * @param string|string[] $additionalType
187
     *
188
     * @return static
189
     *
190
     * @see http://schema.org/additionalType
191
     */
192
    public function additionalType($additionalType)
193
    {
194
        return $this->setProperty('additionalType', $additionalType);
195
    }
196
197
    /**
198
     * The overall rating, based on a collection of reviews or ratings, of the
199
     * item.
200
     *
201
     * @param \Spatie\SchemaOrg\Contracts\AggregateRatingContract|\Spatie\SchemaOrg\Contracts\AggregateRatingContract[] $aggregateRating
202
     *
203
     * @return static
204
     *
205
     * @see http://schema.org/aggregateRating
206
     */
207
    public function aggregateRating($aggregateRating)
208
    {
209
        return $this->setProperty('aggregateRating', $aggregateRating);
210
    }
211
212
    /**
213
     * An alias for the item.
214
     *
215
     * @param string|string[] $alternateName
216
     *
217
     * @return static
218
     *
219
     * @see http://schema.org/alternateName
220
     */
221
    public function alternateName($alternateName)
222
    {
223
        return $this->setProperty('alternateName', $alternateName);
224
    }
225
226
    /**
227
     * A secondary title of the CreativeWork.
228
     *
229
     * @param string|string[] $alternativeHeadline
230
     *
231
     * @return static
232
     *
233
     * @see http://schema.org/alternativeHeadline
234
     */
235
    public function alternativeHeadline($alternativeHeadline)
236
    {
237
        return $this->setProperty('alternativeHeadline', $alternativeHeadline);
238
    }
239
240
    /**
241
     * A media object that encodes this CreativeWork. This property is a synonym
242
     * for encoding.
243
     *
244
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $associatedMedia
245
     *
246
     * @return static
247
     *
248
     * @see http://schema.org/associatedMedia
249
     */
250
    public function associatedMedia($associatedMedia)
251
    {
252
        return $this->setProperty('associatedMedia', $associatedMedia);
253
    }
254
255
    /**
256
     * An intended audience, i.e. a group for whom something was created.
257
     *
258
     * @param \Spatie\SchemaOrg\Contracts\AudienceContract|\Spatie\SchemaOrg\Contracts\AudienceContract[] $audience
259
     *
260
     * @return static
261
     *
262
     * @see http://schema.org/audience
263
     */
264
    public function audience($audience)
265
    {
266
        return $this->setProperty('audience', $audience);
267
    }
268
269
    /**
270
     * An embedded audio object.
271
     *
272
     * @param \Spatie\SchemaOrg\Contracts\AudioObjectContract|\Spatie\SchemaOrg\Contracts\AudioObjectContract[]|\Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[] $audio
273
     *
274
     * @return static
275
     *
276
     * @see http://schema.org/audio
277
     */
278
    public function audio($audio)
279
    {
280
        return $this->setProperty('audio', $audio);
281
    }
282
283
    /**
284
     * The author of this content or rating. Please note that author is special
285
     * in that HTML 5 provides a special mechanism for indicating authorship via
286
     * the rel tag. That is equivalent to this and may be used interchangeably.
287
     *
288
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $author
289
     *
290
     * @return static
291
     *
292
     * @see http://schema.org/author
293
     */
294
    public function author($author)
295
    {
296
        return $this->setProperty('author', $author);
297
    }
298
299
    /**
300
     * An award won by or for this item.
301
     *
302
     * @param string|string[] $award
303
     *
304
     * @return static
305
     *
306
     * @see http://schema.org/award
307
     */
308
    public function award($award)
309
    {
310
        return $this->setProperty('award', $award);
311
    }
312
313
    /**
314
     * Awards won by or for this item.
315
     *
316
     * @param string|string[] $awards
317
     *
318
     * @return static
319
     *
320
     * @see http://schema.org/awards
321
     */
322
    public function awards($awards)
323
    {
324
        return $this->setProperty('awards', $awards);
325
    }
326
327
    /**
328
     * Fictional person connected with a creative work.
329
     *
330
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $character
331
     *
332
     * @return static
333
     *
334
     * @see http://schema.org/character
335
     */
336
    public function character($character)
337
    {
338
        return $this->setProperty('character', $character);
339
    }
340
341
    /**
342
     * A citation or reference to another creative work, such as another
343
     * publication, web page, scholarly article, etc.
344
     *
345
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $citation
346
     *
347
     * @return static
348
     *
349
     * @see http://schema.org/citation
350
     */
351
    public function citation($citation)
352
    {
353
        return $this->setProperty('citation', $citation);
354
    }
355
356
    /**
357
     * Comments, typically from users.
358
     *
359
     * @param \Spatie\SchemaOrg\Contracts\CommentContract|\Spatie\SchemaOrg\Contracts\CommentContract[] $comment
360
     *
361
     * @return static
362
     *
363
     * @see http://schema.org/comment
364
     */
365
    public function comment($comment)
366
    {
367
        return $this->setProperty('comment', $comment);
368
    }
369
370
    /**
371
     * The number of comments this CreativeWork (e.g. Article, Question or
372
     * Answer) has received. This is most applicable to works published in Web
373
     * sites with commenting system; additional comments may exist elsewhere.
374
     *
375
     * @param int|int[] $commentCount
376
     *
377
     * @return static
378
     *
379
     * @see http://schema.org/commentCount
380
     */
381
    public function commentCount($commentCount)
382
    {
383
        return $this->setProperty('commentCount', $commentCount);
384
    }
385
386
    /**
387
     * The location depicted or described in the content. For example, the
388
     * location in a photograph or painting.
389
     *
390
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $contentLocation
391
     *
392
     * @return static
393
     *
394
     * @see http://schema.org/contentLocation
395
     */
396
    public function contentLocation($contentLocation)
397
    {
398
        return $this->setProperty('contentLocation', $contentLocation);
399
    }
400
401
    /**
402
     * Official rating of a piece of content—for example,'MPAA PG-13'.
403
     *
404
     * @param \Spatie\SchemaOrg\Contracts\RatingContract|\Spatie\SchemaOrg\Contracts\RatingContract[]|string|string[] $contentRating
405
     *
406
     * @return static
407
     *
408
     * @see http://schema.org/contentRating
409
     */
410
    public function contentRating($contentRating)
411
    {
412
        return $this->setProperty('contentRating', $contentRating);
413
    }
414
415
    /**
416
     * A secondary contributor to the CreativeWork or Event.
417
     *
418
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $contributor
419
     *
420
     * @return static
421
     *
422
     * @see http://schema.org/contributor
423
     */
424
    public function contributor($contributor)
425
    {
426
        return $this->setProperty('contributor', $contributor);
427
    }
428
429
    /**
430
     * The party holding the legal copyright to the CreativeWork.
431
     *
432
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $copyrightHolder
433
     *
434
     * @return static
435
     *
436
     * @see http://schema.org/copyrightHolder
437
     */
438
    public function copyrightHolder($copyrightHolder)
439
    {
440
        return $this->setProperty('copyrightHolder', $copyrightHolder);
441
    }
442
443
    /**
444
     * The year during which the claimed copyright for the CreativeWork was
445
     * first asserted.
446
     *
447
     * @param float|float[]|int|int[] $copyrightYear
448
     *
449
     * @return static
450
     *
451
     * @see http://schema.org/copyrightYear
452
     */
453
    public function copyrightYear($copyrightYear)
454
    {
455
        return $this->setProperty('copyrightYear', $copyrightYear);
456
    }
457
458
    /**
459
     * The creator/author of this CreativeWork. This is the same as the Author
460
     * property for CreativeWork.
461
     *
462
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $creator
463
     *
464
     * @return static
465
     *
466
     * @see http://schema.org/creator
467
     */
468
    public function creator($creator)
469
    {
470
        return $this->setProperty('creator', $creator);
471
    }
472
473
    /**
474
     * The date on which the CreativeWork was created or the item was added to a
475
     * DataFeed.
476
     *
477
     * @param \DateTimeInterface|\DateTimeInterface[] $dateCreated
478
     *
479
     * @return static
480
     *
481
     * @see http://schema.org/dateCreated
482
     */
483
    public function dateCreated($dateCreated)
484
    {
485
        return $this->setProperty('dateCreated', $dateCreated);
486
    }
487
488
    /**
489
     * The date on which the CreativeWork was most recently modified or when the
490
     * item's entry was modified within a DataFeed.
491
     *
492
     * @param \DateTimeInterface|\DateTimeInterface[] $dateModified
493
     *
494
     * @return static
495
     *
496
     * @see http://schema.org/dateModified
497
     */
498
    public function dateModified($dateModified)
499
    {
500
        return $this->setProperty('dateModified', $dateModified);
501
    }
502
503
    /**
504
     * Date of first broadcast/publication.
505
     *
506
     * @param \DateTimeInterface|\DateTimeInterface[] $datePublished
507
     *
508
     * @return static
509
     *
510
     * @see http://schema.org/datePublished
511
     */
512
    public function datePublished($datePublished)
513
    {
514
        return $this->setProperty('datePublished', $datePublished);
515
    }
516
517
    /**
518
     * A description of the item.
519
     *
520
     * @param string|string[] $description
521
     *
522
     * @return static
523
     *
524
     * @see http://schema.org/description
525
     */
526
    public function description($description)
527
    {
528
        return $this->setProperty('description', $description);
529
    }
530
531
    /**
532
     * A director of e.g. tv, radio, movie, video gaming etc. content, or of an
533
     * event. Directors can be associated with individual items or with a
534
     * series, episode, clip.
535
     *
536
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $director
537
     *
538
     * @return static
539
     *
540
     * @see http://schema.org/director
541
     */
542
    public function director($director)
543
    {
544
        return $this->setProperty('director', $director);
545
    }
546
547
    /**
548
     * A sub property of description. A short description of the item used to
549
     * disambiguate from other, similar items. Information from other properties
550
     * (in particular, name) may be necessary for the description to be useful
551
     * for disambiguation.
552
     *
553
     * @param string|string[] $disambiguatingDescription
554
     *
555
     * @return static
556
     *
557
     * @see http://schema.org/disambiguatingDescription
558
     */
559
    public function disambiguatingDescription($disambiguatingDescription)
560
    {
561
        return $this->setProperty('disambiguatingDescription', $disambiguatingDescription);
562
    }
563
564
    /**
565
     * A link to the page containing the comments of the CreativeWork.
566
     *
567
     * @param string|string[] $discussionUrl
568
     *
569
     * @return static
570
     *
571
     * @see http://schema.org/discussionUrl
572
     */
573
    public function discussionUrl($discussionUrl)
574
    {
575
        return $this->setProperty('discussionUrl', $discussionUrl);
576
    }
577
578
    /**
579
     * Specifies the Person who edited the CreativeWork.
580
     *
581
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $editor
582
     *
583
     * @return static
584
     *
585
     * @see http://schema.org/editor
586
     */
587
    public function editor($editor)
588
    {
589
        return $this->setProperty('editor', $editor);
590
    }
591
592
    /**
593
     * An alignment to an established educational framework.
594
     *
595
     * @param \Spatie\SchemaOrg\Contracts\AlignmentObjectContract|\Spatie\SchemaOrg\Contracts\AlignmentObjectContract[] $educationalAlignment
596
     *
597
     * @return static
598
     *
599
     * @see http://schema.org/educationalAlignment
600
     */
601
    public function educationalAlignment($educationalAlignment)
602
    {
603
        return $this->setProperty('educationalAlignment', $educationalAlignment);
604
    }
605
606
    /**
607
     * The purpose of a work in the context of education; for example,
608
     * 'assignment', 'group work'.
609
     *
610
     * @param string|string[] $educationalUse
611
     *
612
     * @return static
613
     *
614
     * @see http://schema.org/educationalUse
615
     */
616
    public function educationalUse($educationalUse)
617
    {
618
        return $this->setProperty('educationalUse', $educationalUse);
619
    }
620
621
    /**
622
     * A media object that encodes this CreativeWork. This property is a synonym
623
     * for associatedMedia.
624
     *
625
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encoding
626
     *
627
     * @return static
628
     *
629
     * @see http://schema.org/encoding
630
     */
631
    public function encoding($encoding)
632
    {
633
        return $this->setProperty('encoding', $encoding);
634
    }
635
636
    /**
637
     * Media type typically expressed using a MIME format (see [IANA
638
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml) and
639
     * [MDN
640
     * reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types))
641
     * e.g. application/zip for a SoftwareApplication binary, audio/mpeg for
642
     * .mp3 etc.).
643
     * 
644
     * In cases where a [[CreativeWork]] has several media type representations,
645
     * [[encoding]] can be used to indicate each [[MediaObject]] alongside
646
     * particular [[encodingFormat]] information.
647
     * 
648
     * Unregistered or niche encoding and file formats can be indicated instead
649
     * via the most appropriate URL, e.g. defining Web page or a
650
     * Wikipedia/Wikidata entry.
651
     *
652
     * @param string|string[] $encodingFormat
653
     *
654
     * @return static
655
     *
656
     * @see http://schema.org/encodingFormat
657
     */
658
    public function encodingFormat($encodingFormat)
659
    {
660
        return $this->setProperty('encodingFormat', $encodingFormat);
661
    }
662
663
    /**
664
     * A media object that encodes this CreativeWork.
665
     *
666
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encodings
667
     *
668
     * @return static
669
     *
670
     * @see http://schema.org/encodings
671
     */
672
    public function encodings($encodings)
673
    {
674
        return $this->setProperty('encodings', $encodings);
675
    }
676
677
    /**
678
     * The end date and time of the item (in [ISO 8601 date
679
     * format](http://en.wikipedia.org/wiki/ISO_8601)).
680
     *
681
     * @param \DateTimeInterface|\DateTimeInterface[] $endDate
682
     *
683
     * @return static
684
     *
685
     * @see http://schema.org/endDate
686
     */
687
    public function endDate($endDate)
688
    {
689
        return $this->setProperty('endDate', $endDate);
690
    }
691
692
    /**
693
     * An episode of a tv, radio or game media within a series or season.
694
     *
695
     * @param \Spatie\SchemaOrg\Contracts\EpisodeContract|\Spatie\SchemaOrg\Contracts\EpisodeContract[] $episode
696
     *
697
     * @return static
698
     *
699
     * @see http://schema.org/episode
700
     */
701
    public function episode($episode)
702
    {
703
        return $this->setProperty('episode', $episode);
704
    }
705
706
    /**
707
     * An episode of a TV/radio series or season.
708
     *
709
     * @param \Spatie\SchemaOrg\Contracts\EpisodeContract|\Spatie\SchemaOrg\Contracts\EpisodeContract[] $episodes
710
     *
711
     * @return static
712
     *
713
     * @see http://schema.org/episodes
714
     */
715
    public function episodes($episodes)
716
    {
717
        return $this->setProperty('episodes', $episodes);
718
    }
719
720
    /**
721
     * A creative work that this work is an
722
     * example/instance/realization/derivation of.
723
     *
724
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $exampleOfWork
725
     *
726
     * @return static
727
     *
728
     * @see http://schema.org/exampleOfWork
729
     */
730
    public function exampleOfWork($exampleOfWork)
731
    {
732
        return $this->setProperty('exampleOfWork', $exampleOfWork);
733
    }
734
735
    /**
736
     * Date the content expires and is no longer useful or available. For
737
     * example a [[VideoObject]] or [[NewsArticle]] whose availability or
738
     * relevance is time-limited, or a [[ClaimReview]] fact check whose
739
     * publisher wants to indicate that it may no longer be relevant (or helpful
740
     * to highlight) after some date.
741
     *
742
     * @param \DateTimeInterface|\DateTimeInterface[] $expires
743
     *
744
     * @return static
745
     *
746
     * @see http://schema.org/expires
747
     */
748
    public function expires($expires)
749
    {
750
        return $this->setProperty('expires', $expires);
751
    }
752
753
    /**
754
     * Media type, typically MIME format (see [IANA
755
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml)) of
756
     * the content e.g. application/zip of a SoftwareApplication binary. In
757
     * cases where a CreativeWork has several media type representations,
758
     * 'encoding' can be used to indicate each MediaObject alongside particular
759
     * fileFormat information. Unregistered or niche file formats can be
760
     * indicated instead via the most appropriate URL, e.g. defining Web page or
761
     * a Wikipedia entry.
762
     *
763
     * @param string|string[] $fileFormat
764
     *
765
     * @return static
766
     *
767
     * @see http://schema.org/fileFormat
768
     */
769
    public function fileFormat($fileFormat)
770
    {
771
        return $this->setProperty('fileFormat', $fileFormat);
772
    }
773
774
    /**
775
     * A person or organization that supports (sponsors) something through some
776
     * kind of financial contribution.
777
     *
778
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $funder
779
     *
780
     * @return static
781
     *
782
     * @see http://schema.org/funder
783
     */
784
    public function funder($funder)
785
    {
786
        return $this->setProperty('funder', $funder);
787
    }
788
789
    /**
790
     * Genre of the creative work, broadcast channel or group.
791
     *
792
     * @param string|string[] $genre
793
     *
794
     * @return static
795
     *
796
     * @see http://schema.org/genre
797
     */
798
    public function genre($genre)
799
    {
800
        return $this->setProperty('genre', $genre);
801
    }
802
803
    /**
804
     * Indicates an item or CreativeWork that is part of this item, or
805
     * CreativeWork (in some sense).
806
     *
807
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $hasPart
808
     *
809
     * @return static
810
     *
811
     * @see http://schema.org/hasPart
812
     */
813
    public function hasPart($hasPart)
814
    {
815
        return $this->setProperty('hasPart', $hasPart);
816
    }
817
818
    /**
819
     * Headline of the article.
820
     *
821
     * @param string|string[] $headline
822
     *
823
     * @return static
824
     *
825
     * @see http://schema.org/headline
826
     */
827
    public function headline($headline)
828
    {
829
        return $this->setProperty('headline', $headline);
830
    }
831
832
    /**
833
     * The identifier property represents any kind of identifier for any kind of
834
     * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides
835
     * dedicated properties for representing many of these, either as textual
836
     * strings or as URL (URI) links. See [background
837
     * notes](/docs/datamodel.html#identifierBg) for more details.
838
     *
839
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier
840
     *
841
     * @return static
842
     *
843
     * @see http://schema.org/identifier
844
     */
845
    public function identifier($identifier)
846
    {
847
        return $this->setProperty('identifier', $identifier);
848
    }
849
850
    /**
851
     * An image of the item. This can be a [[URL]] or a fully described
852
     * [[ImageObject]].
853
     *
854
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image
855
     *
856
     * @return static
857
     *
858
     * @see http://schema.org/image
859
     */
860
    public function image($image)
861
    {
862
        return $this->setProperty('image', $image);
863
    }
864
865
    /**
866
     * The language of the content or performance or used in an action. Please
867
     * use one of the language codes from the [IETF BCP 47
868
     * standard](http://tools.ietf.org/html/bcp47). See also
869
     * [[availableLanguage]].
870
     *
871
     * @param \Spatie\SchemaOrg\Contracts\LanguageContract|\Spatie\SchemaOrg\Contracts\LanguageContract[]|string|string[] $inLanguage
872
     *
873
     * @return static
874
     *
875
     * @see http://schema.org/inLanguage
876
     */
877
    public function inLanguage($inLanguage)
878
    {
879
        return $this->setProperty('inLanguage', $inLanguage);
880
    }
881
882
    /**
883
     * The number of interactions for the CreativeWork using the WebSite or
884
     * SoftwareApplication. The most specific child type of InteractionCounter
885
     * should be used.
886
     *
887
     * @param \Spatie\SchemaOrg\Contracts\InteractionCounterContract|\Spatie\SchemaOrg\Contracts\InteractionCounterContract[] $interactionStatistic
888
     *
889
     * @return static
890
     *
891
     * @see http://schema.org/interactionStatistic
892
     */
893
    public function interactionStatistic($interactionStatistic)
894
    {
895
        return $this->setProperty('interactionStatistic', $interactionStatistic);
896
    }
897
898
    /**
899
     * The predominant mode of learning supported by the learning resource.
900
     * Acceptable values are 'active', 'expositive', or 'mixed'.
901
     *
902
     * @param string|string[] $interactivityType
903
     *
904
     * @return static
905
     *
906
     * @see http://schema.org/interactivityType
907
     */
908
    public function interactivityType($interactivityType)
909
    {
910
        return $this->setProperty('interactivityType', $interactivityType);
911
    }
912
913
    /**
914
     * A flag to signal that the item, event, or place is accessible for free.
915
     *
916
     * @param bool|bool[] $isAccessibleForFree
917
     *
918
     * @return static
919
     *
920
     * @see http://schema.org/isAccessibleForFree
921
     */
922
    public function isAccessibleForFree($isAccessibleForFree)
923
    {
924
        return $this->setProperty('isAccessibleForFree', $isAccessibleForFree);
925
    }
926
927
    /**
928
     * A resource from which this work is derived or from which it is a
929
     * modification or adaption.
930
     *
931
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOn
932
     *
933
     * @return static
934
     *
935
     * @see http://schema.org/isBasedOn
936
     */
937
    public function isBasedOn($isBasedOn)
938
    {
939
        return $this->setProperty('isBasedOn', $isBasedOn);
940
    }
941
942
    /**
943
     * A resource that was used in the creation of this resource. This term can
944
     * be repeated for multiple sources. For example,
945
     * http://example.com/great-multiplication-intro.html.
946
     *
947
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOnUrl
948
     *
949
     * @return static
950
     *
951
     * @see http://schema.org/isBasedOnUrl
952
     */
953
    public function isBasedOnUrl($isBasedOnUrl)
954
    {
955
        return $this->setProperty('isBasedOnUrl', $isBasedOnUrl);
956
    }
957
958
    /**
959
     * Indicates whether this content is family friendly.
960
     *
961
     * @param bool|bool[] $isFamilyFriendly
962
     *
963
     * @return static
964
     *
965
     * @see http://schema.org/isFamilyFriendly
966
     */
967
    public function isFamilyFriendly($isFamilyFriendly)
968
    {
969
        return $this->setProperty('isFamilyFriendly', $isFamilyFriendly);
970
    }
971
972
    /**
973
     * Indicates an item or CreativeWork that this item, or CreativeWork (in
974
     * some sense), is part of.
975
     *
976
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $isPartOf
977
     *
978
     * @return static
979
     *
980
     * @see http://schema.org/isPartOf
981
     */
982
    public function isPartOf($isPartOf)
983
    {
984
        return $this->setProperty('isPartOf', $isPartOf);
985
    }
986
987
    /**
988
     * Keywords or tags used to describe this content. Multiple entries in a
989
     * keywords list are typically delimited by commas.
990
     *
991
     * @param string|string[] $keywords
992
     *
993
     * @return static
994
     *
995
     * @see http://schema.org/keywords
996
     */
997
    public function keywords($keywords)
998
    {
999
        return $this->setProperty('keywords', $keywords);
1000
    }
1001
1002
    /**
1003
     * The predominant type or kind characterizing the learning resource. For
1004
     * example, 'presentation', 'handout'.
1005
     *
1006
     * @param string|string[] $learningResourceType
1007
     *
1008
     * @return static
1009
     *
1010
     * @see http://schema.org/learningResourceType
1011
     */
1012
    public function learningResourceType($learningResourceType)
1013
    {
1014
        return $this->setProperty('learningResourceType', $learningResourceType);
1015
    }
1016
1017
    /**
1018
     * A license document that applies to this content, typically indicated by
1019
     * URL.
1020
     *
1021
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $license
1022
     *
1023
     * @return static
1024
     *
1025
     * @see http://schema.org/license
1026
     */
1027
    public function license($license)
1028
    {
1029
        return $this->setProperty('license', $license);
1030
    }
1031
1032
    /**
1033
     * The location where the CreativeWork was created, which may not be the
1034
     * same as the location depicted in the CreativeWork.
1035
     *
1036
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $locationCreated
1037
     *
1038
     * @return static
1039
     *
1040
     * @see http://schema.org/locationCreated
1041
     */
1042
    public function locationCreated($locationCreated)
1043
    {
1044
        return $this->setProperty('locationCreated', $locationCreated);
1045
    }
1046
1047
    /**
1048
     * Indicates the primary entity described in some page or other
1049
     * CreativeWork.
1050
     *
1051
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mainEntity
1052
     *
1053
     * @return static
1054
     *
1055
     * @see http://schema.org/mainEntity
1056
     */
1057
    public function mainEntity($mainEntity)
1058
    {
1059
        return $this->setProperty('mainEntity', $mainEntity);
1060
    }
1061
1062
    /**
1063
     * Indicates a page (or other CreativeWork) for which this thing is the main
1064
     * entity being described. See [background
1065
     * notes](/docs/datamodel.html#mainEntityBackground) for details.
1066
     *
1067
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage
1068
     *
1069
     * @return static
1070
     *
1071
     * @see http://schema.org/mainEntityOfPage
1072
     */
1073
    public function mainEntityOfPage($mainEntityOfPage)
1074
    {
1075
        return $this->setProperty('mainEntityOfPage', $mainEntityOfPage);
1076
    }
1077
1078
    /**
1079
     * A material that something is made from, e.g. leather, wool, cotton,
1080
     * paper.
1081
     *
1082
     * @param \Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $material
1083
     *
1084
     * @return static
1085
     *
1086
     * @see http://schema.org/material
1087
     */
1088
    public function material($material)
1089
    {
1090
        return $this->setProperty('material', $material);
1091
    }
1092
1093
    /**
1094
     * Indicates that the CreativeWork contains a reference to, but is not
1095
     * necessarily about a concept.
1096
     *
1097
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mentions
1098
     *
1099
     * @return static
1100
     *
1101
     * @see http://schema.org/mentions
1102
     */
1103
    public function mentions($mentions)
1104
    {
1105
        return $this->setProperty('mentions', $mentions);
1106
    }
1107
1108
    /**
1109
     * The name of the item.
1110
     *
1111
     * @param string|string[] $name
1112
     *
1113
     * @return static
1114
     *
1115
     * @see http://schema.org/name
1116
     */
1117
    public function name($name)
1118
    {
1119
        return $this->setProperty('name', $name);
1120
    }
1121
1122
    /**
1123
     * The number of episodes in this season or series.
1124
     *
1125
     * @param int|int[] $numberOfEpisodes
1126
     *
1127
     * @return static
1128
     *
1129
     * @see http://schema.org/numberOfEpisodes
1130
     */
1131
    public function numberOfEpisodes($numberOfEpisodes)
1132
    {
1133
        return $this->setProperty('numberOfEpisodes', $numberOfEpisodes);
1134
    }
1135
1136
    /**
1137
     * An offer to provide this item—for example, an offer to sell a
1138
     * product, rent the DVD of a movie, perform a service, or give away tickets
1139
     * to an event. Use [[businessFunction]] to indicate the kind of transaction
1140
     * offered, i.e. sell, lease, etc. This property can also be used to
1141
     * describe a [[Demand]]. While this property is listed as expected on a
1142
     * number of common types, it can be used in others. In that case, using a
1143
     * second type, such as Product or a subtype of Product, can clarify the
1144
     * nature of the offer.
1145
     *
1146
     * @param \Spatie\SchemaOrg\Contracts\DemandContract|\Spatie\SchemaOrg\Contracts\DemandContract[]|\Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $offers
1147
     *
1148
     * @return static
1149
     *
1150
     * @see http://schema.org/offers
1151
     */
1152
    public function offers($offers)
1153
    {
1154
        return $this->setProperty('offers', $offers);
1155
    }
1156
1157
    /**
1158
     * The series to which this episode or season belongs.
1159
     *
1160
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkSeriesContract|\Spatie\SchemaOrg\Contracts\CreativeWorkSeriesContract[] $partOfSeries
1161
     *
1162
     * @return static
1163
     *
1164
     * @see http://schema.org/partOfSeries
1165
     */
1166
    public function partOfSeries($partOfSeries)
1167
    {
1168
        return $this->setProperty('partOfSeries', $partOfSeries);
1169
    }
1170
1171
    /**
1172
     * The position of an item in a series or sequence of items.
1173
     *
1174
     * @param int|int[]|string|string[] $position
1175
     *
1176
     * @return static
1177
     *
1178
     * @see http://schema.org/position
1179
     */
1180
    public function position($position)
1181
    {
1182
        return $this->setProperty('position', $position);
1183
    }
1184
1185
    /**
1186
     * Indicates a potential Action, which describes an idealized action in
1187
     * which this thing would play an 'object' role.
1188
     *
1189
     * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction
1190
     *
1191
     * @return static
1192
     *
1193
     * @see http://schema.org/potentialAction
1194
     */
1195
    public function potentialAction($potentialAction)
1196
    {
1197
        return $this->setProperty('potentialAction', $potentialAction);
1198
    }
1199
1200
    /**
1201
     * The person or organization who produced the work (e.g. music album,
1202
     * movie, tv/radio series etc.).
1203
     *
1204
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $producer
1205
     *
1206
     * @return static
1207
     *
1208
     * @see http://schema.org/producer
1209
     */
1210
    public function producer($producer)
1211
    {
1212
        return $this->setProperty('producer', $producer);
1213
    }
1214
1215
    /**
1216
     * The production company or studio responsible for the item e.g. series,
1217
     * video game, episode etc.
1218
     *
1219
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $productionCompany
1220
     *
1221
     * @return static
1222
     *
1223
     * @see http://schema.org/productionCompany
1224
     */
1225
    public function productionCompany($productionCompany)
1226
    {
1227
        return $this->setProperty('productionCompany', $productionCompany);
1228
    }
1229
1230
    /**
1231
     * The service provider, service operator, or service performer; the goods
1232
     * producer. Another party (a seller) may offer those services or goods on
1233
     * behalf of the provider. A provider may also serve as the seller.
1234
     *
1235
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $provider
1236
     *
1237
     * @return static
1238
     *
1239
     * @see http://schema.org/provider
1240
     */
1241
    public function provider($provider)
1242
    {
1243
        return $this->setProperty('provider', $provider);
1244
    }
1245
1246
    /**
1247
     * A publication event associated with the item.
1248
     *
1249
     * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $publication
1250
     *
1251
     * @return static
1252
     *
1253
     * @see http://schema.org/publication
1254
     */
1255
    public function publication($publication)
1256
    {
1257
        return $this->setProperty('publication', $publication);
1258
    }
1259
1260
    /**
1261
     * The publisher of the creative work.
1262
     *
1263
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $publisher
1264
     *
1265
     * @return static
1266
     *
1267
     * @see http://schema.org/publisher
1268
     */
1269
    public function publisher($publisher)
1270
    {
1271
        return $this->setProperty('publisher', $publisher);
1272
    }
1273
1274
    /**
1275
     * The publishingPrinciples property indicates (typically via [[URL]]) a
1276
     * document describing the editorial principles of an [[Organization]] (or
1277
     * individual e.g. a [[Person]] writing a blog) that relate to their
1278
     * activities as a publisher, e.g. ethics or diversity policies. When
1279
     * applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are
1280
     * those of the party primarily responsible for the creation of the
1281
     * [[CreativeWork]].
1282
     * 
1283
     * While such policies are most typically expressed in natural language,
1284
     * sometimes related information (e.g. indicating a [[funder]]) can be
1285
     * expressed using schema.org terminology.
1286
     *
1287
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $publishingPrinciples
1288
     *
1289
     * @return static
1290
     *
1291
     * @see http://schema.org/publishingPrinciples
1292
     */
1293
    public function publishingPrinciples($publishingPrinciples)
1294
    {
1295
        return $this->setProperty('publishingPrinciples', $publishingPrinciples);
1296
    }
1297
1298
    /**
1299
     * The Event where the CreativeWork was recorded. The CreativeWork may
1300
     * capture all or part of the event.
1301
     *
1302
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $recordedAt
1303
     *
1304
     * @return static
1305
     *
1306
     * @see http://schema.org/recordedAt
1307
     */
1308
    public function recordedAt($recordedAt)
1309
    {
1310
        return $this->setProperty('recordedAt', $recordedAt);
1311
    }
1312
1313
    /**
1314
     * The place and time the release was issued, expressed as a
1315
     * PublicationEvent.
1316
     *
1317
     * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $releasedEvent
1318
     *
1319
     * @return static
1320
     *
1321
     * @see http://schema.org/releasedEvent
1322
     */
1323
    public function releasedEvent($releasedEvent)
1324
    {
1325
        return $this->setProperty('releasedEvent', $releasedEvent);
1326
    }
1327
1328
    /**
1329
     * A review of the item.
1330
     *
1331
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $review
1332
     *
1333
     * @return static
1334
     *
1335
     * @see http://schema.org/review
1336
     */
1337
    public function review($review)
1338
    {
1339
        return $this->setProperty('review', $review);
1340
    }
1341
1342
    /**
1343
     * Review of the item.
1344
     *
1345
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $reviews
1346
     *
1347
     * @return static
1348
     *
1349
     * @see http://schema.org/reviews
1350
     */
1351
    public function reviews($reviews)
1352
    {
1353
        return $this->setProperty('reviews', $reviews);
1354
    }
1355
1356
    /**
1357
     * URL of a reference Web page that unambiguously indicates the item's
1358
     * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or
1359
     * official website.
1360
     *
1361
     * @param string|string[] $sameAs
1362
     *
1363
     * @return static
1364
     *
1365
     * @see http://schema.org/sameAs
1366
     */
1367
    public function sameAs($sameAs)
1368
    {
1369
        return $this->setProperty('sameAs', $sameAs);
1370
    }
1371
1372
    /**
1373
     * Indicates (by URL or string) a particular version of a schema used in
1374
     * some CreativeWork. For example, a document could declare a schemaVersion
1375
     * using an URL such as http://schema.org/version/2.0/ if precise indication
1376
     * of schema version was required by some application.
1377
     *
1378
     * @param string|string[] $schemaVersion
1379
     *
1380
     * @return static
1381
     *
1382
     * @see http://schema.org/schemaVersion
1383
     */
1384
    public function schemaVersion($schemaVersion)
1385
    {
1386
        return $this->setProperty('schemaVersion', $schemaVersion);
1387
    }
1388
1389
    /**
1390
     * Position of the season within an ordered group of seasons.
1391
     *
1392
     * @param int|int[]|string|string[] $seasonNumber
1393
     *
1394
     * @return static
1395
     *
1396
     * @see http://schema.org/seasonNumber
1397
     */
1398
    public function seasonNumber($seasonNumber)
1399
    {
1400
        return $this->setProperty('seasonNumber', $seasonNumber);
1401
    }
1402
1403
    /**
1404
     * The Organization on whose behalf the creator was working.
1405
     *
1406
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $sourceOrganization
1407
     *
1408
     * @return static
1409
     *
1410
     * @see http://schema.org/sourceOrganization
1411
     */
1412
    public function sourceOrganization($sourceOrganization)
1413
    {
1414
        return $this->setProperty('sourceOrganization', $sourceOrganization);
1415
    }
1416
1417
    /**
1418
     * The "spatial" property can be used in cases when more specific properties
1419
     * (e.g. [[locationCreated]], [[spatialCoverage]], [[contentLocation]]) are
1420
     * not known to be appropriate.
1421
     *
1422
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatial
1423
     *
1424
     * @return static
1425
     *
1426
     * @see http://schema.org/spatial
1427
     */
1428
    public function spatial($spatial)
1429
    {
1430
        return $this->setProperty('spatial', $spatial);
1431
    }
1432
1433
    /**
1434
     * The spatialCoverage of a CreativeWork indicates the place(s) which are
1435
     * the focus of the content. It is a subproperty of
1436
     *       contentLocation intended primarily for more technical and detailed
1437
     * materials. For example with a Dataset, it indicates
1438
     *       areas that the dataset describes: a dataset of New York weather
1439
     * would have spatialCoverage which was the place: the state of New York.
1440
     *
1441
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatialCoverage
1442
     *
1443
     * @return static
1444
     *
1445
     * @see http://schema.org/spatialCoverage
1446
     */
1447
    public function spatialCoverage($spatialCoverage)
1448
    {
1449
        return $this->setProperty('spatialCoverage', $spatialCoverage);
1450
    }
1451
1452
    /**
1453
     * A person or organization that supports a thing through a pledge, promise,
1454
     * or financial contribution. e.g. a sponsor of a Medical Study or a
1455
     * corporate sponsor of an event.
1456
     *
1457
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $sponsor
1458
     *
1459
     * @return static
1460
     *
1461
     * @see http://schema.org/sponsor
1462
     */
1463
    public function sponsor($sponsor)
1464
    {
1465
        return $this->setProperty('sponsor', $sponsor);
1466
    }
1467
1468
    /**
1469
     * The start date and time of the item (in [ISO 8601 date
1470
     * format](http://en.wikipedia.org/wiki/ISO_8601)).
1471
     *
1472
     * @param \DateTimeInterface|\DateTimeInterface[] $startDate
1473
     *
1474
     * @return static
1475
     *
1476
     * @see http://schema.org/startDate
1477
     */
1478
    public function startDate($startDate)
1479
    {
1480
        return $this->setProperty('startDate', $startDate);
1481
    }
1482
1483
    /**
1484
     * A CreativeWork or Event about this Thing.
1485
     *
1486
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf
1487
     *
1488
     * @return static
1489
     *
1490
     * @see http://schema.org/subjectOf
1491
     */
1492
    public function subjectOf($subjectOf)
1493
    {
1494
        return $this->setProperty('subjectOf', $subjectOf);
1495
    }
1496
1497
    /**
1498
     * The "temporal" property can be used in cases where more specific
1499
     * properties
1500
     * (e.g. [[temporalCoverage]], [[dateCreated]], [[dateModified]],
1501
     * [[datePublished]]) are not known to be appropriate.
1502
     *
1503
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporal
1504
     *
1505
     * @return static
1506
     *
1507
     * @see http://schema.org/temporal
1508
     */
1509
    public function temporal($temporal)
1510
    {
1511
        return $this->setProperty('temporal', $temporal);
1512
    }
1513
1514
    /**
1515
     * The temporalCoverage of a CreativeWork indicates the period that the
1516
     * content applies to, i.e. that it describes, either as a DateTime or as a
1517
     * textual string indicating a time period in [ISO 8601 time interval
1518
     * format](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals). In
1519
     *       the case of a Dataset it will typically indicate the relevant time
1520
     * period in a precise notation (e.g. for a 2011 census dataset, the year
1521
     * 2011 would be written "2011/2012"). Other forms of content e.g.
1522
     * ScholarlyArticle, Book, TVSeries or TVEpisode may indicate their
1523
     * temporalCoverage in broader terms - textually or via well-known URL.
1524
     *       Written works such as books may sometimes have precise temporal
1525
     * coverage too, e.g. a work set in 1939 - 1945 can be indicated in ISO 8601
1526
     * interval format format via "1939/1945".
1527
     * 
1528
     * Open-ended date ranges can be written with ".." in place of the end date.
1529
     * For example, "2015-11/.." indicates a range beginning in November 2015
1530
     * and with no specified final date. This is tentative and might be updated
1531
     * in future when ISO 8601 is officially updated.
1532
     *
1533
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporalCoverage
1534
     *
1535
     * @return static
1536
     *
1537
     * @see http://schema.org/temporalCoverage
1538
     */
1539
    public function temporalCoverage($temporalCoverage)
1540
    {
1541
        return $this->setProperty('temporalCoverage', $temporalCoverage);
1542
    }
1543
1544
    /**
1545
     * The textual content of this CreativeWork.
1546
     *
1547
     * @param string|string[] $text
1548
     *
1549
     * @return static
1550
     *
1551
     * @see http://schema.org/text
1552
     */
1553
    public function text($text)
1554
    {
1555
        return $this->setProperty('text', $text);
1556
    }
1557
1558
    /**
1559
     * A thumbnail image relevant to the Thing.
1560
     *
1561
     * @param string|string[] $thumbnailUrl
1562
     *
1563
     * @return static
1564
     *
1565
     * @see http://schema.org/thumbnailUrl
1566
     */
1567
    public function thumbnailUrl($thumbnailUrl)
1568
    {
1569
        return $this->setProperty('thumbnailUrl', $thumbnailUrl);
1570
    }
1571
1572
    /**
1573
     * Approximate or typical time it takes to work with or through this
1574
     * learning resource for the typical intended target audience, e.g. 'PT30M',
1575
     * 'PT1H25M'.
1576
     *
1577
     * @param \Spatie\SchemaOrg\Contracts\DurationContract|\Spatie\SchemaOrg\Contracts\DurationContract[] $timeRequired
1578
     *
1579
     * @return static
1580
     *
1581
     * @see http://schema.org/timeRequired
1582
     */
1583
    public function timeRequired($timeRequired)
1584
    {
1585
        return $this->setProperty('timeRequired', $timeRequired);
1586
    }
1587
1588
    /**
1589
     * The trailer of a movie or tv/radio series, season, episode, etc.
1590
     *
1591
     * @param \Spatie\SchemaOrg\Contracts\VideoObjectContract|\Spatie\SchemaOrg\Contracts\VideoObjectContract[] $trailer
1592
     *
1593
     * @return static
1594
     *
1595
     * @see http://schema.org/trailer
1596
     */
1597
    public function trailer($trailer)
1598
    {
1599
        return $this->setProperty('trailer', $trailer);
1600
    }
1601
1602
    /**
1603
     * Organization or person who adapts a creative work to different languages,
1604
     * regional differences and technical requirements of a target market, or
1605
     * that translates during some event.
1606
     *
1607
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $translator
1608
     *
1609
     * @return static
1610
     *
1611
     * @see http://schema.org/translator
1612
     */
1613
    public function translator($translator)
1614
    {
1615
        return $this->setProperty('translator', $translator);
1616
    }
1617
1618
    /**
1619
     * The typical expected age range, e.g. '7-9', '11-'.
1620
     *
1621
     * @param string|string[] $typicalAgeRange
1622
     *
1623
     * @return static
1624
     *
1625
     * @see http://schema.org/typicalAgeRange
1626
     */
1627
    public function typicalAgeRange($typicalAgeRange)
1628
    {
1629
        return $this->setProperty('typicalAgeRange', $typicalAgeRange);
1630
    }
1631
1632
    /**
1633
     * URL of the item.
1634
     *
1635
     * @param string|string[] $url
1636
     *
1637
     * @return static
1638
     *
1639
     * @see http://schema.org/url
1640
     */
1641
    public function url($url)
1642
    {
1643
        return $this->setProperty('url', $url);
1644
    }
1645
1646
    /**
1647
     * The version of the CreativeWork embodied by a specified resource.
1648
     *
1649
     * @param float|float[]|int|int[]|string|string[] $version
1650
     *
1651
     * @return static
1652
     *
1653
     * @see http://schema.org/version
1654
     */
1655
    public function version($version)
1656
    {
1657
        return $this->setProperty('version', $version);
1658
    }
1659
1660
    /**
1661
     * An embedded video object.
1662
     *
1663
     * @param \Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[]|\Spatie\SchemaOrg\Contracts\VideoObjectContract|\Spatie\SchemaOrg\Contracts\VideoObjectContract[] $video
1664
     *
1665
     * @return static
1666
     *
1667
     * @see http://schema.org/video
1668
     */
1669
    public function video($video)
1670
    {
1671
        return $this->setProperty('video', $video);
1672
    }
1673
1674
    /**
1675
     * Example/instance/realization/derivation of the concept of this creative
1676
     * work. eg. The paperback edition, first edition, or eBook.
1677
     *
1678
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $workExample
1679
     *
1680
     * @return static
1681
     *
1682
     * @see http://schema.org/workExample
1683
     */
1684
    public function workExample($workExample)
1685
    {
1686
        return $this->setProperty('workExample', $workExample);
1687
    }
1688
1689
}
1690

src/TVEpisode.php 1 location

@@ 16-1719 (lines=1704) @@
13
 * @see http://schema.org/TVEpisode
14
 *
15
 */
16
class TVEpisode extends BaseType implements TVEpisodeContract, CreativeWorkContract, EpisodeContract, ThingContract
17
{
18
    /**
19
     * The subject matter of the content.
20
     *
21
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $about
22
     *
23
     * @return static
24
     *
25
     * @see http://schema.org/about
26
     */
27
    public function about($about)
28
    {
29
        return $this->setProperty('about', $about);
30
    }
31
32
    /**
33
     * The human sensory perceptual system or cognitive faculty through which a
34
     * person may process or perceive information. Expected values include:
35
     * auditory, tactile, textual, visual, colorDependent, chartOnVisual,
36
     * chemOnVisual, diagramOnVisual, mathOnVisual, musicOnVisual, textOnVisual.
37
     *
38
     * @param string|string[] $accessMode
39
     *
40
     * @return static
41
     *
42
     * @see http://schema.org/accessMode
43
     */
44
    public function accessMode($accessMode)
45
    {
46
        return $this->setProperty('accessMode', $accessMode);
47
    }
48
49
    /**
50
     * A list of single or combined accessModes that are sufficient to
51
     * understand all the intellectual content of a resource. Expected values
52
     * include:  auditory, tactile, textual, visual.
53
     *
54
     * @param \Spatie\SchemaOrg\Contracts\ItemListContract|\Spatie\SchemaOrg\Contracts\ItemListContract[] $accessModeSufficient
55
     *
56
     * @return static
57
     *
58
     * @see http://schema.org/accessModeSufficient
59
     */
60
    public function accessModeSufficient($accessModeSufficient)
61
    {
62
        return $this->setProperty('accessModeSufficient', $accessModeSufficient);
63
    }
64
65
    /**
66
     * Indicates that the resource is compatible with the referenced
67
     * accessibility API ([WebSchemas wiki lists possible
68
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
69
     *
70
     * @param string|string[] $accessibilityAPI
71
     *
72
     * @return static
73
     *
74
     * @see http://schema.org/accessibilityAPI
75
     */
76
    public function accessibilityAPI($accessibilityAPI)
77
    {
78
        return $this->setProperty('accessibilityAPI', $accessibilityAPI);
79
    }
80
81
    /**
82
     * Identifies input methods that are sufficient to fully control the
83
     * described resource ([WebSchemas wiki lists possible
84
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
85
     *
86
     * @param string|string[] $accessibilityControl
87
     *
88
     * @return static
89
     *
90
     * @see http://schema.org/accessibilityControl
91
     */
92
    public function accessibilityControl($accessibilityControl)
93
    {
94
        return $this->setProperty('accessibilityControl', $accessibilityControl);
95
    }
96
97
    /**
98
     * Content features of the resource, such as accessible media, alternatives
99
     * and supported enhancements for accessibility ([WebSchemas wiki lists
100
     * possible values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
101
     *
102
     * @param string|string[] $accessibilityFeature
103
     *
104
     * @return static
105
     *
106
     * @see http://schema.org/accessibilityFeature
107
     */
108
    public function accessibilityFeature($accessibilityFeature)
109
    {
110
        return $this->setProperty('accessibilityFeature', $accessibilityFeature);
111
    }
112
113
    /**
114
     * A characteristic of the described resource that is physiologically
115
     * dangerous to some users. Related to WCAG 2.0 guideline 2.3 ([WebSchemas
116
     * wiki lists possible
117
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
118
     *
119
     * @param string|string[] $accessibilityHazard
120
     *
121
     * @return static
122
     *
123
     * @see http://schema.org/accessibilityHazard
124
     */
125
    public function accessibilityHazard($accessibilityHazard)
126
    {
127
        return $this->setProperty('accessibilityHazard', $accessibilityHazard);
128
    }
129
130
    /**
131
     * A human-readable summary of specific accessibility features or
132
     * deficiencies, consistent with the other accessibility metadata but
133
     * expressing subtleties such as "short descriptions are present but long
134
     * descriptions will be needed for non-visual users" or "short descriptions
135
     * are present and no long descriptions are needed."
136
     *
137
     * @param string|string[] $accessibilitySummary
138
     *
139
     * @return static
140
     *
141
     * @see http://schema.org/accessibilitySummary
142
     */
143
    public function accessibilitySummary($accessibilitySummary)
144
    {
145
        return $this->setProperty('accessibilitySummary', $accessibilitySummary);
146
    }
147
148
    /**
149
     * Specifies the Person that is legally accountable for the CreativeWork.
150
     *
151
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $accountablePerson
152
     *
153
     * @return static
154
     *
155
     * @see http://schema.org/accountablePerson
156
     */
157
    public function accountablePerson($accountablePerson)
158
    {
159
        return $this->setProperty('accountablePerson', $accountablePerson);
160
    }
161
162
    /**
163
     * An actor, e.g. in tv, radio, movie, video games etc., or in an event.
164
     * Actors can be associated with individual items or with a series, episode,
165
     * clip.
166
     *
167
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $actor
168
     *
169
     * @return static
170
     *
171
     * @see http://schema.org/actor
172
     */
173
    public function actor($actor)
174
    {
175
        return $this->setProperty('actor', $actor);
176
    }
177
178
    /**
179
     * An actor, e.g. in tv, radio, movie, video games etc. Actors can be
180
     * associated with individual items or with a series, episode, clip.
181
     *
182
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $actors
183
     *
184
     * @return static
185
     *
186
     * @see http://schema.org/actors
187
     */
188
    public function actors($actors)
189
    {
190
        return $this->setProperty('actors', $actors);
191
    }
192
193
    /**
194
     * An additional type for the item, typically used for adding more specific
195
     * types from external vocabularies in microdata syntax. This is a
196
     * relationship between something and a class that the thing is in. In RDFa
197
     * syntax, it is better to use the native RDFa syntax - the 'typeof'
198
     * attribute - for multiple types. Schema.org tools may have only weaker
199
     * understanding of extra types, in particular those defined externally.
200
     *
201
     * @param string|string[] $additionalType
202
     *
203
     * @return static
204
     *
205
     * @see http://schema.org/additionalType
206
     */
207
    public function additionalType($additionalType)
208
    {
209
        return $this->setProperty('additionalType', $additionalType);
210
    }
211
212
    /**
213
     * The overall rating, based on a collection of reviews or ratings, of the
214
     * item.
215
     *
216
     * @param \Spatie\SchemaOrg\Contracts\AggregateRatingContract|\Spatie\SchemaOrg\Contracts\AggregateRatingContract[] $aggregateRating
217
     *
218
     * @return static
219
     *
220
     * @see http://schema.org/aggregateRating
221
     */
222
    public function aggregateRating($aggregateRating)
223
    {
224
        return $this->setProperty('aggregateRating', $aggregateRating);
225
    }
226
227
    /**
228
     * An alias for the item.
229
     *
230
     * @param string|string[] $alternateName
231
     *
232
     * @return static
233
     *
234
     * @see http://schema.org/alternateName
235
     */
236
    public function alternateName($alternateName)
237
    {
238
        return $this->setProperty('alternateName', $alternateName);
239
    }
240
241
    /**
242
     * A secondary title of the CreativeWork.
243
     *
244
     * @param string|string[] $alternativeHeadline
245
     *
246
     * @return static
247
     *
248
     * @see http://schema.org/alternativeHeadline
249
     */
250
    public function alternativeHeadline($alternativeHeadline)
251
    {
252
        return $this->setProperty('alternativeHeadline', $alternativeHeadline);
253
    }
254
255
    /**
256
     * A media object that encodes this CreativeWork. This property is a synonym
257
     * for encoding.
258
     *
259
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $associatedMedia
260
     *
261
     * @return static
262
     *
263
     * @see http://schema.org/associatedMedia
264
     */
265
    public function associatedMedia($associatedMedia)
266
    {
267
        return $this->setProperty('associatedMedia', $associatedMedia);
268
    }
269
270
    /**
271
     * An intended audience, i.e. a group for whom something was created.
272
     *
273
     * @param \Spatie\SchemaOrg\Contracts\AudienceContract|\Spatie\SchemaOrg\Contracts\AudienceContract[] $audience
274
     *
275
     * @return static
276
     *
277
     * @see http://schema.org/audience
278
     */
279
    public function audience($audience)
280
    {
281
        return $this->setProperty('audience', $audience);
282
    }
283
284
    /**
285
     * An embedded audio object.
286
     *
287
     * @param \Spatie\SchemaOrg\Contracts\AudioObjectContract|\Spatie\SchemaOrg\Contracts\AudioObjectContract[]|\Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[] $audio
288
     *
289
     * @return static
290
     *
291
     * @see http://schema.org/audio
292
     */
293
    public function audio($audio)
294
    {
295
        return $this->setProperty('audio', $audio);
296
    }
297
298
    /**
299
     * The author of this content or rating. Please note that author is special
300
     * in that HTML 5 provides a special mechanism for indicating authorship via
301
     * the rel tag. That is equivalent to this and may be used interchangeably.
302
     *
303
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $author
304
     *
305
     * @return static
306
     *
307
     * @see http://schema.org/author
308
     */
309
    public function author($author)
310
    {
311
        return $this->setProperty('author', $author);
312
    }
313
314
    /**
315
     * An award won by or for this item.
316
     *
317
     * @param string|string[] $award
318
     *
319
     * @return static
320
     *
321
     * @see http://schema.org/award
322
     */
323
    public function award($award)
324
    {
325
        return $this->setProperty('award', $award);
326
    }
327
328
    /**
329
     * Awards won by or for this item.
330
     *
331
     * @param string|string[] $awards
332
     *
333
     * @return static
334
     *
335
     * @see http://schema.org/awards
336
     */
337
    public function awards($awards)
338
    {
339
        return $this->setProperty('awards', $awards);
340
    }
341
342
    /**
343
     * Fictional person connected with a creative work.
344
     *
345
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $character
346
     *
347
     * @return static
348
     *
349
     * @see http://schema.org/character
350
     */
351
    public function character($character)
352
    {
353
        return $this->setProperty('character', $character);
354
    }
355
356
    /**
357
     * A citation or reference to another creative work, such as another
358
     * publication, web page, scholarly article, etc.
359
     *
360
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $citation
361
     *
362
     * @return static
363
     *
364
     * @see http://schema.org/citation
365
     */
366
    public function citation($citation)
367
    {
368
        return $this->setProperty('citation', $citation);
369
    }
370
371
    /**
372
     * Comments, typically from users.
373
     *
374
     * @param \Spatie\SchemaOrg\Contracts\CommentContract|\Spatie\SchemaOrg\Contracts\CommentContract[] $comment
375
     *
376
     * @return static
377
     *
378
     * @see http://schema.org/comment
379
     */
380
    public function comment($comment)
381
    {
382
        return $this->setProperty('comment', $comment);
383
    }
384
385
    /**
386
     * The number of comments this CreativeWork (e.g. Article, Question or
387
     * Answer) has received. This is most applicable to works published in Web
388
     * sites with commenting system; additional comments may exist elsewhere.
389
     *
390
     * @param int|int[] $commentCount
391
     *
392
     * @return static
393
     *
394
     * @see http://schema.org/commentCount
395
     */
396
    public function commentCount($commentCount)
397
    {
398
        return $this->setProperty('commentCount', $commentCount);
399
    }
400
401
    /**
402
     * The location depicted or described in the content. For example, the
403
     * location in a photograph or painting.
404
     *
405
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $contentLocation
406
     *
407
     * @return static
408
     *
409
     * @see http://schema.org/contentLocation
410
     */
411
    public function contentLocation($contentLocation)
412
    {
413
        return $this->setProperty('contentLocation', $contentLocation);
414
    }
415
416
    /**
417
     * Official rating of a piece of content—for example,'MPAA PG-13'.
418
     *
419
     * @param \Spatie\SchemaOrg\Contracts\RatingContract|\Spatie\SchemaOrg\Contracts\RatingContract[]|string|string[] $contentRating
420
     *
421
     * @return static
422
     *
423
     * @see http://schema.org/contentRating
424
     */
425
    public function contentRating($contentRating)
426
    {
427
        return $this->setProperty('contentRating', $contentRating);
428
    }
429
430
    /**
431
     * A secondary contributor to the CreativeWork or Event.
432
     *
433
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $contributor
434
     *
435
     * @return static
436
     *
437
     * @see http://schema.org/contributor
438
     */
439
    public function contributor($contributor)
440
    {
441
        return $this->setProperty('contributor', $contributor);
442
    }
443
444
    /**
445
     * The party holding the legal copyright to the CreativeWork.
446
     *
447
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $copyrightHolder
448
     *
449
     * @return static
450
     *
451
     * @see http://schema.org/copyrightHolder
452
     */
453
    public function copyrightHolder($copyrightHolder)
454
    {
455
        return $this->setProperty('copyrightHolder', $copyrightHolder);
456
    }
457
458
    /**
459
     * The year during which the claimed copyright for the CreativeWork was
460
     * first asserted.
461
     *
462
     * @param float|float[]|int|int[] $copyrightYear
463
     *
464
     * @return static
465
     *
466
     * @see http://schema.org/copyrightYear
467
     */
468
    public function copyrightYear($copyrightYear)
469
    {
470
        return $this->setProperty('copyrightYear', $copyrightYear);
471
    }
472
473
    /**
474
     * The country of the principal offices of the production company or
475
     * individual responsible for the movie or program.
476
     *
477
     * @param \Spatie\SchemaOrg\Contracts\CountryContract|\Spatie\SchemaOrg\Contracts\CountryContract[] $countryOfOrigin
478
     *
479
     * @return static
480
     *
481
     * @see http://schema.org/countryOfOrigin
482
     */
483
    public function countryOfOrigin($countryOfOrigin)
484
    {
485
        return $this->setProperty('countryOfOrigin', $countryOfOrigin);
486
    }
487
488
    /**
489
     * The creator/author of this CreativeWork. This is the same as the Author
490
     * property for CreativeWork.
491
     *
492
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $creator
493
     *
494
     * @return static
495
     *
496
     * @see http://schema.org/creator
497
     */
498
    public function creator($creator)
499
    {
500
        return $this->setProperty('creator', $creator);
501
    }
502
503
    /**
504
     * The date on which the CreativeWork was created or the item was added to a
505
     * DataFeed.
506
     *
507
     * @param \DateTimeInterface|\DateTimeInterface[] $dateCreated
508
     *
509
     * @return static
510
     *
511
     * @see http://schema.org/dateCreated
512
     */
513
    public function dateCreated($dateCreated)
514
    {
515
        return $this->setProperty('dateCreated', $dateCreated);
516
    }
517
518
    /**
519
     * The date on which the CreativeWork was most recently modified or when the
520
     * item's entry was modified within a DataFeed.
521
     *
522
     * @param \DateTimeInterface|\DateTimeInterface[] $dateModified
523
     *
524
     * @return static
525
     *
526
     * @see http://schema.org/dateModified
527
     */
528
    public function dateModified($dateModified)
529
    {
530
        return $this->setProperty('dateModified', $dateModified);
531
    }
532
533
    /**
534
     * Date of first broadcast/publication.
535
     *
536
     * @param \DateTimeInterface|\DateTimeInterface[] $datePublished
537
     *
538
     * @return static
539
     *
540
     * @see http://schema.org/datePublished
541
     */
542
    public function datePublished($datePublished)
543
    {
544
        return $this->setProperty('datePublished', $datePublished);
545
    }
546
547
    /**
548
     * A description of the item.
549
     *
550
     * @param string|string[] $description
551
     *
552
     * @return static
553
     *
554
     * @see http://schema.org/description
555
     */
556
    public function description($description)
557
    {
558
        return $this->setProperty('description', $description);
559
    }
560
561
    /**
562
     * A director of e.g. tv, radio, movie, video gaming etc. content, or of an
563
     * event. Directors can be associated with individual items or with a
564
     * series, episode, clip.
565
     *
566
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $director
567
     *
568
     * @return static
569
     *
570
     * @see http://schema.org/director
571
     */
572
    public function director($director)
573
    {
574
        return $this->setProperty('director', $director);
575
    }
576
577
    /**
578
     * A director of e.g. tv, radio, movie, video games etc. content. Directors
579
     * can be associated with individual items or with a series, episode, clip.
580
     *
581
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $directors
582
     *
583
     * @return static
584
     *
585
     * @see http://schema.org/directors
586
     */
587
    public function directors($directors)
588
    {
589
        return $this->setProperty('directors', $directors);
590
    }
591
592
    /**
593
     * A sub property of description. A short description of the item used to
594
     * disambiguate from other, similar items. Information from other properties
595
     * (in particular, name) may be necessary for the description to be useful
596
     * for disambiguation.
597
     *
598
     * @param string|string[] $disambiguatingDescription
599
     *
600
     * @return static
601
     *
602
     * @see http://schema.org/disambiguatingDescription
603
     */
604
    public function disambiguatingDescription($disambiguatingDescription)
605
    {
606
        return $this->setProperty('disambiguatingDescription', $disambiguatingDescription);
607
    }
608
609
    /**
610
     * A link to the page containing the comments of the CreativeWork.
611
     *
612
     * @param string|string[] $discussionUrl
613
     *
614
     * @return static
615
     *
616
     * @see http://schema.org/discussionUrl
617
     */
618
    public function discussionUrl($discussionUrl)
619
    {
620
        return $this->setProperty('discussionUrl', $discussionUrl);
621
    }
622
623
    /**
624
     * Specifies the Person who edited the CreativeWork.
625
     *
626
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $editor
627
     *
628
     * @return static
629
     *
630
     * @see http://schema.org/editor
631
     */
632
    public function editor($editor)
633
    {
634
        return $this->setProperty('editor', $editor);
635
    }
636
637
    /**
638
     * An alignment to an established educational framework.
639
     *
640
     * @param \Spatie\SchemaOrg\Contracts\AlignmentObjectContract|\Spatie\SchemaOrg\Contracts\AlignmentObjectContract[] $educationalAlignment
641
     *
642
     * @return static
643
     *
644
     * @see http://schema.org/educationalAlignment
645
     */
646
    public function educationalAlignment($educationalAlignment)
647
    {
648
        return $this->setProperty('educationalAlignment', $educationalAlignment);
649
    }
650
651
    /**
652
     * The purpose of a work in the context of education; for example,
653
     * 'assignment', 'group work'.
654
     *
655
     * @param string|string[] $educationalUse
656
     *
657
     * @return static
658
     *
659
     * @see http://schema.org/educationalUse
660
     */
661
    public function educationalUse($educationalUse)
662
    {
663
        return $this->setProperty('educationalUse', $educationalUse);
664
    }
665
666
    /**
667
     * A media object that encodes this CreativeWork. This property is a synonym
668
     * for associatedMedia.
669
     *
670
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encoding
671
     *
672
     * @return static
673
     *
674
     * @see http://schema.org/encoding
675
     */
676
    public function encoding($encoding)
677
    {
678
        return $this->setProperty('encoding', $encoding);
679
    }
680
681
    /**
682
     * Media type typically expressed using a MIME format (see [IANA
683
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml) and
684
     * [MDN
685
     * reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types))
686
     * e.g. application/zip for a SoftwareApplication binary, audio/mpeg for
687
     * .mp3 etc.).
688
     * 
689
     * In cases where a [[CreativeWork]] has several media type representations,
690
     * [[encoding]] can be used to indicate each [[MediaObject]] alongside
691
     * particular [[encodingFormat]] information.
692
     * 
693
     * Unregistered or niche encoding and file formats can be indicated instead
694
     * via the most appropriate URL, e.g. defining Web page or a
695
     * Wikipedia/Wikidata entry.
696
     *
697
     * @param string|string[] $encodingFormat
698
     *
699
     * @return static
700
     *
701
     * @see http://schema.org/encodingFormat
702
     */
703
    public function encodingFormat($encodingFormat)
704
    {
705
        return $this->setProperty('encodingFormat', $encodingFormat);
706
    }
707
708
    /**
709
     * A media object that encodes this CreativeWork.
710
     *
711
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encodings
712
     *
713
     * @return static
714
     *
715
     * @see http://schema.org/encodings
716
     */
717
    public function encodings($encodings)
718
    {
719
        return $this->setProperty('encodings', $encodings);
720
    }
721
722
    /**
723
     * Position of the episode within an ordered group of episodes.
724
     *
725
     * @param int|int[]|string|string[] $episodeNumber
726
     *
727
     * @return static
728
     *
729
     * @see http://schema.org/episodeNumber
730
     */
731
    public function episodeNumber($episodeNumber)
732
    {
733
        return $this->setProperty('episodeNumber', $episodeNumber);
734
    }
735
736
    /**
737
     * A creative work that this work is an
738
     * example/instance/realization/derivation of.
739
     *
740
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $exampleOfWork
741
     *
742
     * @return static
743
     *
744
     * @see http://schema.org/exampleOfWork
745
     */
746
    public function exampleOfWork($exampleOfWork)
747
    {
748
        return $this->setProperty('exampleOfWork', $exampleOfWork);
749
    }
750
751
    /**
752
     * Date the content expires and is no longer useful or available. For
753
     * example a [[VideoObject]] or [[NewsArticle]] whose availability or
754
     * relevance is time-limited, or a [[ClaimReview]] fact check whose
755
     * publisher wants to indicate that it may no longer be relevant (or helpful
756
     * to highlight) after some date.
757
     *
758
     * @param \DateTimeInterface|\DateTimeInterface[] $expires
759
     *
760
     * @return static
761
     *
762
     * @see http://schema.org/expires
763
     */
764
    public function expires($expires)
765
    {
766
        return $this->setProperty('expires', $expires);
767
    }
768
769
    /**
770
     * Media type, typically MIME format (see [IANA
771
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml)) of
772
     * the content e.g. application/zip of a SoftwareApplication binary. In
773
     * cases where a CreativeWork has several media type representations,
774
     * 'encoding' can be used to indicate each MediaObject alongside particular
775
     * fileFormat information. Unregistered or niche file formats can be
776
     * indicated instead via the most appropriate URL, e.g. defining Web page or
777
     * a Wikipedia entry.
778
     *
779
     * @param string|string[] $fileFormat
780
     *
781
     * @return static
782
     *
783
     * @see http://schema.org/fileFormat
784
     */
785
    public function fileFormat($fileFormat)
786
    {
787
        return $this->setProperty('fileFormat', $fileFormat);
788
    }
789
790
    /**
791
     * A person or organization that supports (sponsors) something through some
792
     * kind of financial contribution.
793
     *
794
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $funder
795
     *
796
     * @return static
797
     *
798
     * @see http://schema.org/funder
799
     */
800
    public function funder($funder)
801
    {
802
        return $this->setProperty('funder', $funder);
803
    }
804
805
    /**
806
     * Genre of the creative work, broadcast channel or group.
807
     *
808
     * @param string|string[] $genre
809
     *
810
     * @return static
811
     *
812
     * @see http://schema.org/genre
813
     */
814
    public function genre($genre)
815
    {
816
        return $this->setProperty('genre', $genre);
817
    }
818
819
    /**
820
     * Indicates an item or CreativeWork that is part of this item, or
821
     * CreativeWork (in some sense).
822
     *
823
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $hasPart
824
     *
825
     * @return static
826
     *
827
     * @see http://schema.org/hasPart
828
     */
829
    public function hasPart($hasPart)
830
    {
831
        return $this->setProperty('hasPart', $hasPart);
832
    }
833
834
    /**
835
     * Headline of the article.
836
     *
837
     * @param string|string[] $headline
838
     *
839
     * @return static
840
     *
841
     * @see http://schema.org/headline
842
     */
843
    public function headline($headline)
844
    {
845
        return $this->setProperty('headline', $headline);
846
    }
847
848
    /**
849
     * The identifier property represents any kind of identifier for any kind of
850
     * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides
851
     * dedicated properties for representing many of these, either as textual
852
     * strings or as URL (URI) links. See [background
853
     * notes](/docs/datamodel.html#identifierBg) for more details.
854
     *
855
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier
856
     *
857
     * @return static
858
     *
859
     * @see http://schema.org/identifier
860
     */
861
    public function identifier($identifier)
862
    {
863
        return $this->setProperty('identifier', $identifier);
864
    }
865
866
    /**
867
     * An image of the item. This can be a [[URL]] or a fully described
868
     * [[ImageObject]].
869
     *
870
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image
871
     *
872
     * @return static
873
     *
874
     * @see http://schema.org/image
875
     */
876
    public function image($image)
877
    {
878
        return $this->setProperty('image', $image);
879
    }
880
881
    /**
882
     * The language of the content or performance or used in an action. Please
883
     * use one of the language codes from the [IETF BCP 47
884
     * standard](http://tools.ietf.org/html/bcp47). See also
885
     * [[availableLanguage]].
886
     *
887
     * @param \Spatie\SchemaOrg\Contracts\LanguageContract|\Spatie\SchemaOrg\Contracts\LanguageContract[]|string|string[] $inLanguage
888
     *
889
     * @return static
890
     *
891
     * @see http://schema.org/inLanguage
892
     */
893
    public function inLanguage($inLanguage)
894
    {
895
        return $this->setProperty('inLanguage', $inLanguage);
896
    }
897
898
    /**
899
     * The number of interactions for the CreativeWork using the WebSite or
900
     * SoftwareApplication. The most specific child type of InteractionCounter
901
     * should be used.
902
     *
903
     * @param \Spatie\SchemaOrg\Contracts\InteractionCounterContract|\Spatie\SchemaOrg\Contracts\InteractionCounterContract[] $interactionStatistic
904
     *
905
     * @return static
906
     *
907
     * @see http://schema.org/interactionStatistic
908
     */
909
    public function interactionStatistic($interactionStatistic)
910
    {
911
        return $this->setProperty('interactionStatistic', $interactionStatistic);
912
    }
913
914
    /**
915
     * The predominant mode of learning supported by the learning resource.
916
     * Acceptable values are 'active', 'expositive', or 'mixed'.
917
     *
918
     * @param string|string[] $interactivityType
919
     *
920
     * @return static
921
     *
922
     * @see http://schema.org/interactivityType
923
     */
924
    public function interactivityType($interactivityType)
925
    {
926
        return $this->setProperty('interactivityType', $interactivityType);
927
    }
928
929
    /**
930
     * A flag to signal that the item, event, or place is accessible for free.
931
     *
932
     * @param bool|bool[] $isAccessibleForFree
933
     *
934
     * @return static
935
     *
936
     * @see http://schema.org/isAccessibleForFree
937
     */
938
    public function isAccessibleForFree($isAccessibleForFree)
939
    {
940
        return $this->setProperty('isAccessibleForFree', $isAccessibleForFree);
941
    }
942
943
    /**
944
     * A resource from which this work is derived or from which it is a
945
     * modification or adaption.
946
     *
947
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOn
948
     *
949
     * @return static
950
     *
951
     * @see http://schema.org/isBasedOn
952
     */
953
    public function isBasedOn($isBasedOn)
954
    {
955
        return $this->setProperty('isBasedOn', $isBasedOn);
956
    }
957
958
    /**
959
     * A resource that was used in the creation of this resource. This term can
960
     * be repeated for multiple sources. For example,
961
     * http://example.com/great-multiplication-intro.html.
962
     *
963
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOnUrl
964
     *
965
     * @return static
966
     *
967
     * @see http://schema.org/isBasedOnUrl
968
     */
969
    public function isBasedOnUrl($isBasedOnUrl)
970
    {
971
        return $this->setProperty('isBasedOnUrl', $isBasedOnUrl);
972
    }
973
974
    /**
975
     * Indicates whether this content is family friendly.
976
     *
977
     * @param bool|bool[] $isFamilyFriendly
978
     *
979
     * @return static
980
     *
981
     * @see http://schema.org/isFamilyFriendly
982
     */
983
    public function isFamilyFriendly($isFamilyFriendly)
984
    {
985
        return $this->setProperty('isFamilyFriendly', $isFamilyFriendly);
986
    }
987
988
    /**
989
     * Indicates an item or CreativeWork that this item, or CreativeWork (in
990
     * some sense), is part of.
991
     *
992
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $isPartOf
993
     *
994
     * @return static
995
     *
996
     * @see http://schema.org/isPartOf
997
     */
998
    public function isPartOf($isPartOf)
999
    {
1000
        return $this->setProperty('isPartOf', $isPartOf);
1001
    }
1002
1003
    /**
1004
     * Keywords or tags used to describe this content. Multiple entries in a
1005
     * keywords list are typically delimited by commas.
1006
     *
1007
     * @param string|string[] $keywords
1008
     *
1009
     * @return static
1010
     *
1011
     * @see http://schema.org/keywords
1012
     */
1013
    public function keywords($keywords)
1014
    {
1015
        return $this->setProperty('keywords', $keywords);
1016
    }
1017
1018
    /**
1019
     * The predominant type or kind characterizing the learning resource. For
1020
     * example, 'presentation', 'handout'.
1021
     *
1022
     * @param string|string[] $learningResourceType
1023
     *
1024
     * @return static
1025
     *
1026
     * @see http://schema.org/learningResourceType
1027
     */
1028
    public function learningResourceType($learningResourceType)
1029
    {
1030
        return $this->setProperty('learningResourceType', $learningResourceType);
1031
    }
1032
1033
    /**
1034
     * A license document that applies to this content, typically indicated by
1035
     * URL.
1036
     *
1037
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $license
1038
     *
1039
     * @return static
1040
     *
1041
     * @see http://schema.org/license
1042
     */
1043
    public function license($license)
1044
    {
1045
        return $this->setProperty('license', $license);
1046
    }
1047
1048
    /**
1049
     * The location where the CreativeWork was created, which may not be the
1050
     * same as the location depicted in the CreativeWork.
1051
     *
1052
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $locationCreated
1053
     *
1054
     * @return static
1055
     *
1056
     * @see http://schema.org/locationCreated
1057
     */
1058
    public function locationCreated($locationCreated)
1059
    {
1060
        return $this->setProperty('locationCreated', $locationCreated);
1061
    }
1062
1063
    /**
1064
     * Indicates the primary entity described in some page or other
1065
     * CreativeWork.
1066
     *
1067
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mainEntity
1068
     *
1069
     * @return static
1070
     *
1071
     * @see http://schema.org/mainEntity
1072
     */
1073
    public function mainEntity($mainEntity)
1074
    {
1075
        return $this->setProperty('mainEntity', $mainEntity);
1076
    }
1077
1078
    /**
1079
     * Indicates a page (or other CreativeWork) for which this thing is the main
1080
     * entity being described. See [background
1081
     * notes](/docs/datamodel.html#mainEntityBackground) for details.
1082
     *
1083
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage
1084
     *
1085
     * @return static
1086
     *
1087
     * @see http://schema.org/mainEntityOfPage
1088
     */
1089
    public function mainEntityOfPage($mainEntityOfPage)
1090
    {
1091
        return $this->setProperty('mainEntityOfPage', $mainEntityOfPage);
1092
    }
1093
1094
    /**
1095
     * A material that something is made from, e.g. leather, wool, cotton,
1096
     * paper.
1097
     *
1098
     * @param \Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $material
1099
     *
1100
     * @return static
1101
     *
1102
     * @see http://schema.org/material
1103
     */
1104
    public function material($material)
1105
    {
1106
        return $this->setProperty('material', $material);
1107
    }
1108
1109
    /**
1110
     * Indicates that the CreativeWork contains a reference to, but is not
1111
     * necessarily about a concept.
1112
     *
1113
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mentions
1114
     *
1115
     * @return static
1116
     *
1117
     * @see http://schema.org/mentions
1118
     */
1119
    public function mentions($mentions)
1120
    {
1121
        return $this->setProperty('mentions', $mentions);
1122
    }
1123
1124
    /**
1125
     * The composer of the soundtrack.
1126
     *
1127
     * @param \Spatie\SchemaOrg\Contracts\MusicGroupContract|\Spatie\SchemaOrg\Contracts\MusicGroupContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $musicBy
1128
     *
1129
     * @return static
1130
     *
1131
     * @see http://schema.org/musicBy
1132
     */
1133
    public function musicBy($musicBy)
1134
    {
1135
        return $this->setProperty('musicBy', $musicBy);
1136
    }
1137
1138
    /**
1139
     * The name of the item.
1140
     *
1141
     * @param string|string[] $name
1142
     *
1143
     * @return static
1144
     *
1145
     * @see http://schema.org/name
1146
     */
1147
    public function name($name)
1148
    {
1149
        return $this->setProperty('name', $name);
1150
    }
1151
1152
    /**
1153
     * An offer to provide this item—for example, an offer to sell a
1154
     * product, rent the DVD of a movie, perform a service, or give away tickets
1155
     * to an event. Use [[businessFunction]] to indicate the kind of transaction
1156
     * offered, i.e. sell, lease, etc. This property can also be used to
1157
     * describe a [[Demand]]. While this property is listed as expected on a
1158
     * number of common types, it can be used in others. In that case, using a
1159
     * second type, such as Product or a subtype of Product, can clarify the
1160
     * nature of the offer.
1161
     *
1162
     * @param \Spatie\SchemaOrg\Contracts\DemandContract|\Spatie\SchemaOrg\Contracts\DemandContract[]|\Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $offers
1163
     *
1164
     * @return static
1165
     *
1166
     * @see http://schema.org/offers
1167
     */
1168
    public function offers($offers)
1169
    {
1170
        return $this->setProperty('offers', $offers);
1171
    }
1172
1173
    /**
1174
     * The season to which this episode belongs.
1175
     *
1176
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkSeasonContract|\Spatie\SchemaOrg\Contracts\CreativeWorkSeasonContract[] $partOfSeason
1177
     *
1178
     * @return static
1179
     *
1180
     * @see http://schema.org/partOfSeason
1181
     */
1182
    public function partOfSeason($partOfSeason)
1183
    {
1184
        return $this->setProperty('partOfSeason', $partOfSeason);
1185
    }
1186
1187
    /**
1188
     * The series to which this episode or season belongs.
1189
     *
1190
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkSeriesContract|\Spatie\SchemaOrg\Contracts\CreativeWorkSeriesContract[] $partOfSeries
1191
     *
1192
     * @return static
1193
     *
1194
     * @see http://schema.org/partOfSeries
1195
     */
1196
    public function partOfSeries($partOfSeries)
1197
    {
1198
        return $this->setProperty('partOfSeries', $partOfSeries);
1199
    }
1200
1201
    /**
1202
     * The TV series to which this episode or season belongs.
1203
     *
1204
     * @param \Spatie\SchemaOrg\Contracts\TVSeriesContract|\Spatie\SchemaOrg\Contracts\TVSeriesContract[] $partOfTVSeries
1205
     *
1206
     * @return static
1207
     *
1208
     * @see http://schema.org/partOfTVSeries
1209
     */
1210
    public function partOfTVSeries($partOfTVSeries)
1211
    {
1212
        return $this->setProperty('partOfTVSeries', $partOfTVSeries);
1213
    }
1214
1215
    /**
1216
     * The position of an item in a series or sequence of items.
1217
     *
1218
     * @param int|int[]|string|string[] $position
1219
     *
1220
     * @return static
1221
     *
1222
     * @see http://schema.org/position
1223
     */
1224
    public function position($position)
1225
    {
1226
        return $this->setProperty('position', $position);
1227
    }
1228
1229
    /**
1230
     * Indicates a potential Action, which describes an idealized action in
1231
     * which this thing would play an 'object' role.
1232
     *
1233
     * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction
1234
     *
1235
     * @return static
1236
     *
1237
     * @see http://schema.org/potentialAction
1238
     */
1239
    public function potentialAction($potentialAction)
1240
    {
1241
        return $this->setProperty('potentialAction', $potentialAction);
1242
    }
1243
1244
    /**
1245
     * The person or organization who produced the work (e.g. music album,
1246
     * movie, tv/radio series etc.).
1247
     *
1248
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $producer
1249
     *
1250
     * @return static
1251
     *
1252
     * @see http://schema.org/producer
1253
     */
1254
    public function producer($producer)
1255
    {
1256
        return $this->setProperty('producer', $producer);
1257
    }
1258
1259
    /**
1260
     * The production company or studio responsible for the item e.g. series,
1261
     * video game, episode etc.
1262
     *
1263
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $productionCompany
1264
     *
1265
     * @return static
1266
     *
1267
     * @see http://schema.org/productionCompany
1268
     */
1269
    public function productionCompany($productionCompany)
1270
    {
1271
        return $this->setProperty('productionCompany', $productionCompany);
1272
    }
1273
1274
    /**
1275
     * The service provider, service operator, or service performer; the goods
1276
     * producer. Another party (a seller) may offer those services or goods on
1277
     * behalf of the provider. A provider may also serve as the seller.
1278
     *
1279
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $provider
1280
     *
1281
     * @return static
1282
     *
1283
     * @see http://schema.org/provider
1284
     */
1285
    public function provider($provider)
1286
    {
1287
        return $this->setProperty('provider', $provider);
1288
    }
1289
1290
    /**
1291
     * A publication event associated with the item.
1292
     *
1293
     * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $publication
1294
     *
1295
     * @return static
1296
     *
1297
     * @see http://schema.org/publication
1298
     */
1299
    public function publication($publication)
1300
    {
1301
        return $this->setProperty('publication', $publication);
1302
    }
1303
1304
    /**
1305
     * The publisher of the creative work.
1306
     *
1307
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $publisher
1308
     *
1309
     * @return static
1310
     *
1311
     * @see http://schema.org/publisher
1312
     */
1313
    public function publisher($publisher)
1314
    {
1315
        return $this->setProperty('publisher', $publisher);
1316
    }
1317
1318
    /**
1319
     * The publishingPrinciples property indicates (typically via [[URL]]) a
1320
     * document describing the editorial principles of an [[Organization]] (or
1321
     * individual e.g. a [[Person]] writing a blog) that relate to their
1322
     * activities as a publisher, e.g. ethics or diversity policies. When
1323
     * applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are
1324
     * those of the party primarily responsible for the creation of the
1325
     * [[CreativeWork]].
1326
     * 
1327
     * While such policies are most typically expressed in natural language,
1328
     * sometimes related information (e.g. indicating a [[funder]]) can be
1329
     * expressed using schema.org terminology.
1330
     *
1331
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $publishingPrinciples
1332
     *
1333
     * @return static
1334
     *
1335
     * @see http://schema.org/publishingPrinciples
1336
     */
1337
    public function publishingPrinciples($publishingPrinciples)
1338
    {
1339
        return $this->setProperty('publishingPrinciples', $publishingPrinciples);
1340
    }
1341
1342
    /**
1343
     * The Event where the CreativeWork was recorded. The CreativeWork may
1344
     * capture all or part of the event.
1345
     *
1346
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $recordedAt
1347
     *
1348
     * @return static
1349
     *
1350
     * @see http://schema.org/recordedAt
1351
     */
1352
    public function recordedAt($recordedAt)
1353
    {
1354
        return $this->setProperty('recordedAt', $recordedAt);
1355
    }
1356
1357
    /**
1358
     * The place and time the release was issued, expressed as a
1359
     * PublicationEvent.
1360
     *
1361
     * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $releasedEvent
1362
     *
1363
     * @return static
1364
     *
1365
     * @see http://schema.org/releasedEvent
1366
     */
1367
    public function releasedEvent($releasedEvent)
1368
    {
1369
        return $this->setProperty('releasedEvent', $releasedEvent);
1370
    }
1371
1372
    /**
1373
     * A review of the item.
1374
     *
1375
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $review
1376
     *
1377
     * @return static
1378
     *
1379
     * @see http://schema.org/review
1380
     */
1381
    public function review($review)
1382
    {
1383
        return $this->setProperty('review', $review);
1384
    }
1385
1386
    /**
1387
     * Review of the item.
1388
     *
1389
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $reviews
1390
     *
1391
     * @return static
1392
     *
1393
     * @see http://schema.org/reviews
1394
     */
1395
    public function reviews($reviews)
1396
    {
1397
        return $this->setProperty('reviews', $reviews);
1398
    }
1399
1400
    /**
1401
     * URL of a reference Web page that unambiguously indicates the item's
1402
     * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or
1403
     * official website.
1404
     *
1405
     * @param string|string[] $sameAs
1406
     *
1407
     * @return static
1408
     *
1409
     * @see http://schema.org/sameAs
1410
     */
1411
    public function sameAs($sameAs)
1412
    {
1413
        return $this->setProperty('sameAs', $sameAs);
1414
    }
1415
1416
    /**
1417
     * Indicates (by URL or string) a particular version of a schema used in
1418
     * some CreativeWork. For example, a document could declare a schemaVersion
1419
     * using an URL such as http://schema.org/version/2.0/ if precise indication
1420
     * of schema version was required by some application.
1421
     *
1422
     * @param string|string[] $schemaVersion
1423
     *
1424
     * @return static
1425
     *
1426
     * @see http://schema.org/schemaVersion
1427
     */
1428
    public function schemaVersion($schemaVersion)
1429
    {
1430
        return $this->setProperty('schemaVersion', $schemaVersion);
1431
    }
1432
1433
    /**
1434
     * The Organization on whose behalf the creator was working.
1435
     *
1436
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $sourceOrganization
1437
     *
1438
     * @return static
1439
     *
1440
     * @see http://schema.org/sourceOrganization
1441
     */
1442
    public function sourceOrganization($sourceOrganization)
1443
    {
1444
        return $this->setProperty('sourceOrganization', $sourceOrganization);
1445
    }
1446
1447
    /**
1448
     * The "spatial" property can be used in cases when more specific properties
1449
     * (e.g. [[locationCreated]], [[spatialCoverage]], [[contentLocation]]) are
1450
     * not known to be appropriate.
1451
     *
1452
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatial
1453
     *
1454
     * @return static
1455
     *
1456
     * @see http://schema.org/spatial
1457
     */
1458
    public function spatial($spatial)
1459
    {
1460
        return $this->setProperty('spatial', $spatial);
1461
    }
1462
1463
    /**
1464
     * The spatialCoverage of a CreativeWork indicates the place(s) which are
1465
     * the focus of the content. It is a subproperty of
1466
     *       contentLocation intended primarily for more technical and detailed
1467
     * materials. For example with a Dataset, it indicates
1468
     *       areas that the dataset describes: a dataset of New York weather
1469
     * would have spatialCoverage which was the place: the state of New York.
1470
     *
1471
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatialCoverage
1472
     *
1473
     * @return static
1474
     *
1475
     * @see http://schema.org/spatialCoverage
1476
     */
1477
    public function spatialCoverage($spatialCoverage)
1478
    {
1479
        return $this->setProperty('spatialCoverage', $spatialCoverage);
1480
    }
1481
1482
    /**
1483
     * A person or organization that supports a thing through a pledge, promise,
1484
     * or financial contribution. e.g. a sponsor of a Medical Study or a
1485
     * corporate sponsor of an event.
1486
     *
1487
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $sponsor
1488
     *
1489
     * @return static
1490
     *
1491
     * @see http://schema.org/sponsor
1492
     */
1493
    public function sponsor($sponsor)
1494
    {
1495
        return $this->setProperty('sponsor', $sponsor);
1496
    }
1497
1498
    /**
1499
     * A CreativeWork or Event about this Thing.
1500
     *
1501
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf
1502
     *
1503
     * @return static
1504
     *
1505
     * @see http://schema.org/subjectOf
1506
     */
1507
    public function subjectOf($subjectOf)
1508
    {
1509
        return $this->setProperty('subjectOf', $subjectOf);
1510
    }
1511
1512
    /**
1513
     * Languages in which subtitles/captions are available, in [IETF BCP 47
1514
     * standard format](http://tools.ietf.org/html/bcp47).
1515
     *
1516
     * @param \Spatie\SchemaOrg\Contracts\LanguageContract|\Spatie\SchemaOrg\Contracts\LanguageContract[]|string|string[] $subtitleLanguage
1517
     *
1518
     * @return static
1519
     *
1520
     * @see http://schema.org/subtitleLanguage
1521
     */
1522
    public function subtitleLanguage($subtitleLanguage)
1523
    {
1524
        return $this->setProperty('subtitleLanguage', $subtitleLanguage);
1525
    }
1526
1527
    /**
1528
     * The "temporal" property can be used in cases where more specific
1529
     * properties
1530
     * (e.g. [[temporalCoverage]], [[dateCreated]], [[dateModified]],
1531
     * [[datePublished]]) are not known to be appropriate.
1532
     *
1533
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporal
1534
     *
1535
     * @return static
1536
     *
1537
     * @see http://schema.org/temporal
1538
     */
1539
    public function temporal($temporal)
1540
    {
1541
        return $this->setProperty('temporal', $temporal);
1542
    }
1543
1544
    /**
1545
     * The temporalCoverage of a CreativeWork indicates the period that the
1546
     * content applies to, i.e. that it describes, either as a DateTime or as a
1547
     * textual string indicating a time period in [ISO 8601 time interval
1548
     * format](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals). In
1549
     *       the case of a Dataset it will typically indicate the relevant time
1550
     * period in a precise notation (e.g. for a 2011 census dataset, the year
1551
     * 2011 would be written "2011/2012"). Other forms of content e.g.
1552
     * ScholarlyArticle, Book, TVSeries or TVEpisode may indicate their
1553
     * temporalCoverage in broader terms - textually or via well-known URL.
1554
     *       Written works such as books may sometimes have precise temporal
1555
     * coverage too, e.g. a work set in 1939 - 1945 can be indicated in ISO 8601
1556
     * interval format format via "1939/1945".
1557
     * 
1558
     * Open-ended date ranges can be written with ".." in place of the end date.
1559
     * For example, "2015-11/.." indicates a range beginning in November 2015
1560
     * and with no specified final date. This is tentative and might be updated
1561
     * in future when ISO 8601 is officially updated.
1562
     *
1563
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporalCoverage
1564
     *
1565
     * @return static
1566
     *
1567
     * @see http://schema.org/temporalCoverage
1568
     */
1569
    public function temporalCoverage($temporalCoverage)
1570
    {
1571
        return $this->setProperty('temporalCoverage', $temporalCoverage);
1572
    }
1573
1574
    /**
1575
     * The textual content of this CreativeWork.
1576
     *
1577
     * @param string|string[] $text
1578
     *
1579
     * @return static
1580
     *
1581
     * @see http://schema.org/text
1582
     */
1583
    public function text($text)
1584
    {
1585
        return $this->setProperty('text', $text);
1586
    }
1587
1588
    /**
1589
     * A thumbnail image relevant to the Thing.
1590
     *
1591
     * @param string|string[] $thumbnailUrl
1592
     *
1593
     * @return static
1594
     *
1595
     * @see http://schema.org/thumbnailUrl
1596
     */
1597
    public function thumbnailUrl($thumbnailUrl)
1598
    {
1599
        return $this->setProperty('thumbnailUrl', $thumbnailUrl);
1600
    }
1601
1602
    /**
1603
     * Approximate or typical time it takes to work with or through this
1604
     * learning resource for the typical intended target audience, e.g. 'PT30M',
1605
     * 'PT1H25M'.
1606
     *
1607
     * @param \Spatie\SchemaOrg\Contracts\DurationContract|\Spatie\SchemaOrg\Contracts\DurationContract[] $timeRequired
1608
     *
1609
     * @return static
1610
     *
1611
     * @see http://schema.org/timeRequired
1612
     */
1613
    public function timeRequired($timeRequired)
1614
    {
1615
        return $this->setProperty('timeRequired', $timeRequired);
1616
    }
1617
1618
    /**
1619
     * The trailer of a movie or tv/radio series, season, episode, etc.
1620
     *
1621
     * @param \Spatie\SchemaOrg\Contracts\VideoObjectContract|\Spatie\SchemaOrg\Contracts\VideoObjectContract[] $trailer
1622
     *
1623
     * @return static
1624
     *
1625
     * @see http://schema.org/trailer
1626
     */
1627
    public function trailer($trailer)
1628
    {
1629
        return $this->setProperty('trailer', $trailer);
1630
    }
1631
1632
    /**
1633
     * Organization or person who adapts a creative work to different languages,
1634
     * regional differences and technical requirements of a target market, or
1635
     * that translates during some event.
1636
     *
1637
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $translator
1638
     *
1639
     * @return static
1640
     *
1641
     * @see http://schema.org/translator
1642
     */
1643
    public function translator($translator)
1644
    {
1645
        return $this->setProperty('translator', $translator);
1646
    }
1647
1648
    /**
1649
     * The typical expected age range, e.g. '7-9', '11-'.
1650
     *
1651
     * @param string|string[] $typicalAgeRange
1652
     *
1653
     * @return static
1654
     *
1655
     * @see http://schema.org/typicalAgeRange
1656
     */
1657
    public function typicalAgeRange($typicalAgeRange)
1658
    {
1659
        return $this->setProperty('typicalAgeRange', $typicalAgeRange);
1660
    }
1661
1662
    /**
1663
     * URL of the item.
1664
     *
1665
     * @param string|string[] $url
1666
     *
1667
     * @return static
1668
     *
1669
     * @see http://schema.org/url
1670
     */
1671
    public function url($url)
1672
    {
1673
        return $this->setProperty('url', $url);
1674
    }
1675
1676
    /**
1677
     * The version of the CreativeWork embodied by a specified resource.
1678
     *
1679
     * @param float|float[]|int|int[]|string|string[] $version
1680
     *
1681
     * @return static
1682
     *
1683
     * @see http://schema.org/version
1684
     */
1685
    public function version($version)
1686
    {
1687
        return $this->setProperty('version', $version);
1688
    }
1689
1690
    /**
1691
     * An embedded video object.
1692
     *
1693
     * @param \Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[]|\Spatie\SchemaOrg\Contracts\VideoObjectContract|\Spatie\SchemaOrg\Contracts\VideoObjectContract[] $video
1694
     *
1695
     * @return static
1696
     *
1697
     * @see http://schema.org/video
1698
     */
1699
    public function video($video)
1700
    {
1701
        return $this->setProperty('video', $video);
1702
    }
1703
1704
    /**
1705
     * Example/instance/realization/derivation of the concept of this creative
1706
     * work. eg. The paperback edition, first edition, or eBook.
1707
     *
1708
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $workExample
1709
     *
1710
     * @return static
1711
     *
1712
     * @see http://schema.org/workExample
1713
     */
1714
    public function workExample($workExample)
1715
    {
1716
        return $this->setProperty('workExample', $workExample);
1717
    }
1718
1719
}
1720

src/TVSeason.php 1 location

@@ 16-1718 (lines=1703) @@
13
 * @see http://schema.org/TVSeason
14
 *
15
 */
16
class TVSeason extends BaseType implements TVSeasonContract, CreativeWorkContract, CreativeWorkSeasonContract, ThingContract
17
{
18
    /**
19
     * The subject matter of the content.
20
     *
21
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $about
22
     *
23
     * @return static
24
     *
25
     * @see http://schema.org/about
26
     */
27
    public function about($about)
28
    {
29
        return $this->setProperty('about', $about);
30
    }
31
32
    /**
33
     * The human sensory perceptual system or cognitive faculty through which a
34
     * person may process or perceive information. Expected values include:
35
     * auditory, tactile, textual, visual, colorDependent, chartOnVisual,
36
     * chemOnVisual, diagramOnVisual, mathOnVisual, musicOnVisual, textOnVisual.
37
     *
38
     * @param string|string[] $accessMode
39
     *
40
     * @return static
41
     *
42
     * @see http://schema.org/accessMode
43
     */
44
    public function accessMode($accessMode)
45
    {
46
        return $this->setProperty('accessMode', $accessMode);
47
    }
48
49
    /**
50
     * A list of single or combined accessModes that are sufficient to
51
     * understand all the intellectual content of a resource. Expected values
52
     * include:  auditory, tactile, textual, visual.
53
     *
54
     * @param \Spatie\SchemaOrg\Contracts\ItemListContract|\Spatie\SchemaOrg\Contracts\ItemListContract[] $accessModeSufficient
55
     *
56
     * @return static
57
     *
58
     * @see http://schema.org/accessModeSufficient
59
     */
60
    public function accessModeSufficient($accessModeSufficient)
61
    {
62
        return $this->setProperty('accessModeSufficient', $accessModeSufficient);
63
    }
64
65
    /**
66
     * Indicates that the resource is compatible with the referenced
67
     * accessibility API ([WebSchemas wiki lists possible
68
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
69
     *
70
     * @param string|string[] $accessibilityAPI
71
     *
72
     * @return static
73
     *
74
     * @see http://schema.org/accessibilityAPI
75
     */
76
    public function accessibilityAPI($accessibilityAPI)
77
    {
78
        return $this->setProperty('accessibilityAPI', $accessibilityAPI);
79
    }
80
81
    /**
82
     * Identifies input methods that are sufficient to fully control the
83
     * described resource ([WebSchemas wiki lists possible
84
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
85
     *
86
     * @param string|string[] $accessibilityControl
87
     *
88
     * @return static
89
     *
90
     * @see http://schema.org/accessibilityControl
91
     */
92
    public function accessibilityControl($accessibilityControl)
93
    {
94
        return $this->setProperty('accessibilityControl', $accessibilityControl);
95
    }
96
97
    /**
98
     * Content features of the resource, such as accessible media, alternatives
99
     * and supported enhancements for accessibility ([WebSchemas wiki lists
100
     * possible values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
101
     *
102
     * @param string|string[] $accessibilityFeature
103
     *
104
     * @return static
105
     *
106
     * @see http://schema.org/accessibilityFeature
107
     */
108
    public function accessibilityFeature($accessibilityFeature)
109
    {
110
        return $this->setProperty('accessibilityFeature', $accessibilityFeature);
111
    }
112
113
    /**
114
     * A characteristic of the described resource that is physiologically
115
     * dangerous to some users. Related to WCAG 2.0 guideline 2.3 ([WebSchemas
116
     * wiki lists possible
117
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
118
     *
119
     * @param string|string[] $accessibilityHazard
120
     *
121
     * @return static
122
     *
123
     * @see http://schema.org/accessibilityHazard
124
     */
125
    public function accessibilityHazard($accessibilityHazard)
126
    {
127
        return $this->setProperty('accessibilityHazard', $accessibilityHazard);
128
    }
129
130
    /**
131
     * A human-readable summary of specific accessibility features or
132
     * deficiencies, consistent with the other accessibility metadata but
133
     * expressing subtleties such as "short descriptions are present but long
134
     * descriptions will be needed for non-visual users" or "short descriptions
135
     * are present and no long descriptions are needed."
136
     *
137
     * @param string|string[] $accessibilitySummary
138
     *
139
     * @return static
140
     *
141
     * @see http://schema.org/accessibilitySummary
142
     */
143
    public function accessibilitySummary($accessibilitySummary)
144
    {
145
        return $this->setProperty('accessibilitySummary', $accessibilitySummary);
146
    }
147
148
    /**
149
     * Specifies the Person that is legally accountable for the CreativeWork.
150
     *
151
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $accountablePerson
152
     *
153
     * @return static
154
     *
155
     * @see http://schema.org/accountablePerson
156
     */
157
    public function accountablePerson($accountablePerson)
158
    {
159
        return $this->setProperty('accountablePerson', $accountablePerson);
160
    }
161
162
    /**
163
     * An actor, e.g. in tv, radio, movie, video games etc., or in an event.
164
     * Actors can be associated with individual items or with a series, episode,
165
     * clip.
166
     *
167
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $actor
168
     *
169
     * @return static
170
     *
171
     * @see http://schema.org/actor
172
     */
173
    public function actor($actor)
174
    {
175
        return $this->setProperty('actor', $actor);
176
    }
177
178
    /**
179
     * An additional type for the item, typically used for adding more specific
180
     * types from external vocabularies in microdata syntax. This is a
181
     * relationship between something and a class that the thing is in. In RDFa
182
     * syntax, it is better to use the native RDFa syntax - the 'typeof'
183
     * attribute - for multiple types. Schema.org tools may have only weaker
184
     * understanding of extra types, in particular those defined externally.
185
     *
186
     * @param string|string[] $additionalType
187
     *
188
     * @return static
189
     *
190
     * @see http://schema.org/additionalType
191
     */
192
    public function additionalType($additionalType)
193
    {
194
        return $this->setProperty('additionalType', $additionalType);
195
    }
196
197
    /**
198
     * The overall rating, based on a collection of reviews or ratings, of the
199
     * item.
200
     *
201
     * @param \Spatie\SchemaOrg\Contracts\AggregateRatingContract|\Spatie\SchemaOrg\Contracts\AggregateRatingContract[] $aggregateRating
202
     *
203
     * @return static
204
     *
205
     * @see http://schema.org/aggregateRating
206
     */
207
    public function aggregateRating($aggregateRating)
208
    {
209
        return $this->setProperty('aggregateRating', $aggregateRating);
210
    }
211
212
    /**
213
     * An alias for the item.
214
     *
215
     * @param string|string[] $alternateName
216
     *
217
     * @return static
218
     *
219
     * @see http://schema.org/alternateName
220
     */
221
    public function alternateName($alternateName)
222
    {
223
        return $this->setProperty('alternateName', $alternateName);
224
    }
225
226
    /**
227
     * A secondary title of the CreativeWork.
228
     *
229
     * @param string|string[] $alternativeHeadline
230
     *
231
     * @return static
232
     *
233
     * @see http://schema.org/alternativeHeadline
234
     */
235
    public function alternativeHeadline($alternativeHeadline)
236
    {
237
        return $this->setProperty('alternativeHeadline', $alternativeHeadline);
238
    }
239
240
    /**
241
     * A media object that encodes this CreativeWork. This property is a synonym
242
     * for encoding.
243
     *
244
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $associatedMedia
245
     *
246
     * @return static
247
     *
248
     * @see http://schema.org/associatedMedia
249
     */
250
    public function associatedMedia($associatedMedia)
251
    {
252
        return $this->setProperty('associatedMedia', $associatedMedia);
253
    }
254
255
    /**
256
     * An intended audience, i.e. a group for whom something was created.
257
     *
258
     * @param \Spatie\SchemaOrg\Contracts\AudienceContract|\Spatie\SchemaOrg\Contracts\AudienceContract[] $audience
259
     *
260
     * @return static
261
     *
262
     * @see http://schema.org/audience
263
     */
264
    public function audience($audience)
265
    {
266
        return $this->setProperty('audience', $audience);
267
    }
268
269
    /**
270
     * An embedded audio object.
271
     *
272
     * @param \Spatie\SchemaOrg\Contracts\AudioObjectContract|\Spatie\SchemaOrg\Contracts\AudioObjectContract[]|\Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[] $audio
273
     *
274
     * @return static
275
     *
276
     * @see http://schema.org/audio
277
     */
278
    public function audio($audio)
279
    {
280
        return $this->setProperty('audio', $audio);
281
    }
282
283
    /**
284
     * The author of this content or rating. Please note that author is special
285
     * in that HTML 5 provides a special mechanism for indicating authorship via
286
     * the rel tag. That is equivalent to this and may be used interchangeably.
287
     *
288
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $author
289
     *
290
     * @return static
291
     *
292
     * @see http://schema.org/author
293
     */
294
    public function author($author)
295
    {
296
        return $this->setProperty('author', $author);
297
    }
298
299
    /**
300
     * An award won by or for this item.
301
     *
302
     * @param string|string[] $award
303
     *
304
     * @return static
305
     *
306
     * @see http://schema.org/award
307
     */
308
    public function award($award)
309
    {
310
        return $this->setProperty('award', $award);
311
    }
312
313
    /**
314
     * Awards won by or for this item.
315
     *
316
     * @param string|string[] $awards
317
     *
318
     * @return static
319
     *
320
     * @see http://schema.org/awards
321
     */
322
    public function awards($awards)
323
    {
324
        return $this->setProperty('awards', $awards);
325
    }
326
327
    /**
328
     * Fictional person connected with a creative work.
329
     *
330
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $character
331
     *
332
     * @return static
333
     *
334
     * @see http://schema.org/character
335
     */
336
    public function character($character)
337
    {
338
        return $this->setProperty('character', $character);
339
    }
340
341
    /**
342
     * A citation or reference to another creative work, such as another
343
     * publication, web page, scholarly article, etc.
344
     *
345
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $citation
346
     *
347
     * @return static
348
     *
349
     * @see http://schema.org/citation
350
     */
351
    public function citation($citation)
352
    {
353
        return $this->setProperty('citation', $citation);
354
    }
355
356
    /**
357
     * Comments, typically from users.
358
     *
359
     * @param \Spatie\SchemaOrg\Contracts\CommentContract|\Spatie\SchemaOrg\Contracts\CommentContract[] $comment
360
     *
361
     * @return static
362
     *
363
     * @see http://schema.org/comment
364
     */
365
    public function comment($comment)
366
    {
367
        return $this->setProperty('comment', $comment);
368
    }
369
370
    /**
371
     * The number of comments this CreativeWork (e.g. Article, Question or
372
     * Answer) has received. This is most applicable to works published in Web
373
     * sites with commenting system; additional comments may exist elsewhere.
374
     *
375
     * @param int|int[] $commentCount
376
     *
377
     * @return static
378
     *
379
     * @see http://schema.org/commentCount
380
     */
381
    public function commentCount($commentCount)
382
    {
383
        return $this->setProperty('commentCount', $commentCount);
384
    }
385
386
    /**
387
     * The location depicted or described in the content. For example, the
388
     * location in a photograph or painting.
389
     *
390
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $contentLocation
391
     *
392
     * @return static
393
     *
394
     * @see http://schema.org/contentLocation
395
     */
396
    public function contentLocation($contentLocation)
397
    {
398
        return $this->setProperty('contentLocation', $contentLocation);
399
    }
400
401
    /**
402
     * Official rating of a piece of content—for example,'MPAA PG-13'.
403
     *
404
     * @param \Spatie\SchemaOrg\Contracts\RatingContract|\Spatie\SchemaOrg\Contracts\RatingContract[]|string|string[] $contentRating
405
     *
406
     * @return static
407
     *
408
     * @see http://schema.org/contentRating
409
     */
410
    public function contentRating($contentRating)
411
    {
412
        return $this->setProperty('contentRating', $contentRating);
413
    }
414
415
    /**
416
     * A secondary contributor to the CreativeWork or Event.
417
     *
418
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $contributor
419
     *
420
     * @return static
421
     *
422
     * @see http://schema.org/contributor
423
     */
424
    public function contributor($contributor)
425
    {
426
        return $this->setProperty('contributor', $contributor);
427
    }
428
429
    /**
430
     * The party holding the legal copyright to the CreativeWork.
431
     *
432
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $copyrightHolder
433
     *
434
     * @return static
435
     *
436
     * @see http://schema.org/copyrightHolder
437
     */
438
    public function copyrightHolder($copyrightHolder)
439
    {
440
        return $this->setProperty('copyrightHolder', $copyrightHolder);
441
    }
442
443
    /**
444
     * The year during which the claimed copyright for the CreativeWork was
445
     * first asserted.
446
     *
447
     * @param float|float[]|int|int[] $copyrightYear
448
     *
449
     * @return static
450
     *
451
     * @see http://schema.org/copyrightYear
452
     */
453
    public function copyrightYear($copyrightYear)
454
    {
455
        return $this->setProperty('copyrightYear', $copyrightYear);
456
    }
457
458
    /**
459
     * The country of the principal offices of the production company or
460
     * individual responsible for the movie or program.
461
     *
462
     * @param \Spatie\SchemaOrg\Contracts\CountryContract|\Spatie\SchemaOrg\Contracts\CountryContract[] $countryOfOrigin
463
     *
464
     * @return static
465
     *
466
     * @see http://schema.org/countryOfOrigin
467
     */
468
    public function countryOfOrigin($countryOfOrigin)
469
    {
470
        return $this->setProperty('countryOfOrigin', $countryOfOrigin);
471
    }
472
473
    /**
474
     * The creator/author of this CreativeWork. This is the same as the Author
475
     * property for CreativeWork.
476
     *
477
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $creator
478
     *
479
     * @return static
480
     *
481
     * @see http://schema.org/creator
482
     */
483
    public function creator($creator)
484
    {
485
        return $this->setProperty('creator', $creator);
486
    }
487
488
    /**
489
     * The date on which the CreativeWork was created or the item was added to a
490
     * DataFeed.
491
     *
492
     * @param \DateTimeInterface|\DateTimeInterface[] $dateCreated
493
     *
494
     * @return static
495
     *
496
     * @see http://schema.org/dateCreated
497
     */
498
    public function dateCreated($dateCreated)
499
    {
500
        return $this->setProperty('dateCreated', $dateCreated);
501
    }
502
503
    /**
504
     * The date on which the CreativeWork was most recently modified or when the
505
     * item's entry was modified within a DataFeed.
506
     *
507
     * @param \DateTimeInterface|\DateTimeInterface[] $dateModified
508
     *
509
     * @return static
510
     *
511
     * @see http://schema.org/dateModified
512
     */
513
    public function dateModified($dateModified)
514
    {
515
        return $this->setProperty('dateModified', $dateModified);
516
    }
517
518
    /**
519
     * Date of first broadcast/publication.
520
     *
521
     * @param \DateTimeInterface|\DateTimeInterface[] $datePublished
522
     *
523
     * @return static
524
     *
525
     * @see http://schema.org/datePublished
526
     */
527
    public function datePublished($datePublished)
528
    {
529
        return $this->setProperty('datePublished', $datePublished);
530
    }
531
532
    /**
533
     * A description of the item.
534
     *
535
     * @param string|string[] $description
536
     *
537
     * @return static
538
     *
539
     * @see http://schema.org/description
540
     */
541
    public function description($description)
542
    {
543
        return $this->setProperty('description', $description);
544
    }
545
546
    /**
547
     * A director of e.g. tv, radio, movie, video gaming etc. content, or of an
548
     * event. Directors can be associated with individual items or with a
549
     * series, episode, clip.
550
     *
551
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $director
552
     *
553
     * @return static
554
     *
555
     * @see http://schema.org/director
556
     */
557
    public function director($director)
558
    {
559
        return $this->setProperty('director', $director);
560
    }
561
562
    /**
563
     * A sub property of description. A short description of the item used to
564
     * disambiguate from other, similar items. Information from other properties
565
     * (in particular, name) may be necessary for the description to be useful
566
     * for disambiguation.
567
     *
568
     * @param string|string[] $disambiguatingDescription
569
     *
570
     * @return static
571
     *
572
     * @see http://schema.org/disambiguatingDescription
573
     */
574
    public function disambiguatingDescription($disambiguatingDescription)
575
    {
576
        return $this->setProperty('disambiguatingDescription', $disambiguatingDescription);
577
    }
578
579
    /**
580
     * A link to the page containing the comments of the CreativeWork.
581
     *
582
     * @param string|string[] $discussionUrl
583
     *
584
     * @return static
585
     *
586
     * @see http://schema.org/discussionUrl
587
     */
588
    public function discussionUrl($discussionUrl)
589
    {
590
        return $this->setProperty('discussionUrl', $discussionUrl);
591
    }
592
593
    /**
594
     * Specifies the Person who edited the CreativeWork.
595
     *
596
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $editor
597
     *
598
     * @return static
599
     *
600
     * @see http://schema.org/editor
601
     */
602
    public function editor($editor)
603
    {
604
        return $this->setProperty('editor', $editor);
605
    }
606
607
    /**
608
     * An alignment to an established educational framework.
609
     *
610
     * @param \Spatie\SchemaOrg\Contracts\AlignmentObjectContract|\Spatie\SchemaOrg\Contracts\AlignmentObjectContract[] $educationalAlignment
611
     *
612
     * @return static
613
     *
614
     * @see http://schema.org/educationalAlignment
615
     */
616
    public function educationalAlignment($educationalAlignment)
617
    {
618
        return $this->setProperty('educationalAlignment', $educationalAlignment);
619
    }
620
621
    /**
622
     * The purpose of a work in the context of education; for example,
623
     * 'assignment', 'group work'.
624
     *
625
     * @param string|string[] $educationalUse
626
     *
627
     * @return static
628
     *
629
     * @see http://schema.org/educationalUse
630
     */
631
    public function educationalUse($educationalUse)
632
    {
633
        return $this->setProperty('educationalUse', $educationalUse);
634
    }
635
636
    /**
637
     * A media object that encodes this CreativeWork. This property is a synonym
638
     * for associatedMedia.
639
     *
640
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encoding
641
     *
642
     * @return static
643
     *
644
     * @see http://schema.org/encoding
645
     */
646
    public function encoding($encoding)
647
    {
648
        return $this->setProperty('encoding', $encoding);
649
    }
650
651
    /**
652
     * Media type typically expressed using a MIME format (see [IANA
653
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml) and
654
     * [MDN
655
     * reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types))
656
     * e.g. application/zip for a SoftwareApplication binary, audio/mpeg for
657
     * .mp3 etc.).
658
     * 
659
     * In cases where a [[CreativeWork]] has several media type representations,
660
     * [[encoding]] can be used to indicate each [[MediaObject]] alongside
661
     * particular [[encodingFormat]] information.
662
     * 
663
     * Unregistered or niche encoding and file formats can be indicated instead
664
     * via the most appropriate URL, e.g. defining Web page or a
665
     * Wikipedia/Wikidata entry.
666
     *
667
     * @param string|string[] $encodingFormat
668
     *
669
     * @return static
670
     *
671
     * @see http://schema.org/encodingFormat
672
     */
673
    public function encodingFormat($encodingFormat)
674
    {
675
        return $this->setProperty('encodingFormat', $encodingFormat);
676
    }
677
678
    /**
679
     * A media object that encodes this CreativeWork.
680
     *
681
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encodings
682
     *
683
     * @return static
684
     *
685
     * @see http://schema.org/encodings
686
     */
687
    public function encodings($encodings)
688
    {
689
        return $this->setProperty('encodings', $encodings);
690
    }
691
692
    /**
693
     * The end date and time of the item (in [ISO 8601 date
694
     * format](http://en.wikipedia.org/wiki/ISO_8601)).
695
     *
696
     * @param \DateTimeInterface|\DateTimeInterface[] $endDate
697
     *
698
     * @return static
699
     *
700
     * @see http://schema.org/endDate
701
     */
702
    public function endDate($endDate)
703
    {
704
        return $this->setProperty('endDate', $endDate);
705
    }
706
707
    /**
708
     * An episode of a tv, radio or game media within a series or season.
709
     *
710
     * @param \Spatie\SchemaOrg\Contracts\EpisodeContract|\Spatie\SchemaOrg\Contracts\EpisodeContract[] $episode
711
     *
712
     * @return static
713
     *
714
     * @see http://schema.org/episode
715
     */
716
    public function episode($episode)
717
    {
718
        return $this->setProperty('episode', $episode);
719
    }
720
721
    /**
722
     * An episode of a TV/radio series or season.
723
     *
724
     * @param \Spatie\SchemaOrg\Contracts\EpisodeContract|\Spatie\SchemaOrg\Contracts\EpisodeContract[] $episodes
725
     *
726
     * @return static
727
     *
728
     * @see http://schema.org/episodes
729
     */
730
    public function episodes($episodes)
731
    {
732
        return $this->setProperty('episodes', $episodes);
733
    }
734
735
    /**
736
     * A creative work that this work is an
737
     * example/instance/realization/derivation of.
738
     *
739
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $exampleOfWork
740
     *
741
     * @return static
742
     *
743
     * @see http://schema.org/exampleOfWork
744
     */
745
    public function exampleOfWork($exampleOfWork)
746
    {
747
        return $this->setProperty('exampleOfWork', $exampleOfWork);
748
    }
749
750
    /**
751
     * Date the content expires and is no longer useful or available. For
752
     * example a [[VideoObject]] or [[NewsArticle]] whose availability or
753
     * relevance is time-limited, or a [[ClaimReview]] fact check whose
754
     * publisher wants to indicate that it may no longer be relevant (or helpful
755
     * to highlight) after some date.
756
     *
757
     * @param \DateTimeInterface|\DateTimeInterface[] $expires
758
     *
759
     * @return static
760
     *
761
     * @see http://schema.org/expires
762
     */
763
    public function expires($expires)
764
    {
765
        return $this->setProperty('expires', $expires);
766
    }
767
768
    /**
769
     * Media type, typically MIME format (see [IANA
770
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml)) of
771
     * the content e.g. application/zip of a SoftwareApplication binary. In
772
     * cases where a CreativeWork has several media type representations,
773
     * 'encoding' can be used to indicate each MediaObject alongside particular
774
     * fileFormat information. Unregistered or niche file formats can be
775
     * indicated instead via the most appropriate URL, e.g. defining Web page or
776
     * a Wikipedia entry.
777
     *
778
     * @param string|string[] $fileFormat
779
     *
780
     * @return static
781
     *
782
     * @see http://schema.org/fileFormat
783
     */
784
    public function fileFormat($fileFormat)
785
    {
786
        return $this->setProperty('fileFormat', $fileFormat);
787
    }
788
789
    /**
790
     * A person or organization that supports (sponsors) something through some
791
     * kind of financial contribution.
792
     *
793
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $funder
794
     *
795
     * @return static
796
     *
797
     * @see http://schema.org/funder
798
     */
799
    public function funder($funder)
800
    {
801
        return $this->setProperty('funder', $funder);
802
    }
803
804
    /**
805
     * Genre of the creative work, broadcast channel or group.
806
     *
807
     * @param string|string[] $genre
808
     *
809
     * @return static
810
     *
811
     * @see http://schema.org/genre
812
     */
813
    public function genre($genre)
814
    {
815
        return $this->setProperty('genre', $genre);
816
    }
817
818
    /**
819
     * Indicates an item or CreativeWork that is part of this item, or
820
     * CreativeWork (in some sense).
821
     *
822
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $hasPart
823
     *
824
     * @return static
825
     *
826
     * @see http://schema.org/hasPart
827
     */
828
    public function hasPart($hasPart)
829
    {
830
        return $this->setProperty('hasPart', $hasPart);
831
    }
832
833
    /**
834
     * Headline of the article.
835
     *
836
     * @param string|string[] $headline
837
     *
838
     * @return static
839
     *
840
     * @see http://schema.org/headline
841
     */
842
    public function headline($headline)
843
    {
844
        return $this->setProperty('headline', $headline);
845
    }
846
847
    /**
848
     * The identifier property represents any kind of identifier for any kind of
849
     * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides
850
     * dedicated properties for representing many of these, either as textual
851
     * strings or as URL (URI) links. See [background
852
     * notes](/docs/datamodel.html#identifierBg) for more details.
853
     *
854
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier
855
     *
856
     * @return static
857
     *
858
     * @see http://schema.org/identifier
859
     */
860
    public function identifier($identifier)
861
    {
862
        return $this->setProperty('identifier', $identifier);
863
    }
864
865
    /**
866
     * An image of the item. This can be a [[URL]] or a fully described
867
     * [[ImageObject]].
868
     *
869
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image
870
     *
871
     * @return static
872
     *
873
     * @see http://schema.org/image
874
     */
875
    public function image($image)
876
    {
877
        return $this->setProperty('image', $image);
878
    }
879
880
    /**
881
     * The language of the content or performance or used in an action. Please
882
     * use one of the language codes from the [IETF BCP 47
883
     * standard](http://tools.ietf.org/html/bcp47). See also
884
     * [[availableLanguage]].
885
     *
886
     * @param \Spatie\SchemaOrg\Contracts\LanguageContract|\Spatie\SchemaOrg\Contracts\LanguageContract[]|string|string[] $inLanguage
887
     *
888
     * @return static
889
     *
890
     * @see http://schema.org/inLanguage
891
     */
892
    public function inLanguage($inLanguage)
893
    {
894
        return $this->setProperty('inLanguage', $inLanguage);
895
    }
896
897
    /**
898
     * The number of interactions for the CreativeWork using the WebSite or
899
     * SoftwareApplication. The most specific child type of InteractionCounter
900
     * should be used.
901
     *
902
     * @param \Spatie\SchemaOrg\Contracts\InteractionCounterContract|\Spatie\SchemaOrg\Contracts\InteractionCounterContract[] $interactionStatistic
903
     *
904
     * @return static
905
     *
906
     * @see http://schema.org/interactionStatistic
907
     */
908
    public function interactionStatistic($interactionStatistic)
909
    {
910
        return $this->setProperty('interactionStatistic', $interactionStatistic);
911
    }
912
913
    /**
914
     * The predominant mode of learning supported by the learning resource.
915
     * Acceptable values are 'active', 'expositive', or 'mixed'.
916
     *
917
     * @param string|string[] $interactivityType
918
     *
919
     * @return static
920
     *
921
     * @see http://schema.org/interactivityType
922
     */
923
    public function interactivityType($interactivityType)
924
    {
925
        return $this->setProperty('interactivityType', $interactivityType);
926
    }
927
928
    /**
929
     * A flag to signal that the item, event, or place is accessible for free.
930
     *
931
     * @param bool|bool[] $isAccessibleForFree
932
     *
933
     * @return static
934
     *
935
     * @see http://schema.org/isAccessibleForFree
936
     */
937
    public function isAccessibleForFree($isAccessibleForFree)
938
    {
939
        return $this->setProperty('isAccessibleForFree', $isAccessibleForFree);
940
    }
941
942
    /**
943
     * A resource from which this work is derived or from which it is a
944
     * modification or adaption.
945
     *
946
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOn
947
     *
948
     * @return static
949
     *
950
     * @see http://schema.org/isBasedOn
951
     */
952
    public function isBasedOn($isBasedOn)
953
    {
954
        return $this->setProperty('isBasedOn', $isBasedOn);
955
    }
956
957
    /**
958
     * A resource that was used in the creation of this resource. This term can
959
     * be repeated for multiple sources. For example,
960
     * http://example.com/great-multiplication-intro.html.
961
     *
962
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOnUrl
963
     *
964
     * @return static
965
     *
966
     * @see http://schema.org/isBasedOnUrl
967
     */
968
    public function isBasedOnUrl($isBasedOnUrl)
969
    {
970
        return $this->setProperty('isBasedOnUrl', $isBasedOnUrl);
971
    }
972
973
    /**
974
     * Indicates whether this content is family friendly.
975
     *
976
     * @param bool|bool[] $isFamilyFriendly
977
     *
978
     * @return static
979
     *
980
     * @see http://schema.org/isFamilyFriendly
981
     */
982
    public function isFamilyFriendly($isFamilyFriendly)
983
    {
984
        return $this->setProperty('isFamilyFriendly', $isFamilyFriendly);
985
    }
986
987
    /**
988
     * Indicates an item or CreativeWork that this item, or CreativeWork (in
989
     * some sense), is part of.
990
     *
991
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $isPartOf
992
     *
993
     * @return static
994
     *
995
     * @see http://schema.org/isPartOf
996
     */
997
    public function isPartOf($isPartOf)
998
    {
999
        return $this->setProperty('isPartOf', $isPartOf);
1000
    }
1001
1002
    /**
1003
     * Keywords or tags used to describe this content. Multiple entries in a
1004
     * keywords list are typically delimited by commas.
1005
     *
1006
     * @param string|string[] $keywords
1007
     *
1008
     * @return static
1009
     *
1010
     * @see http://schema.org/keywords
1011
     */
1012
    public function keywords($keywords)
1013
    {
1014
        return $this->setProperty('keywords', $keywords);
1015
    }
1016
1017
    /**
1018
     * The predominant type or kind characterizing the learning resource. For
1019
     * example, 'presentation', 'handout'.
1020
     *
1021
     * @param string|string[] $learningResourceType
1022
     *
1023
     * @return static
1024
     *
1025
     * @see http://schema.org/learningResourceType
1026
     */
1027
    public function learningResourceType($learningResourceType)
1028
    {
1029
        return $this->setProperty('learningResourceType', $learningResourceType);
1030
    }
1031
1032
    /**
1033
     * A license document that applies to this content, typically indicated by
1034
     * URL.
1035
     *
1036
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $license
1037
     *
1038
     * @return static
1039
     *
1040
     * @see http://schema.org/license
1041
     */
1042
    public function license($license)
1043
    {
1044
        return $this->setProperty('license', $license);
1045
    }
1046
1047
    /**
1048
     * The location where the CreativeWork was created, which may not be the
1049
     * same as the location depicted in the CreativeWork.
1050
     *
1051
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $locationCreated
1052
     *
1053
     * @return static
1054
     *
1055
     * @see http://schema.org/locationCreated
1056
     */
1057
    public function locationCreated($locationCreated)
1058
    {
1059
        return $this->setProperty('locationCreated', $locationCreated);
1060
    }
1061
1062
    /**
1063
     * Indicates the primary entity described in some page or other
1064
     * CreativeWork.
1065
     *
1066
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mainEntity
1067
     *
1068
     * @return static
1069
     *
1070
     * @see http://schema.org/mainEntity
1071
     */
1072
    public function mainEntity($mainEntity)
1073
    {
1074
        return $this->setProperty('mainEntity', $mainEntity);
1075
    }
1076
1077
    /**
1078
     * Indicates a page (or other CreativeWork) for which this thing is the main
1079
     * entity being described. See [background
1080
     * notes](/docs/datamodel.html#mainEntityBackground) for details.
1081
     *
1082
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage
1083
     *
1084
     * @return static
1085
     *
1086
     * @see http://schema.org/mainEntityOfPage
1087
     */
1088
    public function mainEntityOfPage($mainEntityOfPage)
1089
    {
1090
        return $this->setProperty('mainEntityOfPage', $mainEntityOfPage);
1091
    }
1092
1093
    /**
1094
     * A material that something is made from, e.g. leather, wool, cotton,
1095
     * paper.
1096
     *
1097
     * @param \Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $material
1098
     *
1099
     * @return static
1100
     *
1101
     * @see http://schema.org/material
1102
     */
1103
    public function material($material)
1104
    {
1105
        return $this->setProperty('material', $material);
1106
    }
1107
1108
    /**
1109
     * Indicates that the CreativeWork contains a reference to, but is not
1110
     * necessarily about a concept.
1111
     *
1112
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mentions
1113
     *
1114
     * @return static
1115
     *
1116
     * @see http://schema.org/mentions
1117
     */
1118
    public function mentions($mentions)
1119
    {
1120
        return $this->setProperty('mentions', $mentions);
1121
    }
1122
1123
    /**
1124
     * The name of the item.
1125
     *
1126
     * @param string|string[] $name
1127
     *
1128
     * @return static
1129
     *
1130
     * @see http://schema.org/name
1131
     */
1132
    public function name($name)
1133
    {
1134
        return $this->setProperty('name', $name);
1135
    }
1136
1137
    /**
1138
     * The number of episodes in this season or series.
1139
     *
1140
     * @param int|int[] $numberOfEpisodes
1141
     *
1142
     * @return static
1143
     *
1144
     * @see http://schema.org/numberOfEpisodes
1145
     */
1146
    public function numberOfEpisodes($numberOfEpisodes)
1147
    {
1148
        return $this->setProperty('numberOfEpisodes', $numberOfEpisodes);
1149
    }
1150
1151
    /**
1152
     * An offer to provide this item—for example, an offer to sell a
1153
     * product, rent the DVD of a movie, perform a service, or give away tickets
1154
     * to an event. Use [[businessFunction]] to indicate the kind of transaction
1155
     * offered, i.e. sell, lease, etc. This property can also be used to
1156
     * describe a [[Demand]]. While this property is listed as expected on a
1157
     * number of common types, it can be used in others. In that case, using a
1158
     * second type, such as Product or a subtype of Product, can clarify the
1159
     * nature of the offer.
1160
     *
1161
     * @param \Spatie\SchemaOrg\Contracts\DemandContract|\Spatie\SchemaOrg\Contracts\DemandContract[]|\Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $offers
1162
     *
1163
     * @return static
1164
     *
1165
     * @see http://schema.org/offers
1166
     */
1167
    public function offers($offers)
1168
    {
1169
        return $this->setProperty('offers', $offers);
1170
    }
1171
1172
    /**
1173
     * The series to which this episode or season belongs.
1174
     *
1175
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkSeriesContract|\Spatie\SchemaOrg\Contracts\CreativeWorkSeriesContract[] $partOfSeries
1176
     *
1177
     * @return static
1178
     *
1179
     * @see http://schema.org/partOfSeries
1180
     */
1181
    public function partOfSeries($partOfSeries)
1182
    {
1183
        return $this->setProperty('partOfSeries', $partOfSeries);
1184
    }
1185
1186
    /**
1187
     * The TV series to which this episode or season belongs.
1188
     *
1189
     * @param \Spatie\SchemaOrg\Contracts\TVSeriesContract|\Spatie\SchemaOrg\Contracts\TVSeriesContract[] $partOfTVSeries
1190
     *
1191
     * @return static
1192
     *
1193
     * @see http://schema.org/partOfTVSeries
1194
     */
1195
    public function partOfTVSeries($partOfTVSeries)
1196
    {
1197
        return $this->setProperty('partOfTVSeries', $partOfTVSeries);
1198
    }
1199
1200
    /**
1201
     * The position of an item in a series or sequence of items.
1202
     *
1203
     * @param int|int[]|string|string[] $position
1204
     *
1205
     * @return static
1206
     *
1207
     * @see http://schema.org/position
1208
     */
1209
    public function position($position)
1210
    {
1211
        return $this->setProperty('position', $position);
1212
    }
1213
1214
    /**
1215
     * Indicates a potential Action, which describes an idealized action in
1216
     * which this thing would play an 'object' role.
1217
     *
1218
     * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction
1219
     *
1220
     * @return static
1221
     *
1222
     * @see http://schema.org/potentialAction
1223
     */
1224
    public function potentialAction($potentialAction)
1225
    {
1226
        return $this->setProperty('potentialAction', $potentialAction);
1227
    }
1228
1229
    /**
1230
     * The person or organization who produced the work (e.g. music album,
1231
     * movie, tv/radio series etc.).
1232
     *
1233
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $producer
1234
     *
1235
     * @return static
1236
     *
1237
     * @see http://schema.org/producer
1238
     */
1239
    public function producer($producer)
1240
    {
1241
        return $this->setProperty('producer', $producer);
1242
    }
1243
1244
    /**
1245
     * The production company or studio responsible for the item e.g. series,
1246
     * video game, episode etc.
1247
     *
1248
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $productionCompany
1249
     *
1250
     * @return static
1251
     *
1252
     * @see http://schema.org/productionCompany
1253
     */
1254
    public function productionCompany($productionCompany)
1255
    {
1256
        return $this->setProperty('productionCompany', $productionCompany);
1257
    }
1258
1259
    /**
1260
     * The service provider, service operator, or service performer; the goods
1261
     * producer. Another party (a seller) may offer those services or goods on
1262
     * behalf of the provider. A provider may also serve as the seller.
1263
     *
1264
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $provider
1265
     *
1266
     * @return static
1267
     *
1268
     * @see http://schema.org/provider
1269
     */
1270
    public function provider($provider)
1271
    {
1272
        return $this->setProperty('provider', $provider);
1273
    }
1274
1275
    /**
1276
     * A publication event associated with the item.
1277
     *
1278
     * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $publication
1279
     *
1280
     * @return static
1281
     *
1282
     * @see http://schema.org/publication
1283
     */
1284
    public function publication($publication)
1285
    {
1286
        return $this->setProperty('publication', $publication);
1287
    }
1288
1289
    /**
1290
     * The publisher of the creative work.
1291
     *
1292
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $publisher
1293
     *
1294
     * @return static
1295
     *
1296
     * @see http://schema.org/publisher
1297
     */
1298
    public function publisher($publisher)
1299
    {
1300
        return $this->setProperty('publisher', $publisher);
1301
    }
1302
1303
    /**
1304
     * The publishingPrinciples property indicates (typically via [[URL]]) a
1305
     * document describing the editorial principles of an [[Organization]] (or
1306
     * individual e.g. a [[Person]] writing a blog) that relate to their
1307
     * activities as a publisher, e.g. ethics or diversity policies. When
1308
     * applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are
1309
     * those of the party primarily responsible for the creation of the
1310
     * [[CreativeWork]].
1311
     * 
1312
     * While such policies are most typically expressed in natural language,
1313
     * sometimes related information (e.g. indicating a [[funder]]) can be
1314
     * expressed using schema.org terminology.
1315
     *
1316
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $publishingPrinciples
1317
     *
1318
     * @return static
1319
     *
1320
     * @see http://schema.org/publishingPrinciples
1321
     */
1322
    public function publishingPrinciples($publishingPrinciples)
1323
    {
1324
        return $this->setProperty('publishingPrinciples', $publishingPrinciples);
1325
    }
1326
1327
    /**
1328
     * The Event where the CreativeWork was recorded. The CreativeWork may
1329
     * capture all or part of the event.
1330
     *
1331
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $recordedAt
1332
     *
1333
     * @return static
1334
     *
1335
     * @see http://schema.org/recordedAt
1336
     */
1337
    public function recordedAt($recordedAt)
1338
    {
1339
        return $this->setProperty('recordedAt', $recordedAt);
1340
    }
1341
1342
    /**
1343
     * The place and time the release was issued, expressed as a
1344
     * PublicationEvent.
1345
     *
1346
     * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $releasedEvent
1347
     *
1348
     * @return static
1349
     *
1350
     * @see http://schema.org/releasedEvent
1351
     */
1352
    public function releasedEvent($releasedEvent)
1353
    {
1354
        return $this->setProperty('releasedEvent', $releasedEvent);
1355
    }
1356
1357
    /**
1358
     * A review of the item.
1359
     *
1360
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $review
1361
     *
1362
     * @return static
1363
     *
1364
     * @see http://schema.org/review
1365
     */
1366
    public function review($review)
1367
    {
1368
        return $this->setProperty('review', $review);
1369
    }
1370
1371
    /**
1372
     * Review of the item.
1373
     *
1374
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $reviews
1375
     *
1376
     * @return static
1377
     *
1378
     * @see http://schema.org/reviews
1379
     */
1380
    public function reviews($reviews)
1381
    {
1382
        return $this->setProperty('reviews', $reviews);
1383
    }
1384
1385
    /**
1386
     * URL of a reference Web page that unambiguously indicates the item's
1387
     * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or
1388
     * official website.
1389
     *
1390
     * @param string|string[] $sameAs
1391
     *
1392
     * @return static
1393
     *
1394
     * @see http://schema.org/sameAs
1395
     */
1396
    public function sameAs($sameAs)
1397
    {
1398
        return $this->setProperty('sameAs', $sameAs);
1399
    }
1400
1401
    /**
1402
     * Indicates (by URL or string) a particular version of a schema used in
1403
     * some CreativeWork. For example, a document could declare a schemaVersion
1404
     * using an URL such as http://schema.org/version/2.0/ if precise indication
1405
     * of schema version was required by some application.
1406
     *
1407
     * @param string|string[] $schemaVersion
1408
     *
1409
     * @return static
1410
     *
1411
     * @see http://schema.org/schemaVersion
1412
     */
1413
    public function schemaVersion($schemaVersion)
1414
    {
1415
        return $this->setProperty('schemaVersion', $schemaVersion);
1416
    }
1417
1418
    /**
1419
     * Position of the season within an ordered group of seasons.
1420
     *
1421
     * @param int|int[]|string|string[] $seasonNumber
1422
     *
1423
     * @return static
1424
     *
1425
     * @see http://schema.org/seasonNumber
1426
     */
1427
    public function seasonNumber($seasonNumber)
1428
    {
1429
        return $this->setProperty('seasonNumber', $seasonNumber);
1430
    }
1431
1432
    /**
1433
     * The Organization on whose behalf the creator was working.
1434
     *
1435
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $sourceOrganization
1436
     *
1437
     * @return static
1438
     *
1439
     * @see http://schema.org/sourceOrganization
1440
     */
1441
    public function sourceOrganization($sourceOrganization)
1442
    {
1443
        return $this->setProperty('sourceOrganization', $sourceOrganization);
1444
    }
1445
1446
    /**
1447
     * The "spatial" property can be used in cases when more specific properties
1448
     * (e.g. [[locationCreated]], [[spatialCoverage]], [[contentLocation]]) are
1449
     * not known to be appropriate.
1450
     *
1451
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatial
1452
     *
1453
     * @return static
1454
     *
1455
     * @see http://schema.org/spatial
1456
     */
1457
    public function spatial($spatial)
1458
    {
1459
        return $this->setProperty('spatial', $spatial);
1460
    }
1461
1462
    /**
1463
     * The spatialCoverage of a CreativeWork indicates the place(s) which are
1464
     * the focus of the content. It is a subproperty of
1465
     *       contentLocation intended primarily for more technical and detailed
1466
     * materials. For example with a Dataset, it indicates
1467
     *       areas that the dataset describes: a dataset of New York weather
1468
     * would have spatialCoverage which was the place: the state of New York.
1469
     *
1470
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatialCoverage
1471
     *
1472
     * @return static
1473
     *
1474
     * @see http://schema.org/spatialCoverage
1475
     */
1476
    public function spatialCoverage($spatialCoverage)
1477
    {
1478
        return $this->setProperty('spatialCoverage', $spatialCoverage);
1479
    }
1480
1481
    /**
1482
     * A person or organization that supports a thing through a pledge, promise,
1483
     * or financial contribution. e.g. a sponsor of a Medical Study or a
1484
     * corporate sponsor of an event.
1485
     *
1486
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $sponsor
1487
     *
1488
     * @return static
1489
     *
1490
     * @see http://schema.org/sponsor
1491
     */
1492
    public function sponsor($sponsor)
1493
    {
1494
        return $this->setProperty('sponsor', $sponsor);
1495
    }
1496
1497
    /**
1498
     * The start date and time of the item (in [ISO 8601 date
1499
     * format](http://en.wikipedia.org/wiki/ISO_8601)).
1500
     *
1501
     * @param \DateTimeInterface|\DateTimeInterface[] $startDate
1502
     *
1503
     * @return static
1504
     *
1505
     * @see http://schema.org/startDate
1506
     */
1507
    public function startDate($startDate)
1508
    {
1509
        return $this->setProperty('startDate', $startDate);
1510
    }
1511
1512
    /**
1513
     * A CreativeWork or Event about this Thing.
1514
     *
1515
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf
1516
     *
1517
     * @return static
1518
     *
1519
     * @see http://schema.org/subjectOf
1520
     */
1521
    public function subjectOf($subjectOf)
1522
    {
1523
        return $this->setProperty('subjectOf', $subjectOf);
1524
    }
1525
1526
    /**
1527
     * The "temporal" property can be used in cases where more specific
1528
     * properties
1529
     * (e.g. [[temporalCoverage]], [[dateCreated]], [[dateModified]],
1530
     * [[datePublished]]) are not known to be appropriate.
1531
     *
1532
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporal
1533
     *
1534
     * @return static
1535
     *
1536
     * @see http://schema.org/temporal
1537
     */
1538
    public function temporal($temporal)
1539
    {
1540
        return $this->setProperty('temporal', $temporal);
1541
    }
1542
1543
    /**
1544
     * The temporalCoverage of a CreativeWork indicates the period that the
1545
     * content applies to, i.e. that it describes, either as a DateTime or as a
1546
     * textual string indicating a time period in [ISO 8601 time interval
1547
     * format](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals). In
1548
     *       the case of a Dataset it will typically indicate the relevant time
1549
     * period in a precise notation (e.g. for a 2011 census dataset, the year
1550
     * 2011 would be written "2011/2012"). Other forms of content e.g.
1551
     * ScholarlyArticle, Book, TVSeries or TVEpisode may indicate their
1552
     * temporalCoverage in broader terms - textually or via well-known URL.
1553
     *       Written works such as books may sometimes have precise temporal
1554
     * coverage too, e.g. a work set in 1939 - 1945 can be indicated in ISO 8601
1555
     * interval format format via "1939/1945".
1556
     * 
1557
     * Open-ended date ranges can be written with ".." in place of the end date.
1558
     * For example, "2015-11/.." indicates a range beginning in November 2015
1559
     * and with no specified final date. This is tentative and might be updated
1560
     * in future when ISO 8601 is officially updated.
1561
     *
1562
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporalCoverage
1563
     *
1564
     * @return static
1565
     *
1566
     * @see http://schema.org/temporalCoverage
1567
     */
1568
    public function temporalCoverage($temporalCoverage)
1569
    {
1570
        return $this->setProperty('temporalCoverage', $temporalCoverage);
1571
    }
1572
1573
    /**
1574
     * The textual content of this CreativeWork.
1575
     *
1576
     * @param string|string[] $text
1577
     *
1578
     * @return static
1579
     *
1580
     * @see http://schema.org/text
1581
     */
1582
    public function text($text)
1583
    {
1584
        return $this->setProperty('text', $text);
1585
    }
1586
1587
    /**
1588
     * A thumbnail image relevant to the Thing.
1589
     *
1590
     * @param string|string[] $thumbnailUrl
1591
     *
1592
     * @return static
1593
     *
1594
     * @see http://schema.org/thumbnailUrl
1595
     */
1596
    public function thumbnailUrl($thumbnailUrl)
1597
    {
1598
        return $this->setProperty('thumbnailUrl', $thumbnailUrl);
1599
    }
1600
1601
    /**
1602
     * Approximate or typical time it takes to work with or through this
1603
     * learning resource for the typical intended target audience, e.g. 'PT30M',
1604
     * 'PT1H25M'.
1605
     *
1606
     * @param \Spatie\SchemaOrg\Contracts\DurationContract|\Spatie\SchemaOrg\Contracts\DurationContract[] $timeRequired
1607
     *
1608
     * @return static
1609
     *
1610
     * @see http://schema.org/timeRequired
1611
     */
1612
    public function timeRequired($timeRequired)
1613
    {
1614
        return $this->setProperty('timeRequired', $timeRequired);
1615
    }
1616
1617
    /**
1618
     * The trailer of a movie or tv/radio series, season, episode, etc.
1619
     *
1620
     * @param \Spatie\SchemaOrg\Contracts\VideoObjectContract|\Spatie\SchemaOrg\Contracts\VideoObjectContract[] $trailer
1621
     *
1622
     * @return static
1623
     *
1624
     * @see http://schema.org/trailer
1625
     */
1626
    public function trailer($trailer)
1627
    {
1628
        return $this->setProperty('trailer', $trailer);
1629
    }
1630
1631
    /**
1632
     * Organization or person who adapts a creative work to different languages,
1633
     * regional differences and technical requirements of a target market, or
1634
     * that translates during some event.
1635
     *
1636
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $translator
1637
     *
1638
     * @return static
1639
     *
1640
     * @see http://schema.org/translator
1641
     */
1642
    public function translator($translator)
1643
    {
1644
        return $this->setProperty('translator', $translator);
1645
    }
1646
1647
    /**
1648
     * The typical expected age range, e.g. '7-9', '11-'.
1649
     *
1650
     * @param string|string[] $typicalAgeRange
1651
     *
1652
     * @return static
1653
     *
1654
     * @see http://schema.org/typicalAgeRange
1655
     */
1656
    public function typicalAgeRange($typicalAgeRange)
1657
    {
1658
        return $this->setProperty('typicalAgeRange', $typicalAgeRange);
1659
    }
1660
1661
    /**
1662
     * URL of the item.
1663
     *
1664
     * @param string|string[] $url
1665
     *
1666
     * @return static
1667
     *
1668
     * @see http://schema.org/url
1669
     */
1670
    public function url($url)
1671
    {
1672
        return $this->setProperty('url', $url);
1673
    }
1674
1675
    /**
1676
     * The version of the CreativeWork embodied by a specified resource.
1677
     *
1678
     * @param float|float[]|int|int[]|string|string[] $version
1679
     *
1680
     * @return static
1681
     *
1682
     * @see http://schema.org/version
1683
     */
1684
    public function version($version)
1685
    {
1686
        return $this->setProperty('version', $version);
1687
    }
1688
1689
    /**
1690
     * An embedded video object.
1691
     *
1692
     * @param \Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[]|\Spatie\SchemaOrg\Contracts\VideoObjectContract|\Spatie\SchemaOrg\Contracts\VideoObjectContract[] $video
1693
     *
1694
     * @return static
1695
     *
1696
     * @see http://schema.org/video
1697
     */
1698
    public function video($video)
1699
    {
1700
        return $this->setProperty('video', $video);
1701
    }
1702
1703
    /**
1704
     * Example/instance/realization/derivation of the concept of this creative
1705
     * work. eg. The paperback edition, first edition, or eBook.
1706
     *
1707
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $workExample
1708
     *
1709
     * @return static
1710
     *
1711
     * @see http://schema.org/workExample
1712
     */
1713
    public function workExample($workExample)
1714
    {
1715
        return $this->setProperty('workExample', $workExample);
1716
    }
1717
1718
}
1719