Message::accessibilityAPI()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

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