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/CourseInstance.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\CourseInstanceContract;
6
use \Spatie\SchemaOrg\Contracts\EventContract;
7
use \Spatie\SchemaOrg\Contracts\ThingContract;
8
9
/**
10
 * An instance of a [[Course]] which is distinct from other instances because it
11
 * is offered at a different time or location or through different media or
12
 * modes of study or to a specific section of students.
13
 *
14
 * @see http://schema.org/CourseInstance
15
 *
16
 */
17 View Code Duplication
class CourseInstance extends BaseType implements CourseInstanceContract, EventContract, 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...
18
{
19
    /**
20
     * The subject matter of the content.
21
     *
22
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $about
23
     *
24
     * @return static
25
     *
26
     * @see http://schema.org/about
27
     */
28
    public function about($about)
29
    {
30
        return $this->setProperty('about', $about);
31
    }
32
33
    /**
34
     * An actor, e.g. in tv, radio, movie, video games etc., or in an event.
35
     * Actors can be associated with individual items or with a series, episode,
36
     * clip.
37
     *
38
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $actor
39
     *
40
     * @return static
41
     *
42
     * @see http://schema.org/actor
43
     */
44
    public function actor($actor)
45
    {
46
        return $this->setProperty('actor', $actor);
47
    }
48
49
    /**
50
     * An additional type for the item, typically used for adding more specific
51
     * types from external vocabularies in microdata syntax. This is a
52
     * relationship between something and a class that the thing is in. In RDFa
53
     * syntax, it is better to use the native RDFa syntax - the 'typeof'
54
     * attribute - for multiple types. Schema.org tools may have only weaker
55
     * understanding of extra types, in particular those defined externally.
56
     *
57
     * @param string|string[] $additionalType
58
     *
59
     * @return static
60
     *
61
     * @see http://schema.org/additionalType
62
     */
63
    public function additionalType($additionalType)
64
    {
65
        return $this->setProperty('additionalType', $additionalType);
66
    }
67
68
    /**
69
     * The overall rating, based on a collection of reviews or ratings, of the
70
     * item.
71
     *
72
     * @param \Spatie\SchemaOrg\Contracts\AggregateRatingContract|\Spatie\SchemaOrg\Contracts\AggregateRatingContract[] $aggregateRating
73
     *
74
     * @return static
75
     *
76
     * @see http://schema.org/aggregateRating
77
     */
78
    public function aggregateRating($aggregateRating)
79
    {
80
        return $this->setProperty('aggregateRating', $aggregateRating);
81
    }
82
83
    /**
84
     * An alias for the item.
85
     *
86
     * @param string|string[] $alternateName
87
     *
88
     * @return static
89
     *
90
     * @see http://schema.org/alternateName
91
     */
92
    public function alternateName($alternateName)
93
    {
94
        return $this->setProperty('alternateName', $alternateName);
95
    }
96
97
    /**
98
     * A person or organization attending the event.
99
     *
100
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $attendee
101
     *
102
     * @return static
103
     *
104
     * @see http://schema.org/attendee
105
     */
106
    public function attendee($attendee)
107
    {
108
        return $this->setProperty('attendee', $attendee);
109
    }
110
111
    /**
112
     * A person attending the event.
113
     *
114
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $attendees
115
     *
116
     * @return static
117
     *
118
     * @see http://schema.org/attendees
119
     */
120
    public function attendees($attendees)
121
    {
122
        return $this->setProperty('attendees', $attendees);
123
    }
124
125
    /**
126
     * An intended audience, i.e. a group for whom something was created.
127
     *
128
     * @param \Spatie\SchemaOrg\Contracts\AudienceContract|\Spatie\SchemaOrg\Contracts\AudienceContract[] $audience
129
     *
130
     * @return static
131
     *
132
     * @see http://schema.org/audience
133
     */
134
    public function audience($audience)
135
    {
136
        return $this->setProperty('audience', $audience);
137
    }
138
139
    /**
140
     * The person or organization who wrote a composition, or who is the
141
     * composer of a work performed at some event.
142
     *
143
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $composer
144
     *
145
     * @return static
146
     *
147
     * @see http://schema.org/composer
148
     */
149
    public function composer($composer)
150
    {
151
        return $this->setProperty('composer', $composer);
152
    }
153
154
    /**
155
     * A secondary contributor to the CreativeWork or Event.
156
     *
157
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $contributor
158
     *
159
     * @return static
160
     *
161
     * @see http://schema.org/contributor
162
     */
163
    public function contributor($contributor)
164
    {
165
        return $this->setProperty('contributor', $contributor);
166
    }
167
168
    /**
169
     * The medium or means of delivery of the course instance or the mode of
170
     * study, either as a text label (e.g. "online", "onsite" or "blended";
171
     * "synchronous" or "asynchronous"; "full-time" or "part-time") or as a URL
172
     * reference to a term from a controlled vocabulary (e.g.
173
     * https://ceds.ed.gov/element/001311#Asynchronous ).
174
     *
175
     * @param string|string[] $courseMode
176
     *
177
     * @return static
178
     *
179
     * @see http://schema.org/courseMode
180
     */
181
    public function courseMode($courseMode)
182
    {
183
        return $this->setProperty('courseMode', $courseMode);
184
    }
185
186
    /**
187
     * A description of the item.
188
     *
189
     * @param string|string[] $description
190
     *
191
     * @return static
192
     *
193
     * @see http://schema.org/description
194
     */
195
    public function description($description)
196
    {
197
        return $this->setProperty('description', $description);
198
    }
199
200
    /**
201
     * A director of e.g. tv, radio, movie, video gaming etc. content, or of an
202
     * event. Directors can be associated with individual items or with a
203
     * series, episode, clip.
204
     *
205
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $director
206
     *
207
     * @return static
208
     *
209
     * @see http://schema.org/director
210
     */
211
    public function director($director)
212
    {
213
        return $this->setProperty('director', $director);
214
    }
215
216
    /**
217
     * A sub property of description. A short description of the item used to
218
     * disambiguate from other, similar items. Information from other properties
219
     * (in particular, name) may be necessary for the description to be useful
220
     * for disambiguation.
221
     *
222
     * @param string|string[] $disambiguatingDescription
223
     *
224
     * @return static
225
     *
226
     * @see http://schema.org/disambiguatingDescription
227
     */
228
    public function disambiguatingDescription($disambiguatingDescription)
229
    {
230
        return $this->setProperty('disambiguatingDescription', $disambiguatingDescription);
231
    }
232
233
    /**
234
     * The time admission will commence.
235
     *
236
     * @param \DateTimeInterface|\DateTimeInterface[] $doorTime
237
     *
238
     * @return static
239
     *
240
     * @see http://schema.org/doorTime
241
     */
242
    public function doorTime($doorTime)
243
    {
244
        return $this->setProperty('doorTime', $doorTime);
245
    }
246
247
    /**
248
     * The duration of the item (movie, audio recording, event, etc.) in [ISO
249
     * 8601 date format](http://en.wikipedia.org/wiki/ISO_8601).
250
     *
251
     * @param \Spatie\SchemaOrg\Contracts\DurationContract|\Spatie\SchemaOrg\Contracts\DurationContract[] $duration
252
     *
253
     * @return static
254
     *
255
     * @see http://schema.org/duration
256
     */
257
    public function duration($duration)
258
    {
259
        return $this->setProperty('duration', $duration);
260
    }
261
262
    /**
263
     * The end date and time of the item (in [ISO 8601 date
264
     * format](http://en.wikipedia.org/wiki/ISO_8601)).
265
     *
266
     * @param \DateTimeInterface|\DateTimeInterface[] $endDate
267
     *
268
     * @return static
269
     *
270
     * @see http://schema.org/endDate
271
     */
272
    public function endDate($endDate)
273
    {
274
        return $this->setProperty('endDate', $endDate);
275
    }
276
277
    /**
278
     * An eventStatus of an event represents its status; particularly useful
279
     * when an event is cancelled or rescheduled.
280
     *
281
     * @param \Spatie\SchemaOrg\Contracts\EventStatusTypeContract|\Spatie\SchemaOrg\Contracts\EventStatusTypeContract[] $eventStatus
282
     *
283
     * @return static
284
     *
285
     * @see http://schema.org/eventStatus
286
     */
287
    public function eventStatus($eventStatus)
288
    {
289
        return $this->setProperty('eventStatus', $eventStatus);
290
    }
291
292
    /**
293
     * A person or organization that supports (sponsors) something through some
294
     * kind of financial contribution.
295
     *
296
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $funder
297
     *
298
     * @return static
299
     *
300
     * @see http://schema.org/funder
301
     */
302
    public function funder($funder)
303
    {
304
        return $this->setProperty('funder', $funder);
305
    }
306
307
    /**
308
     * The identifier property represents any kind of identifier for any kind of
309
     * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides
310
     * dedicated properties for representing many of these, either as textual
311
     * strings or as URL (URI) links. See [background
312
     * notes](/docs/datamodel.html#identifierBg) for more details.
313
     *
314
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier
315
     *
316
     * @return static
317
     *
318
     * @see http://schema.org/identifier
319
     */
320
    public function identifier($identifier)
321
    {
322
        return $this->setProperty('identifier', $identifier);
323
    }
324
325
    /**
326
     * An image of the item. This can be a [[URL]] or a fully described
327
     * [[ImageObject]].
328
     *
329
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image
330
     *
331
     * @return static
332
     *
333
     * @see http://schema.org/image
334
     */
335
    public function image($image)
336
    {
337
        return $this->setProperty('image', $image);
338
    }
339
340
    /**
341
     * The language of the content or performance or used in an action. Please
342
     * use one of the language codes from the [IETF BCP 47
343
     * standard](http://tools.ietf.org/html/bcp47). See also
344
     * [[availableLanguage]].
345
     *
346
     * @param \Spatie\SchemaOrg\Contracts\LanguageContract|\Spatie\SchemaOrg\Contracts\LanguageContract[]|string|string[] $inLanguage
347
     *
348
     * @return static
349
     *
350
     * @see http://schema.org/inLanguage
351
     */
352
    public function inLanguage($inLanguage)
353
    {
354
        return $this->setProperty('inLanguage', $inLanguage);
355
    }
356
357
    /**
358
     * A person assigned to instruct or provide instructional assistance for the
359
     * [[CourseInstance]].
360
     *
361
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $instructor
362
     *
363
     * @return static
364
     *
365
     * @see http://schema.org/instructor
366
     */
367
    public function instructor($instructor)
368
    {
369
        return $this->setProperty('instructor', $instructor);
370
    }
371
372
    /**
373
     * A flag to signal that the item, event, or place is accessible for free.
374
     *
375
     * @param bool|bool[] $isAccessibleForFree
376
     *
377
     * @return static
378
     *
379
     * @see http://schema.org/isAccessibleForFree
380
     */
381
    public function isAccessibleForFree($isAccessibleForFree)
382
    {
383
        return $this->setProperty('isAccessibleForFree', $isAccessibleForFree);
384
    }
385
386
    /**
387
     * The location of for example where the event is happening, an organization
388
     * is located, or where an action takes place.
389
     *
390
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[]|\Spatie\SchemaOrg\Contracts\PostalAddressContract|\Spatie\SchemaOrg\Contracts\PostalAddressContract[]|string|string[] $location
391
     *
392
     * @return static
393
     *
394
     * @see http://schema.org/location
395
     */
396
    public function location($location)
397
    {
398
        return $this->setProperty('location', $location);
399
    }
400
401
    /**
402
     * Indicates a page (or other CreativeWork) for which this thing is the main
403
     * entity being described. See [background
404
     * notes](/docs/datamodel.html#mainEntityBackground) for details.
405
     *
406
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage
407
     *
408
     * @return static
409
     *
410
     * @see http://schema.org/mainEntityOfPage
411
     */
412
    public function mainEntityOfPage($mainEntityOfPage)
413
    {
414
        return $this->setProperty('mainEntityOfPage', $mainEntityOfPage);
415
    }
416
417
    /**
418
     * The total number of individuals that may attend an event or venue.
419
     *
420
     * @param int|int[] $maximumAttendeeCapacity
421
     *
422
     * @return static
423
     *
424
     * @see http://schema.org/maximumAttendeeCapacity
425
     */
426
    public function maximumAttendeeCapacity($maximumAttendeeCapacity)
427
    {
428
        return $this->setProperty('maximumAttendeeCapacity', $maximumAttendeeCapacity);
429
    }
430
431
    /**
432
     * The name of the item.
433
     *
434
     * @param string|string[] $name
435
     *
436
     * @return static
437
     *
438
     * @see http://schema.org/name
439
     */
440
    public function name($name)
441
    {
442
        return $this->setProperty('name', $name);
443
    }
444
445
    /**
446
     * An offer to provide this item&#x2014;for example, an offer to sell a
447
     * product, rent the DVD of a movie, perform a service, or give away tickets
448
     * to an event. Use [[businessFunction]] to indicate the kind of transaction
449
     * offered, i.e. sell, lease, etc. This property can also be used to
450
     * describe a [[Demand]]. While this property is listed as expected on a
451
     * number of common types, it can be used in others. In that case, using a
452
     * second type, such as Product or a subtype of Product, can clarify the
453
     * nature of the offer.
454
     *
455
     * @param \Spatie\SchemaOrg\Contracts\DemandContract|\Spatie\SchemaOrg\Contracts\DemandContract[]|\Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $offers
456
     *
457
     * @return static
458
     *
459
     * @see http://schema.org/offers
460
     */
461
    public function offers($offers)
462
    {
463
        return $this->setProperty('offers', $offers);
464
    }
465
466
    /**
467
     * An organizer of an Event.
468
     *
469
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $organizer
470
     *
471
     * @return static
472
     *
473
     * @see http://schema.org/organizer
474
     */
475
    public function organizer($organizer)
476
    {
477
        return $this->setProperty('organizer', $organizer);
478
    }
479
480
    /**
481
     * A performer at the event&#x2014;for example, a presenter, musician,
482
     * musical group or actor.
483
     *
484
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $performer
485
     *
486
     * @return static
487
     *
488
     * @see http://schema.org/performer
489
     */
490
    public function performer($performer)
491
    {
492
        return $this->setProperty('performer', $performer);
493
    }
494
495
    /**
496
     * The main performer or performers of the event&#x2014;for example, a
497
     * presenter, musician, or actor.
498
     *
499
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $performers
500
     *
501
     * @return static
502
     *
503
     * @see http://schema.org/performers
504
     */
505
    public function performers($performers)
506
    {
507
        return $this->setProperty('performers', $performers);
508
    }
509
510
    /**
511
     * Indicates a potential Action, which describes an idealized action in
512
     * which this thing would play an 'object' role.
513
     *
514
     * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction
515
     *
516
     * @return static
517
     *
518
     * @see http://schema.org/potentialAction
519
     */
520
    public function potentialAction($potentialAction)
521
    {
522
        return $this->setProperty('potentialAction', $potentialAction);
523
    }
524
525
    /**
526
     * Used in conjunction with eventStatus for rescheduled or cancelled events.
527
     * This property contains the previously scheduled start date. For
528
     * rescheduled events, the startDate property should be used for the newly
529
     * scheduled start date. In the (rare) case of an event that has been
530
     * postponed and rescheduled multiple times, this field may be repeated.
531
     *
532
     * @param \DateTimeInterface|\DateTimeInterface[] $previousStartDate
533
     *
534
     * @return static
535
     *
536
     * @see http://schema.org/previousStartDate
537
     */
538
    public function previousStartDate($previousStartDate)
539
    {
540
        return $this->setProperty('previousStartDate', $previousStartDate);
541
    }
542
543
    /**
544
     * The CreativeWork that captured all or part of this Event.
545
     *
546
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $recordedIn
547
     *
548
     * @return static
549
     *
550
     * @see http://schema.org/recordedIn
551
     */
552
    public function recordedIn($recordedIn)
553
    {
554
        return $this->setProperty('recordedIn', $recordedIn);
555
    }
556
557
    /**
558
     * The number of attendee places for an event that remain unallocated.
559
     *
560
     * @param int|int[] $remainingAttendeeCapacity
561
     *
562
     * @return static
563
     *
564
     * @see http://schema.org/remainingAttendeeCapacity
565
     */
566
    public function remainingAttendeeCapacity($remainingAttendeeCapacity)
567
    {
568
        return $this->setProperty('remainingAttendeeCapacity', $remainingAttendeeCapacity);
569
    }
570
571
    /**
572
     * A review of the item.
573
     *
574
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $review
575
     *
576
     * @return static
577
     *
578
     * @see http://schema.org/review
579
     */
580
    public function review($review)
581
    {
582
        return $this->setProperty('review', $review);
583
    }
584
585
    /**
586
     * URL of a reference Web page that unambiguously indicates the item's
587
     * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or
588
     * official website.
589
     *
590
     * @param string|string[] $sameAs
591
     *
592
     * @return static
593
     *
594
     * @see http://schema.org/sameAs
595
     */
596
    public function sameAs($sameAs)
597
    {
598
        return $this->setProperty('sameAs', $sameAs);
599
    }
600
601
    /**
602
     * A person or organization that supports a thing through a pledge, promise,
603
     * or financial contribution. e.g. a sponsor of a Medical Study or a
604
     * corporate sponsor of an event.
605
     *
606
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $sponsor
607
     *
608
     * @return static
609
     *
610
     * @see http://schema.org/sponsor
611
     */
612
    public function sponsor($sponsor)
613
    {
614
        return $this->setProperty('sponsor', $sponsor);
615
    }
616
617
    /**
618
     * The start date and time of the item (in [ISO 8601 date
619
     * format](http://en.wikipedia.org/wiki/ISO_8601)).
620
     *
621
     * @param \DateTimeInterface|\DateTimeInterface[] $startDate
622
     *
623
     * @return static
624
     *
625
     * @see http://schema.org/startDate
626
     */
627
    public function startDate($startDate)
628
    {
629
        return $this->setProperty('startDate', $startDate);
630
    }
631
632
    /**
633
     * An Event that is part of this event. For example, a conference event
634
     * includes many presentations, each of which is a subEvent of the
635
     * conference.
636
     *
637
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subEvent
638
     *
639
     * @return static
640
     *
641
     * @see http://schema.org/subEvent
642
     */
643
    public function subEvent($subEvent)
644
    {
645
        return $this->setProperty('subEvent', $subEvent);
646
    }
647
648
    /**
649
     * Events that are a part of this event. For example, a conference event
650
     * includes many presentations, each subEvents of the conference.
651
     *
652
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subEvents
653
     *
654
     * @return static
655
     *
656
     * @see http://schema.org/subEvents
657
     */
658
    public function subEvents($subEvents)
659
    {
660
        return $this->setProperty('subEvents', $subEvents);
661
    }
662
663
    /**
664
     * A CreativeWork or Event about this Thing.
665
     *
666
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf
667
     *
668
     * @return static
669
     *
670
     * @see http://schema.org/subjectOf
671
     */
672
    public function subjectOf($subjectOf)
673
    {
674
        return $this->setProperty('subjectOf', $subjectOf);
675
    }
676
677
    /**
678
     * An event that this event is a part of. For example, a collection of
679
     * individual music performances might each have a music festival as their
680
     * superEvent.
681
     *
682
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $superEvent
683
     *
684
     * @return static
685
     *
686
     * @see http://schema.org/superEvent
687
     */
688
    public function superEvent($superEvent)
689
    {
690
        return $this->setProperty('superEvent', $superEvent);
691
    }
692
693
    /**
694
     * Organization or person who adapts a creative work to different languages,
695
     * regional differences and technical requirements of a target market, or
696
     * that translates during some event.
697
     *
698
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $translator
699
     *
700
     * @return static
701
     *
702
     * @see http://schema.org/translator
703
     */
704
    public function translator($translator)
705
    {
706
        return $this->setProperty('translator', $translator);
707
    }
708
709
    /**
710
     * The typical expected age range, e.g. '7-9', '11-'.
711
     *
712
     * @param string|string[] $typicalAgeRange
713
     *
714
     * @return static
715
     *
716
     * @see http://schema.org/typicalAgeRange
717
     */
718
    public function typicalAgeRange($typicalAgeRange)
719
    {
720
        return $this->setProperty('typicalAgeRange', $typicalAgeRange);
721
    }
722
723
    /**
724
     * URL of the item.
725
     *
726
     * @param string|string[] $url
727
     *
728
     * @return static
729
     *
730
     * @see http://schema.org/url
731
     */
732
    public function url($url)
733
    {
734
        return $this->setProperty('url', $url);
735
    }
736
737
    /**
738
     * A work featured in some event, e.g. exhibited in an ExhibitionEvent.
739
     *        Specific subproperties are available for workPerformed (e.g. a
740
     * play), or a workPresented (a Movie at a ScreeningEvent).
741
     *
742
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $workFeatured
743
     *
744
     * @return static
745
     *
746
     * @see http://schema.org/workFeatured
747
     */
748
    public function workFeatured($workFeatured)
749
    {
750
        return $this->setProperty('workFeatured', $workFeatured);
751
    }
752
753
    /**
754
     * A work performed in some event, for example a play performed in a
755
     * TheaterEvent.
756
     *
757
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $workPerformed
758
     *
759
     * @return static
760
     *
761
     * @see http://schema.org/workPerformed
762
     */
763
    public function workPerformed($workPerformed)
764
    {
765
        return $this->setProperty('workPerformed', $workPerformed);
766
    }
767
768
}
769