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/TVSeason.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\TVSeasonContract;
6
use \Spatie\SchemaOrg\Contracts\CreativeWorkContract;
7
use \Spatie\SchemaOrg\Contracts\CreativeWorkSeasonContract;
8
use \Spatie\SchemaOrg\Contracts\ThingContract;
9
10
/**
11
 * Season dedicated to TV broadcast and associated online delivery.
12
 *
13
 * @see http://schema.org/TVSeason
14
 *
15
 */
16 View Code Duplication
class TVSeason extends BaseType implements TVSeasonContract, CreativeWorkContract, CreativeWorkSeasonContract, 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 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 country of the principal offices of the production company or
460
     * individual responsible for the movie or program.
461
     *
462
     * @param \Spatie\SchemaOrg\Contracts\CountryContract|\Spatie\SchemaOrg\Contracts\CountryContract[] $countryOfOrigin
463
     *
464
     * @return static
465
     *
466
     * @see http://schema.org/countryOfOrigin
467
     */
468
    public function countryOfOrigin($countryOfOrigin)
469
    {
470
        return $this->setProperty('countryOfOrigin', $countryOfOrigin);
471
    }
472
473
    /**
474
     * The creator/author of this CreativeWork. This is the same as the Author
475
     * property for CreativeWork.
476
     *
477
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $creator
478
     *
479
     * @return static
480
     *
481
     * @see http://schema.org/creator
482
     */
483
    public function creator($creator)
484
    {
485
        return $this->setProperty('creator', $creator);
486
    }
487
488
    /**
489
     * The date on which the CreativeWork was created or the item was added to a
490
     * DataFeed.
491
     *
492
     * @param \DateTimeInterface|\DateTimeInterface[] $dateCreated
493
     *
494
     * @return static
495
     *
496
     * @see http://schema.org/dateCreated
497
     */
498
    public function dateCreated($dateCreated)
499
    {
500
        return $this->setProperty('dateCreated', $dateCreated);
501
    }
502
503
    /**
504
     * The date on which the CreativeWork was most recently modified or when the
505
     * item's entry was modified within a DataFeed.
506
     *
507
     * @param \DateTimeInterface|\DateTimeInterface[] $dateModified
508
     *
509
     * @return static
510
     *
511
     * @see http://schema.org/dateModified
512
     */
513
    public function dateModified($dateModified)
514
    {
515
        return $this->setProperty('dateModified', $dateModified);
516
    }
517
518
    /**
519
     * Date of first broadcast/publication.
520
     *
521
     * @param \DateTimeInterface|\DateTimeInterface[] $datePublished
522
     *
523
     * @return static
524
     *
525
     * @see http://schema.org/datePublished
526
     */
527
    public function datePublished($datePublished)
528
    {
529
        return $this->setProperty('datePublished', $datePublished);
530
    }
531
532
    /**
533
     * A description of the item.
534
     *
535
     * @param string|string[] $description
536
     *
537
     * @return static
538
     *
539
     * @see http://schema.org/description
540
     */
541
    public function description($description)
542
    {
543
        return $this->setProperty('description', $description);
544
    }
545
546
    /**
547
     * A director of e.g. tv, radio, movie, video gaming etc. content, or of an
548
     * event. Directors can be associated with individual items or with a
549
     * series, episode, clip.
550
     *
551
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $director
552
     *
553
     * @return static
554
     *
555
     * @see http://schema.org/director
556
     */
557
    public function director($director)
558
    {
559
        return $this->setProperty('director', $director);
560
    }
561
562
    /**
563
     * A sub property of description. A short description of the item used to
564
     * disambiguate from other, similar items. Information from other properties
565
     * (in particular, name) may be necessary for the description to be useful
566
     * for disambiguation.
567
     *
568
     * @param string|string[] $disambiguatingDescription
569
     *
570
     * @return static
571
     *
572
     * @see http://schema.org/disambiguatingDescription
573
     */
574
    public function disambiguatingDescription($disambiguatingDescription)
575
    {
576
        return $this->setProperty('disambiguatingDescription', $disambiguatingDescription);
577
    }
578
579
    /**
580
     * A link to the page containing the comments of the CreativeWork.
581
     *
582
     * @param string|string[] $discussionUrl
583
     *
584
     * @return static
585
     *
586
     * @see http://schema.org/discussionUrl
587
     */
588
    public function discussionUrl($discussionUrl)
589
    {
590
        return $this->setProperty('discussionUrl', $discussionUrl);
591
    }
592
593
    /**
594
     * Specifies the Person who edited the CreativeWork.
595
     *
596
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $editor
597
     *
598
     * @return static
599
     *
600
     * @see http://schema.org/editor
601
     */
602
    public function editor($editor)
603
    {
604
        return $this->setProperty('editor', $editor);
605
    }
606
607
    /**
608
     * An alignment to an established educational framework.
609
     *
610
     * @param \Spatie\SchemaOrg\Contracts\AlignmentObjectContract|\Spatie\SchemaOrg\Contracts\AlignmentObjectContract[] $educationalAlignment
611
     *
612
     * @return static
613
     *
614
     * @see http://schema.org/educationalAlignment
615
     */
616
    public function educationalAlignment($educationalAlignment)
617
    {
618
        return $this->setProperty('educationalAlignment', $educationalAlignment);
619
    }
620
621
    /**
622
     * The purpose of a work in the context of education; for example,
623
     * 'assignment', 'group work'.
624
     *
625
     * @param string|string[] $educationalUse
626
     *
627
     * @return static
628
     *
629
     * @see http://schema.org/educationalUse
630
     */
631
    public function educationalUse($educationalUse)
632
    {
633
        return $this->setProperty('educationalUse', $educationalUse);
634
    }
635
636
    /**
637
     * A media object that encodes this CreativeWork. This property is a synonym
638
     * for associatedMedia.
639
     *
640
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encoding
641
     *
642
     * @return static
643
     *
644
     * @see http://schema.org/encoding
645
     */
646
    public function encoding($encoding)
647
    {
648
        return $this->setProperty('encoding', $encoding);
649
    }
650
651
    /**
652
     * Media type typically expressed using a MIME format (see [IANA
653
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml) and
654
     * [MDN
655
     * reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types))
656
     * e.g. application/zip for a SoftwareApplication binary, audio/mpeg for
657
     * .mp3 etc.).
658
     * 
659
     * In cases where a [[CreativeWork]] has several media type representations,
660
     * [[encoding]] can be used to indicate each [[MediaObject]] alongside
661
     * particular [[encodingFormat]] information.
662
     * 
663
     * Unregistered or niche encoding and file formats can be indicated instead
664
     * via the most appropriate URL, e.g. defining Web page or a
665
     * Wikipedia/Wikidata entry.
666
     *
667
     * @param string|string[] $encodingFormat
668
     *
669
     * @return static
670
     *
671
     * @see http://schema.org/encodingFormat
672
     */
673
    public function encodingFormat($encodingFormat)
674
    {
675
        return $this->setProperty('encodingFormat', $encodingFormat);
676
    }
677
678
    /**
679
     * A media object that encodes this CreativeWork.
680
     *
681
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encodings
682
     *
683
     * @return static
684
     *
685
     * @see http://schema.org/encodings
686
     */
687
    public function encodings($encodings)
688
    {
689
        return $this->setProperty('encodings', $encodings);
690
    }
691
692
    /**
693
     * The end date and time of the item (in [ISO 8601 date
694
     * format](http://en.wikipedia.org/wiki/ISO_8601)).
695
     *
696
     * @param \DateTimeInterface|\DateTimeInterface[] $endDate
697
     *
698
     * @return static
699
     *
700
     * @see http://schema.org/endDate
701
     */
702
    public function endDate($endDate)
703
    {
704
        return $this->setProperty('endDate', $endDate);
705
    }
706
707
    /**
708
     * An episode of a tv, radio or game media within a series or season.
709
     *
710
     * @param \Spatie\SchemaOrg\Contracts\EpisodeContract|\Spatie\SchemaOrg\Contracts\EpisodeContract[] $episode
711
     *
712
     * @return static
713
     *
714
     * @see http://schema.org/episode
715
     */
716
    public function episode($episode)
717
    {
718
        return $this->setProperty('episode', $episode);
719
    }
720
721
    /**
722
     * An episode of a TV/radio series or season.
723
     *
724
     * @param \Spatie\SchemaOrg\Contracts\EpisodeContract|\Spatie\SchemaOrg\Contracts\EpisodeContract[] $episodes
725
     *
726
     * @return static
727
     *
728
     * @see http://schema.org/episodes
729
     */
730
    public function episodes($episodes)
731
    {
732
        return $this->setProperty('episodes', $episodes);
733
    }
734
735
    /**
736
     * A creative work that this work is an
737
     * example/instance/realization/derivation of.
738
     *
739
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $exampleOfWork
740
     *
741
     * @return static
742
     *
743
     * @see http://schema.org/exampleOfWork
744
     */
745
    public function exampleOfWork($exampleOfWork)
746
    {
747
        return $this->setProperty('exampleOfWork', $exampleOfWork);
748
    }
749
750
    /**
751
     * Date the content expires and is no longer useful or available. For
752
     * example a [[VideoObject]] or [[NewsArticle]] whose availability or
753
     * relevance is time-limited, or a [[ClaimReview]] fact check whose
754
     * publisher wants to indicate that it may no longer be relevant (or helpful
755
     * to highlight) after some date.
756
     *
757
     * @param \DateTimeInterface|\DateTimeInterface[] $expires
758
     *
759
     * @return static
760
     *
761
     * @see http://schema.org/expires
762
     */
763
    public function expires($expires)
764
    {
765
        return $this->setProperty('expires', $expires);
766
    }
767
768
    /**
769
     * Media type, typically MIME format (see [IANA
770
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml)) of
771
     * the content e.g. application/zip of a SoftwareApplication binary. In
772
     * cases where a CreativeWork has several media type representations,
773
     * 'encoding' can be used to indicate each MediaObject alongside particular
774
     * fileFormat information. Unregistered or niche file formats can be
775
     * indicated instead via the most appropriate URL, e.g. defining Web page or
776
     * a Wikipedia entry.
777
     *
778
     * @param string|string[] $fileFormat
779
     *
780
     * @return static
781
     *
782
     * @see http://schema.org/fileFormat
783
     */
784
    public function fileFormat($fileFormat)
785
    {
786
        return $this->setProperty('fileFormat', $fileFormat);
787
    }
788
789
    /**
790
     * A person or organization that supports (sponsors) something through some
791
     * kind of financial contribution.
792
     *
793
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $funder
794
     *
795
     * @return static
796
     *
797
     * @see http://schema.org/funder
798
     */
799
    public function funder($funder)
800
    {
801
        return $this->setProperty('funder', $funder);
802
    }
803
804
    /**
805
     * Genre of the creative work, broadcast channel or group.
806
     *
807
     * @param string|string[] $genre
808
     *
809
     * @return static
810
     *
811
     * @see http://schema.org/genre
812
     */
813
    public function genre($genre)
814
    {
815
        return $this->setProperty('genre', $genre);
816
    }
817
818
    /**
819
     * Indicates an item or CreativeWork that is part of this item, or
820
     * CreativeWork (in some sense).
821
     *
822
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $hasPart
823
     *
824
     * @return static
825
     *
826
     * @see http://schema.org/hasPart
827
     */
828
    public function hasPart($hasPart)
829
    {
830
        return $this->setProperty('hasPart', $hasPart);
831
    }
832
833
    /**
834
     * Headline of the article.
835
     *
836
     * @param string|string[] $headline
837
     *
838
     * @return static
839
     *
840
     * @see http://schema.org/headline
841
     */
842
    public function headline($headline)
843
    {
844
        return $this->setProperty('headline', $headline);
845
    }
846
847
    /**
848
     * The identifier property represents any kind of identifier for any kind of
849
     * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides
850
     * dedicated properties for representing many of these, either as textual
851
     * strings or as URL (URI) links. See [background
852
     * notes](/docs/datamodel.html#identifierBg) for more details.
853
     *
854
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier
855
     *
856
     * @return static
857
     *
858
     * @see http://schema.org/identifier
859
     */
860
    public function identifier($identifier)
861
    {
862
        return $this->setProperty('identifier', $identifier);
863
    }
864
865
    /**
866
     * An image of the item. This can be a [[URL]] or a fully described
867
     * [[ImageObject]].
868
     *
869
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image
870
     *
871
     * @return static
872
     *
873
     * @see http://schema.org/image
874
     */
875
    public function image($image)
876
    {
877
        return $this->setProperty('image', $image);
878
    }
879
880
    /**
881
     * The language of the content or performance or used in an action. Please
882
     * use one of the language codes from the [IETF BCP 47
883
     * standard](http://tools.ietf.org/html/bcp47). See also
884
     * [[availableLanguage]].
885
     *
886
     * @param \Spatie\SchemaOrg\Contracts\LanguageContract|\Spatie\SchemaOrg\Contracts\LanguageContract[]|string|string[] $inLanguage
887
     *
888
     * @return static
889
     *
890
     * @see http://schema.org/inLanguage
891
     */
892
    public function inLanguage($inLanguage)
893
    {
894
        return $this->setProperty('inLanguage', $inLanguage);
895
    }
896
897
    /**
898
     * The number of interactions for the CreativeWork using the WebSite or
899
     * SoftwareApplication. The most specific child type of InteractionCounter
900
     * should be used.
901
     *
902
     * @param \Spatie\SchemaOrg\Contracts\InteractionCounterContract|\Spatie\SchemaOrg\Contracts\InteractionCounterContract[] $interactionStatistic
903
     *
904
     * @return static
905
     *
906
     * @see http://schema.org/interactionStatistic
907
     */
908
    public function interactionStatistic($interactionStatistic)
909
    {
910
        return $this->setProperty('interactionStatistic', $interactionStatistic);
911
    }
912
913
    /**
914
     * The predominant mode of learning supported by the learning resource.
915
     * Acceptable values are 'active', 'expositive', or 'mixed'.
916
     *
917
     * @param string|string[] $interactivityType
918
     *
919
     * @return static
920
     *
921
     * @see http://schema.org/interactivityType
922
     */
923
    public function interactivityType($interactivityType)
924
    {
925
        return $this->setProperty('interactivityType', $interactivityType);
926
    }
927
928
    /**
929
     * A flag to signal that the item, event, or place is accessible for free.
930
     *
931
     * @param bool|bool[] $isAccessibleForFree
932
     *
933
     * @return static
934
     *
935
     * @see http://schema.org/isAccessibleForFree
936
     */
937
    public function isAccessibleForFree($isAccessibleForFree)
938
    {
939
        return $this->setProperty('isAccessibleForFree', $isAccessibleForFree);
940
    }
941
942
    /**
943
     * A resource from which this work is derived or from which it is a
944
     * modification or adaption.
945
     *
946
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOn
947
     *
948
     * @return static
949
     *
950
     * @see http://schema.org/isBasedOn
951
     */
952
    public function isBasedOn($isBasedOn)
953
    {
954
        return $this->setProperty('isBasedOn', $isBasedOn);
955
    }
956
957
    /**
958
     * A resource that was used in the creation of this resource. This term can
959
     * be repeated for multiple sources. For example,
960
     * http://example.com/great-multiplication-intro.html.
961
     *
962
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOnUrl
963
     *
964
     * @return static
965
     *
966
     * @see http://schema.org/isBasedOnUrl
967
     */
968
    public function isBasedOnUrl($isBasedOnUrl)
969
    {
970
        return $this->setProperty('isBasedOnUrl', $isBasedOnUrl);
971
    }
972
973
    /**
974
     * Indicates whether this content is family friendly.
975
     *
976
     * @param bool|bool[] $isFamilyFriendly
977
     *
978
     * @return static
979
     *
980
     * @see http://schema.org/isFamilyFriendly
981
     */
982
    public function isFamilyFriendly($isFamilyFriendly)
983
    {
984
        return $this->setProperty('isFamilyFriendly', $isFamilyFriendly);
985
    }
986
987
    /**
988
     * Indicates an item or CreativeWork that this item, or CreativeWork (in
989
     * some sense), is part of.
990
     *
991
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $isPartOf
992
     *
993
     * @return static
994
     *
995
     * @see http://schema.org/isPartOf
996
     */
997
    public function isPartOf($isPartOf)
998
    {
999
        return $this->setProperty('isPartOf', $isPartOf);
1000
    }
1001
1002
    /**
1003
     * Keywords or tags used to describe this content. Multiple entries in a
1004
     * keywords list are typically delimited by commas.
1005
     *
1006
     * @param string|string[] $keywords
1007
     *
1008
     * @return static
1009
     *
1010
     * @see http://schema.org/keywords
1011
     */
1012
    public function keywords($keywords)
1013
    {
1014
        return $this->setProperty('keywords', $keywords);
1015
    }
1016
1017
    /**
1018
     * The predominant type or kind characterizing the learning resource. For
1019
     * example, 'presentation', 'handout'.
1020
     *
1021
     * @param string|string[] $learningResourceType
1022
     *
1023
     * @return static
1024
     *
1025
     * @see http://schema.org/learningResourceType
1026
     */
1027
    public function learningResourceType($learningResourceType)
1028
    {
1029
        return $this->setProperty('learningResourceType', $learningResourceType);
1030
    }
1031
1032
    /**
1033
     * A license document that applies to this content, typically indicated by
1034
     * URL.
1035
     *
1036
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $license
1037
     *
1038
     * @return static
1039
     *
1040
     * @see http://schema.org/license
1041
     */
1042
    public function license($license)
1043
    {
1044
        return $this->setProperty('license', $license);
1045
    }
1046
1047
    /**
1048
     * The location where the CreativeWork was created, which may not be the
1049
     * same as the location depicted in the CreativeWork.
1050
     *
1051
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $locationCreated
1052
     *
1053
     * @return static
1054
     *
1055
     * @see http://schema.org/locationCreated
1056
     */
1057
    public function locationCreated($locationCreated)
1058
    {
1059
        return $this->setProperty('locationCreated', $locationCreated);
1060
    }
1061
1062
    /**
1063
     * Indicates the primary entity described in some page or other
1064
     * CreativeWork.
1065
     *
1066
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mainEntity
1067
     *
1068
     * @return static
1069
     *
1070
     * @see http://schema.org/mainEntity
1071
     */
1072
    public function mainEntity($mainEntity)
1073
    {
1074
        return $this->setProperty('mainEntity', $mainEntity);
1075
    }
1076
1077
    /**
1078
     * Indicates a page (or other CreativeWork) for which this thing is the main
1079
     * entity being described. See [background
1080
     * notes](/docs/datamodel.html#mainEntityBackground) for details.
1081
     *
1082
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage
1083
     *
1084
     * @return static
1085
     *
1086
     * @see http://schema.org/mainEntityOfPage
1087
     */
1088
    public function mainEntityOfPage($mainEntityOfPage)
1089
    {
1090
        return $this->setProperty('mainEntityOfPage', $mainEntityOfPage);
1091
    }
1092
1093
    /**
1094
     * A material that something is made from, e.g. leather, wool, cotton,
1095
     * paper.
1096
     *
1097
     * @param \Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $material
1098
     *
1099
     * @return static
1100
     *
1101
     * @see http://schema.org/material
1102
     */
1103
    public function material($material)
1104
    {
1105
        return $this->setProperty('material', $material);
1106
    }
1107
1108
    /**
1109
     * Indicates that the CreativeWork contains a reference to, but is not
1110
     * necessarily about a concept.
1111
     *
1112
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mentions
1113
     *
1114
     * @return static
1115
     *
1116
     * @see http://schema.org/mentions
1117
     */
1118
    public function mentions($mentions)
1119
    {
1120
        return $this->setProperty('mentions', $mentions);
1121
    }
1122
1123
    /**
1124
     * The name of the item.
1125
     *
1126
     * @param string|string[] $name
1127
     *
1128
     * @return static
1129
     *
1130
     * @see http://schema.org/name
1131
     */
1132
    public function name($name)
1133
    {
1134
        return $this->setProperty('name', $name);
1135
    }
1136
1137
    /**
1138
     * The number of episodes in this season or series.
1139
     *
1140
     * @param int|int[] $numberOfEpisodes
1141
     *
1142
     * @return static
1143
     *
1144
     * @see http://schema.org/numberOfEpisodes
1145
     */
1146
    public function numberOfEpisodes($numberOfEpisodes)
1147
    {
1148
        return $this->setProperty('numberOfEpisodes', $numberOfEpisodes);
1149
    }
1150
1151
    /**
1152
     * An offer to provide this item&#x2014;for example, an offer to sell a
1153
     * product, rent the DVD of a movie, perform a service, or give away tickets
1154
     * to an event. Use [[businessFunction]] to indicate the kind of transaction
1155
     * offered, i.e. sell, lease, etc. This property can also be used to
1156
     * describe a [[Demand]]. While this property is listed as expected on a
1157
     * number of common types, it can be used in others. In that case, using a
1158
     * second type, such as Product or a subtype of Product, can clarify the
1159
     * nature of the offer.
1160
     *
1161
     * @param \Spatie\SchemaOrg\Contracts\DemandContract|\Spatie\SchemaOrg\Contracts\DemandContract[]|\Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $offers
1162
     *
1163
     * @return static
1164
     *
1165
     * @see http://schema.org/offers
1166
     */
1167
    public function offers($offers)
1168
    {
1169
        return $this->setProperty('offers', $offers);
1170
    }
1171
1172
    /**
1173
     * The series to which this episode or season belongs.
1174
     *
1175
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkSeriesContract|\Spatie\SchemaOrg\Contracts\CreativeWorkSeriesContract[] $partOfSeries
1176
     *
1177
     * @return static
1178
     *
1179
     * @see http://schema.org/partOfSeries
1180
     */
1181
    public function partOfSeries($partOfSeries)
1182
    {
1183
        return $this->setProperty('partOfSeries', $partOfSeries);
1184
    }
1185
1186
    /**
1187
     * The TV series to which this episode or season belongs.
1188
     *
1189
     * @param \Spatie\SchemaOrg\Contracts\TVSeriesContract|\Spatie\SchemaOrg\Contracts\TVSeriesContract[] $partOfTVSeries
1190
     *
1191
     * @return static
1192
     *
1193
     * @see http://schema.org/partOfTVSeries
1194
     */
1195
    public function partOfTVSeries($partOfTVSeries)
1196
    {
1197
        return $this->setProperty('partOfTVSeries', $partOfTVSeries);
1198
    }
1199
1200
    /**
1201
     * The position of an item in a series or sequence of items.
1202
     *
1203
     * @param int|int[]|string|string[] $position
1204
     *
1205
     * @return static
1206
     *
1207
     * @see http://schema.org/position
1208
     */
1209
    public function position($position)
1210
    {
1211
        return $this->setProperty('position', $position);
1212
    }
1213
1214
    /**
1215
     * Indicates a potential Action, which describes an idealized action in
1216
     * which this thing would play an 'object' role.
1217
     *
1218
     * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction
1219
     *
1220
     * @return static
1221
     *
1222
     * @see http://schema.org/potentialAction
1223
     */
1224
    public function potentialAction($potentialAction)
1225
    {
1226
        return $this->setProperty('potentialAction', $potentialAction);
1227
    }
1228
1229
    /**
1230
     * The person or organization who produced the work (e.g. music album,
1231
     * movie, tv/radio series etc.).
1232
     *
1233
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $producer
1234
     *
1235
     * @return static
1236
     *
1237
     * @see http://schema.org/producer
1238
     */
1239
    public function producer($producer)
1240
    {
1241
        return $this->setProperty('producer', $producer);
1242
    }
1243
1244
    /**
1245
     * The production company or studio responsible for the item e.g. series,
1246
     * video game, episode etc.
1247
     *
1248
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $productionCompany
1249
     *
1250
     * @return static
1251
     *
1252
     * @see http://schema.org/productionCompany
1253
     */
1254
    public function productionCompany($productionCompany)
1255
    {
1256
        return $this->setProperty('productionCompany', $productionCompany);
1257
    }
1258
1259
    /**
1260
     * The service provider, service operator, or service performer; the goods
1261
     * producer. Another party (a seller) may offer those services or goods on
1262
     * behalf of the provider. A provider may also serve as the seller.
1263
     *
1264
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $provider
1265
     *
1266
     * @return static
1267
     *
1268
     * @see http://schema.org/provider
1269
     */
1270
    public function provider($provider)
1271
    {
1272
        return $this->setProperty('provider', $provider);
1273
    }
1274
1275
    /**
1276
     * A publication event associated with the item.
1277
     *
1278
     * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $publication
1279
     *
1280
     * @return static
1281
     *
1282
     * @see http://schema.org/publication
1283
     */
1284
    public function publication($publication)
1285
    {
1286
        return $this->setProperty('publication', $publication);
1287
    }
1288
1289
    /**
1290
     * The publisher of the creative work.
1291
     *
1292
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $publisher
1293
     *
1294
     * @return static
1295
     *
1296
     * @see http://schema.org/publisher
1297
     */
1298
    public function publisher($publisher)
1299
    {
1300
        return $this->setProperty('publisher', $publisher);
1301
    }
1302
1303
    /**
1304
     * The publishingPrinciples property indicates (typically via [[URL]]) a
1305
     * document describing the editorial principles of an [[Organization]] (or
1306
     * individual e.g. a [[Person]] writing a blog) that relate to their
1307
     * activities as a publisher, e.g. ethics or diversity policies. When
1308
     * applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are
1309
     * those of the party primarily responsible for the creation of the
1310
     * [[CreativeWork]].
1311
     * 
1312
     * While such policies are most typically expressed in natural language,
1313
     * sometimes related information (e.g. indicating a [[funder]]) can be
1314
     * expressed using schema.org terminology.
1315
     *
1316
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $publishingPrinciples
1317
     *
1318
     * @return static
1319
     *
1320
     * @see http://schema.org/publishingPrinciples
1321
     */
1322
    public function publishingPrinciples($publishingPrinciples)
1323
    {
1324
        return $this->setProperty('publishingPrinciples', $publishingPrinciples);
1325
    }
1326
1327
    /**
1328
     * The Event where the CreativeWork was recorded. The CreativeWork may
1329
     * capture all or part of the event.
1330
     *
1331
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $recordedAt
1332
     *
1333
     * @return static
1334
     *
1335
     * @see http://schema.org/recordedAt
1336
     */
1337
    public function recordedAt($recordedAt)
1338
    {
1339
        return $this->setProperty('recordedAt', $recordedAt);
1340
    }
1341
1342
    /**
1343
     * The place and time the release was issued, expressed as a
1344
     * PublicationEvent.
1345
     *
1346
     * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $releasedEvent
1347
     *
1348
     * @return static
1349
     *
1350
     * @see http://schema.org/releasedEvent
1351
     */
1352
    public function releasedEvent($releasedEvent)
1353
    {
1354
        return $this->setProperty('releasedEvent', $releasedEvent);
1355
    }
1356
1357
    /**
1358
     * A review of the item.
1359
     *
1360
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $review
1361
     *
1362
     * @return static
1363
     *
1364
     * @see http://schema.org/review
1365
     */
1366
    public function review($review)
1367
    {
1368
        return $this->setProperty('review', $review);
1369
    }
1370
1371
    /**
1372
     * Review of the item.
1373
     *
1374
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $reviews
1375
     *
1376
     * @return static
1377
     *
1378
     * @see http://schema.org/reviews
1379
     */
1380
    public function reviews($reviews)
1381
    {
1382
        return $this->setProperty('reviews', $reviews);
1383
    }
1384
1385
    /**
1386
     * URL of a reference Web page that unambiguously indicates the item's
1387
     * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or
1388
     * official website.
1389
     *
1390
     * @param string|string[] $sameAs
1391
     *
1392
     * @return static
1393
     *
1394
     * @see http://schema.org/sameAs
1395
     */
1396
    public function sameAs($sameAs)
1397
    {
1398
        return $this->setProperty('sameAs', $sameAs);
1399
    }
1400
1401
    /**
1402
     * Indicates (by URL or string) a particular version of a schema used in
1403
     * some CreativeWork. For example, a document could declare a schemaVersion
1404
     * using an URL such as http://schema.org/version/2.0/ if precise indication
1405
     * of schema version was required by some application.
1406
     *
1407
     * @param string|string[] $schemaVersion
1408
     *
1409
     * @return static
1410
     *
1411
     * @see http://schema.org/schemaVersion
1412
     */
1413
    public function schemaVersion($schemaVersion)
1414
    {
1415
        return $this->setProperty('schemaVersion', $schemaVersion);
1416
    }
1417
1418
    /**
1419
     * Position of the season within an ordered group of seasons.
1420
     *
1421
     * @param int|int[]|string|string[] $seasonNumber
1422
     *
1423
     * @return static
1424
     *
1425
     * @see http://schema.org/seasonNumber
1426
     */
1427
    public function seasonNumber($seasonNumber)
1428
    {
1429
        return $this->setProperty('seasonNumber', $seasonNumber);
1430
    }
1431
1432
    /**
1433
     * The Organization on whose behalf the creator was working.
1434
     *
1435
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $sourceOrganization
1436
     *
1437
     * @return static
1438
     *
1439
     * @see http://schema.org/sourceOrganization
1440
     */
1441
    public function sourceOrganization($sourceOrganization)
1442
    {
1443
        return $this->setProperty('sourceOrganization', $sourceOrganization);
1444
    }
1445
1446
    /**
1447
     * The "spatial" property can be used in cases when more specific properties
1448
     * (e.g. [[locationCreated]], [[spatialCoverage]], [[contentLocation]]) are
1449
     * not known to be appropriate.
1450
     *
1451
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatial
1452
     *
1453
     * @return static
1454
     *
1455
     * @see http://schema.org/spatial
1456
     */
1457
    public function spatial($spatial)
1458
    {
1459
        return $this->setProperty('spatial', $spatial);
1460
    }
1461
1462
    /**
1463
     * The spatialCoverage of a CreativeWork indicates the place(s) which are
1464
     * the focus of the content. It is a subproperty of
1465
     *       contentLocation intended primarily for more technical and detailed
1466
     * materials. For example with a Dataset, it indicates
1467
     *       areas that the dataset describes: a dataset of New York weather
1468
     * would have spatialCoverage which was the place: the state of New York.
1469
     *
1470
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatialCoverage
1471
     *
1472
     * @return static
1473
     *
1474
     * @see http://schema.org/spatialCoverage
1475
     */
1476
    public function spatialCoverage($spatialCoverage)
1477
    {
1478
        return $this->setProperty('spatialCoverage', $spatialCoverage);
1479
    }
1480
1481
    /**
1482
     * A person or organization that supports a thing through a pledge, promise,
1483
     * or financial contribution. e.g. a sponsor of a Medical Study or a
1484
     * corporate sponsor of an event.
1485
     *
1486
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $sponsor
1487
     *
1488
     * @return static
1489
     *
1490
     * @see http://schema.org/sponsor
1491
     */
1492
    public function sponsor($sponsor)
1493
    {
1494
        return $this->setProperty('sponsor', $sponsor);
1495
    }
1496
1497
    /**
1498
     * The start date and time of the item (in [ISO 8601 date
1499
     * format](http://en.wikipedia.org/wiki/ISO_8601)).
1500
     *
1501
     * @param \DateTimeInterface|\DateTimeInterface[] $startDate
1502
     *
1503
     * @return static
1504
     *
1505
     * @see http://schema.org/startDate
1506
     */
1507
    public function startDate($startDate)
1508
    {
1509
        return $this->setProperty('startDate', $startDate);
1510
    }
1511
1512
    /**
1513
     * A CreativeWork or Event about this Thing.
1514
     *
1515
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf
1516
     *
1517
     * @return static
1518
     *
1519
     * @see http://schema.org/subjectOf
1520
     */
1521
    public function subjectOf($subjectOf)
1522
    {
1523
        return $this->setProperty('subjectOf', $subjectOf);
1524
    }
1525
1526
    /**
1527
     * The "temporal" property can be used in cases where more specific
1528
     * properties
1529
     * (e.g. [[temporalCoverage]], [[dateCreated]], [[dateModified]],
1530
     * [[datePublished]]) are not known to be appropriate.
1531
     *
1532
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporal
1533
     *
1534
     * @return static
1535
     *
1536
     * @see http://schema.org/temporal
1537
     */
1538
    public function temporal($temporal)
1539
    {
1540
        return $this->setProperty('temporal', $temporal);
1541
    }
1542
1543
    /**
1544
     * The temporalCoverage of a CreativeWork indicates the period that the
1545
     * content applies to, i.e. that it describes, either as a DateTime or as a
1546
     * textual string indicating a time period in [ISO 8601 time interval
1547
     * format](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals). In
1548
     *       the case of a Dataset it will typically indicate the relevant time
1549
     * period in a precise notation (e.g. for a 2011 census dataset, the year
1550
     * 2011 would be written "2011/2012"). Other forms of content e.g.
1551
     * ScholarlyArticle, Book, TVSeries or TVEpisode may indicate their
1552
     * temporalCoverage in broader terms - textually or via well-known URL.
1553
     *       Written works such as books may sometimes have precise temporal
1554
     * coverage too, e.g. a work set in 1939 - 1945 can be indicated in ISO 8601
1555
     * interval format format via "1939/1945".
1556
     * 
1557
     * Open-ended date ranges can be written with ".." in place of the end date.
1558
     * For example, "2015-11/.." indicates a range beginning in November 2015
1559
     * and with no specified final date. This is tentative and might be updated
1560
     * in future when ISO 8601 is officially updated.
1561
     *
1562
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporalCoverage
1563
     *
1564
     * @return static
1565
     *
1566
     * @see http://schema.org/temporalCoverage
1567
     */
1568
    public function temporalCoverage($temporalCoverage)
1569
    {
1570
        return $this->setProperty('temporalCoverage', $temporalCoverage);
1571
    }
1572
1573
    /**
1574
     * The textual content of this CreativeWork.
1575
     *
1576
     * @param string|string[] $text
1577
     *
1578
     * @return static
1579
     *
1580
     * @see http://schema.org/text
1581
     */
1582
    public function text($text)
1583
    {
1584
        return $this->setProperty('text', $text);
1585
    }
1586
1587
    /**
1588
     * A thumbnail image relevant to the Thing.
1589
     *
1590
     * @param string|string[] $thumbnailUrl
1591
     *
1592
     * @return static
1593
     *
1594
     * @see http://schema.org/thumbnailUrl
1595
     */
1596
    public function thumbnailUrl($thumbnailUrl)
1597
    {
1598
        return $this->setProperty('thumbnailUrl', $thumbnailUrl);
1599
    }
1600
1601
    /**
1602
     * Approximate or typical time it takes to work with or through this
1603
     * learning resource for the typical intended target audience, e.g. 'PT30M',
1604
     * 'PT1H25M'.
1605
     *
1606
     * @param \Spatie\SchemaOrg\Contracts\DurationContract|\Spatie\SchemaOrg\Contracts\DurationContract[] $timeRequired
1607
     *
1608
     * @return static
1609
     *
1610
     * @see http://schema.org/timeRequired
1611
     */
1612
    public function timeRequired($timeRequired)
1613
    {
1614
        return $this->setProperty('timeRequired', $timeRequired);
1615
    }
1616
1617
    /**
1618
     * The trailer of a movie or tv/radio series, season, episode, etc.
1619
     *
1620
     * @param \Spatie\SchemaOrg\Contracts\VideoObjectContract|\Spatie\SchemaOrg\Contracts\VideoObjectContract[] $trailer
1621
     *
1622
     * @return static
1623
     *
1624
     * @see http://schema.org/trailer
1625
     */
1626
    public function trailer($trailer)
1627
    {
1628
        return $this->setProperty('trailer', $trailer);
1629
    }
1630
1631
    /**
1632
     * Organization or person who adapts a creative work to different languages,
1633
     * regional differences and technical requirements of a target market, or
1634
     * that translates during some event.
1635
     *
1636
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $translator
1637
     *
1638
     * @return static
1639
     *
1640
     * @see http://schema.org/translator
1641
     */
1642
    public function translator($translator)
1643
    {
1644
        return $this->setProperty('translator', $translator);
1645
    }
1646
1647
    /**
1648
     * The typical expected age range, e.g. '7-9', '11-'.
1649
     *
1650
     * @param string|string[] $typicalAgeRange
1651
     *
1652
     * @return static
1653
     *
1654
     * @see http://schema.org/typicalAgeRange
1655
     */
1656
    public function typicalAgeRange($typicalAgeRange)
1657
    {
1658
        return $this->setProperty('typicalAgeRange', $typicalAgeRange);
1659
    }
1660
1661
    /**
1662
     * URL of the item.
1663
     *
1664
     * @param string|string[] $url
1665
     *
1666
     * @return static
1667
     *
1668
     * @see http://schema.org/url
1669
     */
1670
    public function url($url)
1671
    {
1672
        return $this->setProperty('url', $url);
1673
    }
1674
1675
    /**
1676
     * The version of the CreativeWork embodied by a specified resource.
1677
     *
1678
     * @param float|float[]|int|int[]|string|string[] $version
1679
     *
1680
     * @return static
1681
     *
1682
     * @see http://schema.org/version
1683
     */
1684
    public function version($version)
1685
    {
1686
        return $this->setProperty('version', $version);
1687
    }
1688
1689
    /**
1690
     * An embedded video object.
1691
     *
1692
     * @param \Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[]|\Spatie\SchemaOrg\Contracts\VideoObjectContract|\Spatie\SchemaOrg\Contracts\VideoObjectContract[] $video
1693
     *
1694
     * @return static
1695
     *
1696
     * @see http://schema.org/video
1697
     */
1698
    public function video($video)
1699
    {
1700
        return $this->setProperty('video', $video);
1701
    }
1702
1703
    /**
1704
     * Example/instance/realization/derivation of the concept of this creative
1705
     * work. eg. The paperback edition, first edition, or eBook.
1706
     *
1707
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $workExample
1708
     *
1709
     * @return static
1710
     *
1711
     * @see http://schema.org/workExample
1712
     */
1713
    public function workExample($workExample)
1714
    {
1715
        return $this->setProperty('workExample', $workExample);
1716
    }
1717
1718
}
1719