Issues (439)

Security Analysis    no request data  

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

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

src/Recipe.php (1 issue)

Upgrade to new PHP Analysis Engine

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

1
<?php
2
3
namespace Spatie\SchemaOrg;
4
5
use \Spatie\SchemaOrg\Contracts\RecipeContract;
6
use \Spatie\SchemaOrg\Contracts\CreativeWorkContract;
7
use \Spatie\SchemaOrg\Contracts\HowToContract;
8
use \Spatie\SchemaOrg\Contracts\ThingContract;
9
10
/**
11
 * A recipe. For dietary restrictions covered by the recipe, a few common
12
 * restrictions are enumerated via [[suitableForDiet]]. The [[keywords]]
13
 * property can also be used to add more detail.
14
 *
15
 * @see http://schema.org/Recipe
16
 *
17
 */
18 View Code Duplication
class Recipe extends BaseType implements RecipeContract, CreativeWorkContract, HowToContract, ThingContract
0 ignored issues
show
This class seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

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