Issues (439)

Security Analysis    no request data  

This project does not seem to handle request data directly as such no vulnerable execution paths were found.

  Cross-Site Scripting
Cross-Site Scripting enables an attacker to inject code into the response of a web-request that is viewed by other users. It can for example be used to bypass access controls, or even to take over other users' accounts.
  File Exposure
File Exposure allows an attacker to gain access to local files that he should not be able to access. These files can for example include database credentials, or other configuration files.
  File Manipulation
File Manipulation enables an attacker to write custom data to files. This potentially leads to injection of arbitrary code on the server.
  Object Injection
Object Injection enables an attacker to inject an object into PHP code, and can lead to arbitrary code execution, file exposure, or file manipulation attacks.
  Code Injection
Code Injection enables an attacker to execute arbitrary code on the server.
  Response Splitting
Response Splitting can be used to send arbitrary responses.
  File Inclusion
File Inclusion enables an attacker to inject custom files into PHP's file loading mechanism, either explicitly passed to include, or for example via PHP's auto-loading mechanism.
  Command Injection
Command Injection enables an attacker to inject a shell command that is execute with the privileges of the web-server. This can be used to expose sensitive data, or gain access of your server.
  SQL Injection
SQL Injection enables an attacker to execute arbitrary SQL code on your database server gaining access to user data, or manipulating user data.
  XPath Injection
XPath Injection enables an attacker to modify the parts of XML document that are read. If that XML document is for example used for authentication, this can lead to further vulnerabilities similar to SQL Injection.
  LDAP Injection
LDAP Injection enables an attacker to inject LDAP statements potentially granting permission to run unauthorized queries, or modify content inside the LDAP tree.
  Header Injection
  Other Vulnerability
This category comprises other attack vectors such as manipulating the PHP runtime, loading custom extensions, freezing the runtime, or similar.
  Regex Injection
Regex Injection enables an attacker to execute arbitrary code in your PHP process.
  XML Injection
XML Injection enables an attacker to read files on your local filesystem including configuration files, or can be abused to freeze your web-server process.
  Variable Injection
Variable Injection enables an attacker to overwrite program variables with custom data, and can lead to further vulnerabilities.
Unfortunately, the security analysis is currently not available for your project. If you are a non-commercial open-source project, please contact support to gain access.

src/TVEpisode.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
namespace Spatie\SchemaOrg;
4
5
use \Spatie\SchemaOrg\Contracts\TVEpisodeContract;
6
use \Spatie\SchemaOrg\Contracts\CreativeWorkContract;
7
use \Spatie\SchemaOrg\Contracts\EpisodeContract;
8
use \Spatie\SchemaOrg\Contracts\ThingContract;
9
10
/**
11
 * A TV episode which can be part of a series or season.
12
 *
13
 * @see http://schema.org/TVEpisode
14
 *
15
 */
16 View Code Duplication
class TVEpisode extends BaseType implements TVEpisodeContract, CreativeWorkContract, EpisodeContract, ThingContract
0 ignored issues
show
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 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&#x2014;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&#x2014;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