UserInteraction::location()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 4
Ratio 100 %

Importance

Changes 0
Metric Value
dl 4
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
namespace Spatie\SchemaOrg;
4
5
use \Spatie\SchemaOrg\Contracts\UserInteractionContract;
6
use \Spatie\SchemaOrg\Contracts\EventContract;
7
use \Spatie\SchemaOrg\Contracts\ThingContract;
8
9
/**
10
 * UserInteraction and its subtypes is an old way of talking about users
11
 * interacting with pages. It is generally better to use [[Action]]-based
12
 * vocabulary, alongside types such as [[Comment]].
13
 *
14
 * @see http://schema.org/UserInteraction
15
 *
16
 */
17 View Code Duplication
class UserInteraction extends BaseType implements UserInteractionContract, EventContract, ThingContract
0 ignored issues
show
Duplication introduced by
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
     * A description of the item.
170
     *
171
     * @param string|string[] $description
172
     *
173
     * @return static
174
     *
175
     * @see http://schema.org/description
176
     */
177
    public function description($description)
178
    {
179
        return $this->setProperty('description', $description);
180
    }
181
182
    /**
183
     * A director of e.g. tv, radio, movie, video gaming etc. content, or of an
184
     * event. Directors can be associated with individual items or with a
185
     * series, episode, clip.
186
     *
187
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $director
188
     *
189
     * @return static
190
     *
191
     * @see http://schema.org/director
192
     */
193
    public function director($director)
194
    {
195
        return $this->setProperty('director', $director);
196
    }
197
198
    /**
199
     * A sub property of description. A short description of the item used to
200
     * disambiguate from other, similar items. Information from other properties
201
     * (in particular, name) may be necessary for the description to be useful
202
     * for disambiguation.
203
     *
204
     * @param string|string[] $disambiguatingDescription
205
     *
206
     * @return static
207
     *
208
     * @see http://schema.org/disambiguatingDescription
209
     */
210
    public function disambiguatingDescription($disambiguatingDescription)
211
    {
212
        return $this->setProperty('disambiguatingDescription', $disambiguatingDescription);
213
    }
214
215
    /**
216
     * The time admission will commence.
217
     *
218
     * @param \DateTimeInterface|\DateTimeInterface[] $doorTime
219
     *
220
     * @return static
221
     *
222
     * @see http://schema.org/doorTime
223
     */
224
    public function doorTime($doorTime)
225
    {
226
        return $this->setProperty('doorTime', $doorTime);
227
    }
228
229
    /**
230
     * The duration of the item (movie, audio recording, event, etc.) in [ISO
231
     * 8601 date format](http://en.wikipedia.org/wiki/ISO_8601).
232
     *
233
     * @param \Spatie\SchemaOrg\Contracts\DurationContract|\Spatie\SchemaOrg\Contracts\DurationContract[] $duration
234
     *
235
     * @return static
236
     *
237
     * @see http://schema.org/duration
238
     */
239
    public function duration($duration)
240
    {
241
        return $this->setProperty('duration', $duration);
242
    }
243
244
    /**
245
     * The end date and time of the item (in [ISO 8601 date
246
     * format](http://en.wikipedia.org/wiki/ISO_8601)).
247
     *
248
     * @param \DateTimeInterface|\DateTimeInterface[] $endDate
249
     *
250
     * @return static
251
     *
252
     * @see http://schema.org/endDate
253
     */
254
    public function endDate($endDate)
255
    {
256
        return $this->setProperty('endDate', $endDate);
257
    }
258
259
    /**
260
     * An eventStatus of an event represents its status; particularly useful
261
     * when an event is cancelled or rescheduled.
262
     *
263
     * @param \Spatie\SchemaOrg\Contracts\EventStatusTypeContract|\Spatie\SchemaOrg\Contracts\EventStatusTypeContract[] $eventStatus
264
     *
265
     * @return static
266
     *
267
     * @see http://schema.org/eventStatus
268
     */
269
    public function eventStatus($eventStatus)
270
    {
271
        return $this->setProperty('eventStatus', $eventStatus);
272
    }
273
274
    /**
275
     * A person or organization that supports (sponsors) something through some
276
     * kind of financial contribution.
277
     *
278
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $funder
279
     *
280
     * @return static
281
     *
282
     * @see http://schema.org/funder
283
     */
284
    public function funder($funder)
285
    {
286
        return $this->setProperty('funder', $funder);
287
    }
288
289
    /**
290
     * The identifier property represents any kind of identifier for any kind of
291
     * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides
292
     * dedicated properties for representing many of these, either as textual
293
     * strings or as URL (URI) links. See [background
294
     * notes](/docs/datamodel.html#identifierBg) for more details.
295
     *
296
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier
297
     *
298
     * @return static
299
     *
300
     * @see http://schema.org/identifier
301
     */
302
    public function identifier($identifier)
303
    {
304
        return $this->setProperty('identifier', $identifier);
305
    }
306
307
    /**
308
     * An image of the item. This can be a [[URL]] or a fully described
309
     * [[ImageObject]].
310
     *
311
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image
312
     *
313
     * @return static
314
     *
315
     * @see http://schema.org/image
316
     */
317
    public function image($image)
318
    {
319
        return $this->setProperty('image', $image);
320
    }
321
322
    /**
323
     * The language of the content or performance or used in an action. Please
324
     * use one of the language codes from the [IETF BCP 47
325
     * standard](http://tools.ietf.org/html/bcp47). See also
326
     * [[availableLanguage]].
327
     *
328
     * @param \Spatie\SchemaOrg\Contracts\LanguageContract|\Spatie\SchemaOrg\Contracts\LanguageContract[]|string|string[] $inLanguage
329
     *
330
     * @return static
331
     *
332
     * @see http://schema.org/inLanguage
333
     */
334
    public function inLanguage($inLanguage)
335
    {
336
        return $this->setProperty('inLanguage', $inLanguage);
337
    }
338
339
    /**
340
     * A flag to signal that the item, event, or place is accessible for free.
341
     *
342
     * @param bool|bool[] $isAccessibleForFree
343
     *
344
     * @return static
345
     *
346
     * @see http://schema.org/isAccessibleForFree
347
     */
348
    public function isAccessibleForFree($isAccessibleForFree)
349
    {
350
        return $this->setProperty('isAccessibleForFree', $isAccessibleForFree);
351
    }
352
353
    /**
354
     * The location of for example where the event is happening, an organization
355
     * is located, or where an action takes place.
356
     *
357
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[]|\Spatie\SchemaOrg\Contracts\PostalAddressContract|\Spatie\SchemaOrg\Contracts\PostalAddressContract[]|string|string[] $location
358
     *
359
     * @return static
360
     *
361
     * @see http://schema.org/location
362
     */
363
    public function location($location)
364
    {
365
        return $this->setProperty('location', $location);
366
    }
367
368
    /**
369
     * Indicates a page (or other CreativeWork) for which this thing is the main
370
     * entity being described. See [background
371
     * notes](/docs/datamodel.html#mainEntityBackground) for details.
372
     *
373
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage
374
     *
375
     * @return static
376
     *
377
     * @see http://schema.org/mainEntityOfPage
378
     */
379
    public function mainEntityOfPage($mainEntityOfPage)
380
    {
381
        return $this->setProperty('mainEntityOfPage', $mainEntityOfPage);
382
    }
383
384
    /**
385
     * The total number of individuals that may attend an event or venue.
386
     *
387
     * @param int|int[] $maximumAttendeeCapacity
388
     *
389
     * @return static
390
     *
391
     * @see http://schema.org/maximumAttendeeCapacity
392
     */
393
    public function maximumAttendeeCapacity($maximumAttendeeCapacity)
394
    {
395
        return $this->setProperty('maximumAttendeeCapacity', $maximumAttendeeCapacity);
396
    }
397
398
    /**
399
     * The name of the item.
400
     *
401
     * @param string|string[] $name
402
     *
403
     * @return static
404
     *
405
     * @see http://schema.org/name
406
     */
407
    public function name($name)
408
    {
409
        return $this->setProperty('name', $name);
410
    }
411
412
    /**
413
     * An offer to provide this item&#x2014;for example, an offer to sell a
414
     * product, rent the DVD of a movie, perform a service, or give away tickets
415
     * to an event. Use [[businessFunction]] to indicate the kind of transaction
416
     * offered, i.e. sell, lease, etc. This property can also be used to
417
     * describe a [[Demand]]. While this property is listed as expected on a
418
     * number of common types, it can be used in others. In that case, using a
419
     * second type, such as Product or a subtype of Product, can clarify the
420
     * nature of the offer.
421
     *
422
     * @param \Spatie\SchemaOrg\Contracts\DemandContract|\Spatie\SchemaOrg\Contracts\DemandContract[]|\Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $offers
423
     *
424
     * @return static
425
     *
426
     * @see http://schema.org/offers
427
     */
428
    public function offers($offers)
429
    {
430
        return $this->setProperty('offers', $offers);
431
    }
432
433
    /**
434
     * An organizer of an Event.
435
     *
436
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $organizer
437
     *
438
     * @return static
439
     *
440
     * @see http://schema.org/organizer
441
     */
442
    public function organizer($organizer)
443
    {
444
        return $this->setProperty('organizer', $organizer);
445
    }
446
447
    /**
448
     * A performer at the event&#x2014;for example, a presenter, musician,
449
     * musical group or actor.
450
     *
451
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $performer
452
     *
453
     * @return static
454
     *
455
     * @see http://schema.org/performer
456
     */
457
    public function performer($performer)
458
    {
459
        return $this->setProperty('performer', $performer);
460
    }
461
462
    /**
463
     * The main performer or performers of the event&#x2014;for example, a
464
     * presenter, musician, or actor.
465
     *
466
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $performers
467
     *
468
     * @return static
469
     *
470
     * @see http://schema.org/performers
471
     */
472
    public function performers($performers)
473
    {
474
        return $this->setProperty('performers', $performers);
475
    }
476
477
    /**
478
     * Indicates a potential Action, which describes an idealized action in
479
     * which this thing would play an 'object' role.
480
     *
481
     * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction
482
     *
483
     * @return static
484
     *
485
     * @see http://schema.org/potentialAction
486
     */
487
    public function potentialAction($potentialAction)
488
    {
489
        return $this->setProperty('potentialAction', $potentialAction);
490
    }
491
492
    /**
493
     * Used in conjunction with eventStatus for rescheduled or cancelled events.
494
     * This property contains the previously scheduled start date. For
495
     * rescheduled events, the startDate property should be used for the newly
496
     * scheduled start date. In the (rare) case of an event that has been
497
     * postponed and rescheduled multiple times, this field may be repeated.
498
     *
499
     * @param \DateTimeInterface|\DateTimeInterface[] $previousStartDate
500
     *
501
     * @return static
502
     *
503
     * @see http://schema.org/previousStartDate
504
     */
505
    public function previousStartDate($previousStartDate)
506
    {
507
        return $this->setProperty('previousStartDate', $previousStartDate);
508
    }
509
510
    /**
511
     * The CreativeWork that captured all or part of this Event.
512
     *
513
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $recordedIn
514
     *
515
     * @return static
516
     *
517
     * @see http://schema.org/recordedIn
518
     */
519
    public function recordedIn($recordedIn)
520
    {
521
        return $this->setProperty('recordedIn', $recordedIn);
522
    }
523
524
    /**
525
     * The number of attendee places for an event that remain unallocated.
526
     *
527
     * @param int|int[] $remainingAttendeeCapacity
528
     *
529
     * @return static
530
     *
531
     * @see http://schema.org/remainingAttendeeCapacity
532
     */
533
    public function remainingAttendeeCapacity($remainingAttendeeCapacity)
534
    {
535
        return $this->setProperty('remainingAttendeeCapacity', $remainingAttendeeCapacity);
536
    }
537
538
    /**
539
     * A review of the item.
540
     *
541
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $review
542
     *
543
     * @return static
544
     *
545
     * @see http://schema.org/review
546
     */
547
    public function review($review)
548
    {
549
        return $this->setProperty('review', $review);
550
    }
551
552
    /**
553
     * URL of a reference Web page that unambiguously indicates the item's
554
     * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or
555
     * official website.
556
     *
557
     * @param string|string[] $sameAs
558
     *
559
     * @return static
560
     *
561
     * @see http://schema.org/sameAs
562
     */
563
    public function sameAs($sameAs)
564
    {
565
        return $this->setProperty('sameAs', $sameAs);
566
    }
567
568
    /**
569
     * A person or organization that supports a thing through a pledge, promise,
570
     * or financial contribution. e.g. a sponsor of a Medical Study or a
571
     * corporate sponsor of an event.
572
     *
573
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $sponsor
574
     *
575
     * @return static
576
     *
577
     * @see http://schema.org/sponsor
578
     */
579
    public function sponsor($sponsor)
580
    {
581
        return $this->setProperty('sponsor', $sponsor);
582
    }
583
584
    /**
585
     * The start date and time of the item (in [ISO 8601 date
586
     * format](http://en.wikipedia.org/wiki/ISO_8601)).
587
     *
588
     * @param \DateTimeInterface|\DateTimeInterface[] $startDate
589
     *
590
     * @return static
591
     *
592
     * @see http://schema.org/startDate
593
     */
594
    public function startDate($startDate)
595
    {
596
        return $this->setProperty('startDate', $startDate);
597
    }
598
599
    /**
600
     * An Event that is part of this event. For example, a conference event
601
     * includes many presentations, each of which is a subEvent of the
602
     * conference.
603
     *
604
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subEvent
605
     *
606
     * @return static
607
     *
608
     * @see http://schema.org/subEvent
609
     */
610
    public function subEvent($subEvent)
611
    {
612
        return $this->setProperty('subEvent', $subEvent);
613
    }
614
615
    /**
616
     * Events that are a part of this event. For example, a conference event
617
     * includes many presentations, each subEvents of the conference.
618
     *
619
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subEvents
620
     *
621
     * @return static
622
     *
623
     * @see http://schema.org/subEvents
624
     */
625
    public function subEvents($subEvents)
626
    {
627
        return $this->setProperty('subEvents', $subEvents);
628
    }
629
630
    /**
631
     * A CreativeWork or Event about this Thing.
632
     *
633
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf
634
     *
635
     * @return static
636
     *
637
     * @see http://schema.org/subjectOf
638
     */
639
    public function subjectOf($subjectOf)
640
    {
641
        return $this->setProperty('subjectOf', $subjectOf);
642
    }
643
644
    /**
645
     * An event that this event is a part of. For example, a collection of
646
     * individual music performances might each have a music festival as their
647
     * superEvent.
648
     *
649
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $superEvent
650
     *
651
     * @return static
652
     *
653
     * @see http://schema.org/superEvent
654
     */
655
    public function superEvent($superEvent)
656
    {
657
        return $this->setProperty('superEvent', $superEvent);
658
    }
659
660
    /**
661
     * Organization or person who adapts a creative work to different languages,
662
     * regional differences and technical requirements of a target market, or
663
     * that translates during some event.
664
     *
665
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $translator
666
     *
667
     * @return static
668
     *
669
     * @see http://schema.org/translator
670
     */
671
    public function translator($translator)
672
    {
673
        return $this->setProperty('translator', $translator);
674
    }
675
676
    /**
677
     * The typical expected age range, e.g. '7-9', '11-'.
678
     *
679
     * @param string|string[] $typicalAgeRange
680
     *
681
     * @return static
682
     *
683
     * @see http://schema.org/typicalAgeRange
684
     */
685
    public function typicalAgeRange($typicalAgeRange)
686
    {
687
        return $this->setProperty('typicalAgeRange', $typicalAgeRange);
688
    }
689
690
    /**
691
     * URL of the item.
692
     *
693
     * @param string|string[] $url
694
     *
695
     * @return static
696
     *
697
     * @see http://schema.org/url
698
     */
699
    public function url($url)
700
    {
701
        return $this->setProperty('url', $url);
702
    }
703
704
    /**
705
     * A work featured in some event, e.g. exhibited in an ExhibitionEvent.
706
     *        Specific subproperties are available for workPerformed (e.g. a
707
     * play), or a workPresented (a Movie at a ScreeningEvent).
708
     *
709
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $workFeatured
710
     *
711
     * @return static
712
     *
713
     * @see http://schema.org/workFeatured
714
     */
715
    public function workFeatured($workFeatured)
716
    {
717
        return $this->setProperty('workFeatured', $workFeatured);
718
    }
719
720
    /**
721
     * A work performed in some event, for example a play performed in a
722
     * TheaterEvent.
723
     *
724
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $workPerformed
725
     *
726
     * @return static
727
     *
728
     * @see http://schema.org/workPerformed
729
     */
730
    public function workPerformed($workPerformed)
731
    {
732
        return $this->setProperty('workPerformed', $workPerformed);
733
    }
734
735
}
736