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