RadioSeason::interactivityType()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 4
Ratio 100 %

Importance

Changes 0
Metric Value
dl 4
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
namespace Spatie\SchemaOrg;
4
5
use \Spatie\SchemaOrg\Contracts\RadioSeasonContract;
6
use \Spatie\SchemaOrg\Contracts\CreativeWorkContract;
7
use \Spatie\SchemaOrg\Contracts\CreativeWorkSeasonContract;
8
use \Spatie\SchemaOrg\Contracts\ThingContract;
9
10
/**
11
 * Season dedicated to radio broadcast and associated online delivery.
12
 *
13
 * @see http://schema.org/RadioSeason
14
 *
15
 */
16 View Code Duplication
class RadioSeason extends BaseType implements RadioSeasonContract, CreativeWorkContract, CreativeWorkSeasonContract, ThingContract
0 ignored issues
show
Duplication introduced by
This class seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
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&#x2014;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&#x2014;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