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