Passed
Push — master ( 68008b...85a044 )
by SignpostMarv
12:46
created

CreativeWork::SetProducer()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
* @author SignpostMarv
4
*/
5
declare(strict_types=1);
6
7
namespace SignpostMarv\DaftObject\SchemaOrg;
8
9
use SignpostMarv\DaftObject\SchemaOrg\CreativeWork\Comment;
10
use SignpostMarv\DaftObject\SchemaOrg\CreativeWork\Comment\CorrectionComment;
11
use SignpostMarv\DaftObject\SchemaOrg\CreativeWork\MediaObject;
12
use SignpostMarv\DaftObject\SchemaOrg\CreativeWork\MediaObject\AudioObject;
13
use SignpostMarv\DaftObject\SchemaOrg\CreativeWork\MediaObject\VideoObject;
14
use SignpostMarv\DaftObject\SchemaOrg\DataTypes\Date;
15
use SignpostMarv\DaftObject\SchemaOrg\DataTypes\DateTime;
16
use SignpostMarv\DaftObject\SchemaOrg\Event\PublicationEvent;
17
use SignpostMarv\DaftObject\SchemaOrg\Intangible\AlignmentObject;
18
use SignpostMarv\DaftObject\SchemaOrg\Intangible\Quantity\Duration;
19
use SignpostMarv\DaftObject\SchemaOrg\Intangible\Rating;
20
use SignpostMarv\DaftObject\SchemaOrg\Intangible\StructuredValue\InteractionCounter;
21
use SignpostMarv\DaftObject\SchemaOrg\Intangible\Trip;
22
23
/**
24
* @property array<int, Thing> $about
25
* @property array<int, string> $accessMode
26
* @property array<int, string> $accessModeSufficient
27
* @property array<int, string> $accessibilityAPI
28
* @property array<int, string> $accessibilityControl
29
* @property array<int, string> $accessibilityFeature
30
* @property array<int, string> $accessibilityHazard
31
* @property array<int, string> $accessibilitySummary
32
* @property array<int, Person> $accountablePerson
33
* @property array<int, AggregateRating> $aggregateRating
34
* @property array<int, string> $alternativeHeadline
35
* @property array<int, MediaObject> $associatedMedia
36
* @property array<int, Audience> $audience
37
* @property array<int, AudioObject> $audio
38
* @property array<int, Organization|Person> $author
39
* @property array<int, string> $award
40
* @property array<int, Person> $character
41
* @property array<int, string|CreativeWork> $citation
42
* @property array<int, Comment> $comment
43
* @property array<int, int> $commentCount
44
* @property array<int, Place> $contentLocation
45
* @property array<int, Rating> $contentRating
46
* @property array<int, DateTime> $contentReferenceTime
47
* @property array<int, Organization|Person> $contributor
48
* @property array<int, Organization|Person> $copyrightHolder
49
* @property array<int, int> $copyrightYear
50
* @property array<int, string|CorrectionComment> $correction
51
* @property array<int, Organization|Person> $creator
52
* @property array<int, Date|DateTime> $dateCreated
53
* @property array<int, Date|DateTime> $dateModified
54
* @property array<int, Date|DateTime> $datePublished
55
* @property array<int, string> $discussionUrl
56
* @property array<int, Person> $editor
57
* @property array<int, AlignmentObject> $educationalAlignment
58
* @property array<int, string> $educationalUse
59
* @property array<int, MediaObject> $encoding
60
* @property array<int, string> $encodingFormat
61
* @property array<int, CreativeWork> $exampleOfWork
62
* @property array<int, Date> $expires
63
* @property array<int, Organization|Person> $funder
64
* @property array<int, string> $genre
65
* @property array<int, CreativeWork|Intangible\Trip> $hasPart
66
* @property array<int, string> $headline
67
* @property array<int, string|Language> $inLanguage
68
* @property array<int, InteractionCounter> $interactionStatistic
69
* @property array<int, string> $interactivityType
70
* @property array<int, bool> $isAccessibleForFree
71
* @property array<int, string|CreativeWork|Product> $isBasedOn
72
* @property array<int, bool> $isFamilyFriendly
73
* @property array<int, CreativeWork|Intangible\Trip> $isPartOf
74
* @property array<int, string> $keywords
75
* @property array<int, string> $learningResourceType
76
* @property array<int, string|CreativeWork> $license
77
* @property array<int, string|Place|PostalAddress> $location
78
* @property array<int, Place> $locationCreated
79
* @property array<int, Thing> $mainEntity
80
* @property array<int, Product> $material
81
* @property array<int, Thing> $mentions
82
* @property array<int, Offer> $offers
83
* @property array<int, int|string> $position
84
* @property array<int, Organization|Person> $producer
85
* @property array<int, Organization|Person> $provider
86
* @property array<int, PublicationEvent> $publication
87
* @property array<int, Organization|Person> $publisher
88
* @property array<int, Organization> $publisherImprint
89
* @property array<int, string|CreativeWork> $publishingPrinciples
90
* @property array<int, Event> $recordedAt
91
* @property array<int, PublicationEvent> $releasedEvent
92
* @property array<int, Review> $review
93
* @property array<int, string> $schemaVersion
94
* @property array<int, Date> $sdDatePublished
95
* @property array<int, string|CreativeWork> $sdLicense
96
* @property array<int, Organization|Person> $sdPublisher
97
* @property array<int, Organization> $sourceOrganization
98
* @property array<int, Place> $spatialCoverage
99
* @property array<int, Organization|Person> $sponsor
100
* @property array<int, string|DateTime> $temporalCoverage
101
* @property array<int, string> $text
102
* @property array<int, string> $thumbnailUrl
103
* @property array<int, Duration> $timeRequired
104
* @property array<int, CreativeWork> $translationOfWork
105
* @property array<int, Organization|Person> $translator
106
* @property array<int, string> $typicalAgeRange
107
* @property array<int, int|string> $version
108
* @property array<int, VideoObject> $video
109
* @property array<int, CreativeWork> $workExample
110
* @property array<int, CreativeWork> $workTranslation
111
*/
112
class CreativeWork extends Thing
113
{
114
    use DaftObjectTraits\About;
115
    use DaftObjectTraits\HasAggregateRating;
116
    use DaftObjectTraits\HasAudience;
117
    use DaftObjectTraits\HasAuthor;
118
    use DaftObjectTraits\HasAward;
119
    use DaftObjectTraits\HasFunder;
120
    use DaftObjectTraits\Genre;
121
    use DaftObjectTraits\HasHasPart;
122
    use DaftObjectTraits\HasInLanguage;
123
    use DaftObjectTraits\HasIsAccessibleForFree;
124
    use DaftObjectTraits\HasMaterial;
125
    use DaftObjectTraits\HasOffers;
126
    use DaftObjectTraits\HasProvider;
127
    use DaftObjectTraits\HasPublishingPrinciples;
128
    use DaftObjectTraits\HasReview;
129
    use DaftObjectTraits\HasSponsors;
130
    use DaftObjectTraits\HasTranslators;
131
    use DaftObjectTraits\HasTypicalAgeRanges;
132
133
    const SCHEMA_ORG_TYPE = 'CreativeWork';
134
135
    const PROPERTIES = [
136
        'about',
137
        'accessMode',
138
        'accessModeSufficient',
139
        'accessibilityAPI',
140
        'accessibilityControl',
141
        'accessibilityFeature',
142
        'accessibilityHazard',
143
        'accessibilitySummary',
144
        'accountablePerson',
145
        'aggregateRating',
146
        'alternativeHeadline',
147
        'associatedMedia',
148
        'audience',
149
        'audio',
150
        'author',
151
        'award',
152
        'character',
153
        'citation',
154
        'comment',
155
        'commentCount',
156
        'contentLocation',
157
        'contentRating',
158
        'contentReferenceTime',
159
        'contributor',
160
        'copyrightHolder',
161
        'copyrightYear',
162
        'correction',
163
        'creator',
164
        'dateCreated',
165
        'dateModified',
166
        'datePublished',
167
        'discussionUrl',
168
        'editor',
169
        'educationalAlignment',
170
        'educationalUse',
171
        'encoding',
172
        'encodingFormat',
173
        'exampleOfWork',
174
        'expires',
175
        'funder',
176
        'genre',
177
        'hasPart',
178
        'headline',
179
        'inLanguage',
180
        'interactionStatistic',
181
        'interactivityType',
182
        'isAccessibleForFree',
183
        'isBasedOn',
184
        'isFamilyFriendly',
185
        'isPartOf',
186
        'keywords',
187
        'learningResourceType',
188
        'license',
189
        'locationCreated',
190
        'mainEntity',
191
        'material',
192
        'mentions',
193
        'offers',
194
        'position',
195
        'producer',
196
        'provider',
197
        'publication',
198
        'publisher',
199
        'publisherImprint',
200
        'publishingPrinciples',
201
        'recordedAt',
202
        'releasedEvent',
203
        'review',
204
        'schemaVersion',
205
        'sdDatePublished',
206
        'sdLicense',
207
        'sdPublisher',
208
        'sourceOrganization',
209
        'spatialCoverage',
210
        'sponsor',
211
        'temporalCoverage',
212
        'text',
213
        'thumbnailUrl',
214
        'timeRequired',
215
        'translationOfWork',
216
        'translator',
217
        'typicalAgeRange',
218
        'version',
219
        'video',
220
        'workExample',
221
        'workTranslation',
222
    ];
223
224
    const PROPERTIES_WITH_MULTI_TYPED_ARRAYS = [
225
        'about' => TypeUtilities::MULTI_TYPE_DICT__about,
226
        'accessMode' => [
227
            'string',
228
        ],
229
        'accessModeSufficient' => [
230
            'string',
231
        ],
232
        'accessibilityAPI' => [
233
            'string',
234
        ],
235
        'accessibilityControl' => [
236
            'string',
237
        ],
238
        'accessibilityFeature' => [
239
            'string',
240
        ],
241
        'accessibilityHazard' => [
242
            'string',
243
        ],
244
        'accessibilitySummary' => [
245
            'string',
246
        ],
247
        'accountablePerson' => [
248
            Person::class,
249
        ],
250
        'aggregateRating' => TypeUtilities::MULTI_TYPE_DICT__aggregateRating,
251
        'alternativeHeadline' => [
252
            'string',
253
        ],
254
        'associatedMedia' => [
255
            MediaObject::class,
256
        ],
257
        'audience' => TypeUtilities::MULTI_TYPE_DICT__audience,
258
        'audio' => [
259
            AudioObject::class,
260
        ],
261
        'author' => TypeUtilities::MULTI_TYPE_DICT__author,
262
        'award' => TypeUtilities::MULTI_TYPE_DICT__award,
263
        'character' => [
264
            Person::class,
265
        ],
266
        'citation' => [
267
            'string',
268
            CreativeWork::class,
269
        ],
270
        'comment' => [
271
            Comment::class,
272
        ],
273
        'commentCount' => [
274
            'integer',
275
        ],
276
        'contentLocation' => [
277
            Place::class,
278
        ],
279
        'contentRating' => [
280
            Rating::class,
281
        ],
282
        'contentReferenceTime' => [
283
            DateTime::class,
284
        ],
285
        'contributor' => [
286
            Organization::class,
287
            Person::class,
288
        ],
289
        'copyrightHolder' => [
290
            Organization::class,
291
            Person::class,
292
        ],
293
        'copyrightYear' => [
294
            'integer',
295
        ],
296
        'correction' => [
297
            'string',
298
            CorrectionComment::class,
299
        ],
300
        'creator' => [
301
            Organization::class,
302
            Person::class,
303
        ],
304
        'dateCreated' => [
305
            Date::class,
306
            DateTime::class,
307
        ],
308
        'dateModified' => [
309
            Date::class,
310
            DateTime::class,
311
        ],
312
        'datePublished' => [
313
            Date::class,
314
            DateTime::class,
315
        ],
316
        'discussionUrl' => [
317
            'string',
318
        ],
319
        'editor' => [
320
            Person::class,
321
        ],
322
        'educationalAlignment' => [
323
            AlignmentObject::class,
324
        ],
325
        'educationalUse' => [
326
            'string',
327
        ],
328
        'encoding' => [
329
            MediaObject::class,
330
        ],
331
        'encodingFormat' => [
332
            'string',
333
        ],
334
        'exampleOfWork' => [
335
            CreativeWork::class,
336
        ],
337
        'expires' => [
338
            Date::class,
339
        ],
340
        'funder' => TypeUtilities::MULTI_TYPE_DICT__funder,
341
        'genre' => TypeUtilities::MULTI_TYPE_DICT__genre,
342
        'hasPart' => TypeUtilities::MULTI_TYPE_DICT__hasPart,
343
        'headline' => [
344
            'string',
345
        ],
346
        'inLanguage' => [
347
            'string',
348
            Intangible\Language::class,
349
        ],
350
        'interactionStatistic' => [
351
            InteractionCounter::class,
352
        ],
353
        'interactivityType' => [
354
            'string',
355
        ],
356
        'isAccessibleForFree' => TypeUtilities::MULTI_TYPE_DICT__isAccessibleForFree,
357
        'isBasedOn' => [
358
            'string',
359
            CreativeWork::class,
360
            Product::class,
361
        ],
362
        'isFamilyFriendly' => [
363
            'boolean',
364
        ],
365
        'isPartOf' => [
366
            CreativeWork::class,
367
            Trip::class,
368
        ],
369
        'keywords' => [
370
            'string',
371
        ],
372
        'learningResourceType' => [
373
            'string',
374
        ],
375
        'license' => [
376
            'string',
377
            CreativeWork::class,
378
        ],
379
        'location' => TypeUtilities::MULTI_TYPE_DICT__location,
380
        'locationCreated' => [
381
            Place::class,
382
        ],
383
        'mainEntity' => [
384
            Thing::class,
385
        ],
386
        'material' => TypeUtilities::MULTI_TYPE_DICT__material,
387
        'mentions' => [
388
            Thing::class,
389
        ],
390
        'offers' => TypeUtilities::MULTI_TYPE_DICT__offers,
391
        'position' => [
392
            'integer',
393
            'string',
394
        ],
395
        'producer' => [
396
            Organization::class,
397
            Person::class,
398
        ],
399
        'provider' => TypeUtilities::MULTI_TYPE_DICT__provider,
400
        'publication' => [
401
            PublicationEvent::class,
402
        ],
403
        'publisher' => [
404
            Organization::class,
405
            Person::class,
406
        ],
407
        'publisherImprint' => [
408
            Organization::class,
409
        ],
410
        'publishingPrinciples' => TypeUtilities::MULTI_TYPE_DICT__publishingPrinciples,
411
        'recordedAt' => [
412
            Event::class,
413
        ],
414
        'releasedEvent' => [
415
            PublicationEvent::class,
416
        ],
417
        'review' => TypeUtilities::MULTI_TYPE_DICT__review,
418
        'schemaVersion' => [
419
            'string',
420
        ],
421
        'sdDatePublished' => [
422
            Date::class,
423
        ],
424
        'sdLicense' => [
425
            'string',
426
            CreativeWork::class,
427
        ],
428
        'sdPublisher' => [
429
            Organization::class,
430
            Person::class,
431
        ],
432
        'sourceOrganization' => [
433
            Organization::class,
434
        ],
435
        'spatialCoverage' => [
436
            Place::class,
437
        ],
438
        'sponsor' => TypeUtilities::MULTI_TYPE_DICT__sponsor,
439
        'temporalCoverage' => [
440
            'string',
441
            DateTime::class,
442
        ],
443
        'text' => [
444
            'string',
445
        ],
446
        'thumbnailUrl' => [
447
            'string',
448
        ],
449
        'timeRequired' => [
450
            Duration::class,
451
        ],
452
        'translationOfWork' => [
453
            CreativeWork::class,
454
        ],
455
        'translator' => [
456
            Organization::class,
457
            Person::class,
458
        ],
459
        'typicalAgeRange' => TypeUtilities::MULTI_TYPE_DICT__typicalAgeRange,
460
        'version' => [
461
            'integer',
462
            'string',
463
        ],
464
        'video' => [
465
            VideoObject::class,
466
        ],
467
        'workExample' => [
468
            CreativeWork::class,
469
        ],
470
        'workTranslation' => [
471
            CreativeWork::class,
472
        ],
473
    ];
474
475
    /**
476
    * @return array<int, string>
477
    */
478 320
    public function GetAccessMode() : array
479
    {
480 320
        return $this->ExpectRetrievedValueIsArrayOfStrings('accessMode');
481
    }
482
483
    /**
484
    * @param array<int, string> $value
485
    */
486 61
    public function SetAccessMode(array $value) : void
487
    {
488 61
        $this->NudgePropertyValue('accessMode', $value, true);
489 61
    }
490
491
    /**
492
    * @return array<int, string>
493
    */
494 320
    public function GetAccessModeSufficient() : array
495
    {
496 320
        return $this->ExpectRetrievedValueIsArrayOfStrings('accessModeSufficient');
497
    }
498
499
    /**
500
    * @param array<int, string> $value
501
    */
502 61
    public function SetAccessModeSufficient(array $value) : void
503
    {
504 61
        $this->NudgePropertyValue('accessModeSufficient', $value, true);
505 61
    }
506
507
    /**
508
    * @return array<int, string>
509
    */
510 320
    public function GetAccessibilityAPI() : array
511
    {
512 320
        return $this->ExpectRetrievedValueIsArrayOfStrings('accessibilityAPI');
513
    }
514
515
    /**
516
    * @param array<int, string> $value
517
    */
518 61
    public function SetAccessibilityAPI(array $value) : void
519
    {
520 61
        $this->NudgePropertyValue('accessibilityAPI', $value, true);
521 61
    }
522
523
    /**
524
    * @return array<int, string>
525
    */
526 320
    public function GetAccessibilityControl() : array
527
    {
528 320
        return $this->ExpectRetrievedValueIsArrayOfStrings('accessibilityControl');
529
    }
530
531
    /**
532
    * @param array<int, string> $value
533
    */
534 61
    public function SetAccessibilityControl(array $value) : void
535
    {
536 61
        $this->NudgePropertyValue('accessibilityControl', $value, true);
537 61
    }
538
539
    /**
540
    * @return array<int, string>
541
    */
542 320
    public function GetAccessibilityFeature() : array
543
    {
544 320
        return $this->ExpectRetrievedValueIsArrayOfStrings('accessibilityFeature');
545
    }
546
547
    /**
548
    * @param array<int, string> $value
549
    */
550 61
    public function SetAccessibilityFeature(array $value) : void
551
    {
552 61
        $this->NudgePropertyValue('accessibilityFeature', $value, true);
553 61
    }
554
555
    /**
556
    * @return array<int, string>
557
    */
558 320
    public function GetAccessibilityHazard() : array
559
    {
560 320
        return $this->ExpectRetrievedValueIsArrayOfStrings('accessibilityHazard');
561
    }
562
563
    /**
564
    * @param array<int, string> $value
565
    */
566 61
    public function SetAccessibilityHazard(array $value) : void
567
    {
568 61
        $this->NudgePropertyValue('accessibilityHazard', $value, true);
569 61
    }
570
571
    /**
572
    * @return array<int, string>
573
    */
574 320
    public function GetAccessibilitySummary() : array
575
    {
576 320
        return $this->ExpectRetrievedValueIsArrayOfStrings('accessibilitySummary');
577
    }
578
579
    /**
580
    * @param array<int, string> $value
581
    */
582 61
    public function SetAccessibilitySummary(array $value) : void
583
    {
584 61
        $this->NudgePropertyValue('accessibilitySummary', $value, true);
585 61
    }
586
587
    /**
588
    * @return array<int, Person>
589
    */
590 320
    public function GetAccountablePerson() : array
591
    {
592
        /**
593
        * @var array<int, Person>
594
        */
595 320
        $out = $this->ExpectRetrievedValueIsArray('accountablePerson');
596
597 320
        return $out;
598
    }
599
600
    /**
601
    * @param array<int, Person> $value
602
    */
603 61
    public function SetAccountablePerson(array $value) : void
604
    {
605 61
        $this->NudgePropertyValue('accountablePerson', $value);
606 61
    }
607
608
    /**
609
    * @return array<int, string>
610
    */
611 320
    public function GetAlternativeHeadline() : array
612
    {
613 320
        return $this->ExpectRetrievedValueIsArrayOfStrings('alternativeHeadline');
614
    }
615
616
    /**
617
    * @param array<int, string> $value
618
    */
619 61
    public function SetAlternativeHeadline(array $value) : void
620
    {
621 61
        $this->NudgePropertyValue('alternativeHeadline', $value, true);
622 61
    }
623
624
    /**
625
    * @return array<int, MediaObject>
626
    */
627 320
    public function GetAssociatedMedia() : array
628
    {
629
        /**
630
        * @var array<int, MediaObject>
631
        */
632 320
        $out = $this->ExpectRetrievedValueIsArray('associatedMedia');
633
634 320
        return $out;
635
    }
636
637
    /**
638
    * @param array<int, MediaObject> $value
639
    */
640 61
    public function SetAssociatedMedia(array $value) : void
641
    {
642 61
        $this->NudgePropertyValue('associatedMedia', $value);
643 61
    }
644
645
    /**
646
    * @return array<int, AudioObject>
647
    */
648 320
    public function GetAudio() : array
649
    {
650
        /**
651
        * @var array<int, AudioObject>
652
        */
653 320
        $out = $this->ExpectRetrievedValueIsArray('audio');
654
655 320
        return $out;
656
    }
657
658
    /**
659
    * @param array<int, AudioObject> $value
660
    */
661 61
    public function SetAudio(array $value) : void
662
    {
663 61
        $this->NudgePropertyValue('audio', $value);
664 61
    }
665
666
    /**
667
    * @return array<int, Person>
668
    */
669 320
    public function GetCharacter() : array
670
    {
671
        /**
672
        * @var array<int, Person>
673
        */
674 320
        $out = $this->ExpectRetrievedValueIsArray('character');
675
676 320
        return $out;
677
    }
678
679
    /**
680
    * @param array<int, Person> $value
681
    */
682 61
    public function SetCharacter(array $value) : void
683
    {
684 61
        $this->NudgePropertyValue('character', $value);
685 61
    }
686
687
    /**
688
    * @return array<int, string|CreativeWork>
689
    */
690 320
    public function GetCitation() : array
691
    {
692
        /**
693
        * @var array<int, string|CreativeWork>
694
        */
695 320
        $out = $this->ExpectRetrievedValueIsArray('citation');
696
697 320
        return $out;
698
    }
699
700
    /**
701
    * @param array<int, string|CreativeWork> $value
702
    */
703 61
    public function SetCitation(array $value) : void
704
    {
705 61
        $this->NudgePropertyValue('citation', $value, true);
706 61
    }
707
708
    /**
709
    * @return array<int, Comment>
710
    */
711 320
    public function GetComment() : array
712
    {
713
        /**
714
        * @var array<int, Comment>
715
        */
716 320
        $out = $this->ExpectRetrievedValueIsArray('comment');
717
718 320
        return $out;
719
    }
720
721
    /**
722
    * @param array<int, Comment> $value
723
    */
724 61
    public function SetComment(array $value) : void
725
    {
726 61
        $this->NudgePropertyValue('comment', $value);
727 61
    }
728
729
    /**
730
    * @return array<int, int>
731
    */
732 320
    public function GetCommentCount() : array
733
    {
734
        /**
735
        * @var array<int, int>
736
        */
737 320
        $out = $this->ExpectRetrievedValueIsArray('commentCount');
738
739 320
        return $out;
740
    }
741
742
    /**
743
    * @param array<int, int> $value
744
    */
745 61
    public function SetCommentCount(array $value) : void
746
    {
747 61
        $this->NudgePropertyValue('commentCount', $value);
748 61
    }
749
750
    /**
751
    * @return array<int, Place>
752
    */
753 320
    public function GetContentLocation() : array
754
    {
755
        /**
756
        * @var array<int, Place>
757
        */
758 320
        $out = $this->ExpectRetrievedValueIsArray('contentLocation');
759
760 320
        return $out;
761
    }
762
763
    /**
764
    * @param array<int, Place> $value
765
    */
766 61
    public function SetContentLocation(array $value) : void
767
    {
768 61
        $this->NudgePropertyValue('contentLocation', $value);
769 61
    }
770
771
    /**
772
    * @return array<int, Rating>
773
    */
774 320
    public function GetContentRating() : array
775
    {
776
        /**
777
        * @var array<int, Rating>
778
        */
779 320
        $out = $this->ExpectRetrievedValueIsArray('contentRating');
780
781 320
        return $out;
782
    }
783
784
    /**
785
    * @param array<int, Rating> $value
786
    */
787 61
    public function SetContentRating(array $value) : void
788
    {
789 61
        $this->NudgePropertyValue('contentRating', $value);
790 61
    }
791
792
    /**
793
    * @return array<int, DateTime>
794
    */
795 320
    public function GetContentReferenceTime() : array
796
    {
797
        /**
798
        * @var array<int, DateTime>
799
        */
800 320
        $out = $this->ExpectRetrievedValueIsArray('contentReferenceTime');
801
802 320
        return $out;
803
    }
804
805
    /**
806
    * @param array<int, DateTime> $value
807
    */
808 61
    public function SetContentReferenceTime(array $value) : void
809
    {
810 61
        $this->NudgePropertyValue('contentReferenceTime', $value);
811 61
    }
812
813
    /**
814
    * @return array<int, Organization|Person>
815
    */
816 320
    public function GetContributor() : array
817
    {
818
        /**
819
        * @var array<int, Organization|Person>
820
        */
821 320
        $out = $this->ExpectRetrievedValueIsArray('contributor');
822
823 320
        return $out;
824
    }
825
826
    /**
827
    * @param array<int, Organization|Person> $value
828
    */
829 61
    public function SetContributor(array $value) : void
830
    {
831 61
        $this->NudgePropertyValue('contributor', $value);
832 61
    }
833
834
    /**
835
    * @return array<int, Organization|Person>
836
    */
837 320
    public function GetCopyrightHolder() : array
838
    {
839
        /**
840
        * @var array<int, Organization|Person>
841
        */
842 320
        $out = $this->ExpectRetrievedValueIsArray('copyrightHolder');
843
844 320
        return $out;
845
    }
846
847
    /**
848
    * @param array<int, Organization|Person> $value
849
    */
850 61
    public function SetCopyrightHolder(array $value) : void
851
    {
852 61
        $this->NudgePropertyValue('copyrightHolder', $value);
853 61
    }
854
855
    /**
856
    * @return array<int, int>
857
    */
858 320
    public function GetCopyrightYear() : array
859
    {
860
        /**
861
        * @var array<int, int>
862
        */
863 320
        $out = $this->ExpectRetrievedValueIsArray('copyrightYear');
864
865 320
        return $out;
866
    }
867
868
    /**
869
    * @param array<int, int> $value
870
    */
871 61
    public function SetCopyrightYear(array $value) : void
872
    {
873 61
        $this->NudgePropertyValue('copyrightYear', $value);
874 61
    }
875
876
    /**
877
    * @return array<int, string|CorrectionComment>
878
    */
879 320
    public function GetCorrection() : array
880
    {
881
        /**
882
        * @var array<int, string|CorrectionComment>
883
        */
884 320
        $out = $this->ExpectRetrievedValueIsArray('correction');
885
886 320
        return $out;
887
    }
888
889
    /**
890
    * @param array<int, string|CorrectionComment> $value
891
    */
892 61
    public function SetCorrection(array $value) : void
893
    {
894 61
        $this->NudgePropertyValue('correction', $value, true);
895 61
    }
896
897
    /**
898
    * @return array<int, Organization|Person>
899
    */
900 320
    public function GetCreator() : array
901
    {
902
        /**
903
        * @var array<int, Organization|Person>
904
        */
905 320
        $out = $this->ExpectRetrievedValueIsArray('creator');
906
907 320
        return $out;
908
    }
909
910
    /**
911
    * @param array<int, Organization|Person> $value
912
    */
913 61
    public function SetCreator(array $value) : void
914
    {
915 61
        $this->NudgePropertyValue('creator', $value);
916 61
    }
917
918
    /**
919
    * @return array<int, Date|DateTime>
920
    */
921 320
    public function GetDateCreated() : array
922
    {
923
        /**
924
        * @var array<int, Date|DateTime>
925
        */
926 320
        $out = $this->ExpectRetrievedValueIsArray('dateCreated');
927
928 320
        return $out;
929
    }
930
931
    /**
932
    * @param array<int, Date|DateTime> $value
933
    */
934 61
    public function SetDateCreated(array $value) : void
935
    {
936 61
        $this->NudgePropertyValue('dateCreated', $value);
937 61
    }
938
939
    /**
940
    * @return array<int, Date|DateTime>
941
    */
942 320
    public function GetDateModified() : array
943
    {
944
        /**
945
        * @var array<int, Date|DateTime>
946
        */
947 320
        $out = $this->ExpectRetrievedValueIsArray('dateModified');
948
949 320
        return $out;
950
    }
951
952
    /**
953
    * @param array<int, Date|DateTime> $value
954
    */
955 61
    public function SetDateModified(array $value) : void
956
    {
957 61
        $this->NudgePropertyValue('dateModified', $value);
958 61
    }
959
960
    /**
961
    * @return array<int, Date|DateTime>
962
    */
963 320
    public function GetDatePublished() : array
964
    {
965
        /**
966
        * @var array<int, Date|DateTime>
967
        */
968 320
        $out = $this->ExpectRetrievedValueIsArray('datePublished');
969
970 320
        return $out;
971
    }
972
973
    /**
974
    * @param array<int, Date|DateTime> $value
975
    */
976 61
    public function SetDatePublished(array $value) : void
977
    {
978 61
        $this->NudgePropertyValue('datePublished', $value);
979 61
    }
980
981
    /**
982
    * @return array<int, string>
983
    */
984 320
    public function GetDiscussionUrl() : array
985
    {
986 320
        return $this->ExpectRetrievedValueIsArrayOfStrings('discussionUrl');
987
    }
988
989
    /**
990
    * @param array<int, string> $value
991
    */
992 61
    public function SetDiscussionUrl(array $value) : void
993
    {
994 61
        $this->NudgePropertyValue('discussionUrl', $value, true);
995 61
    }
996
997
    /**
998
    * @return array<int, Person>
999
    */
1000 320
    public function GetEditor() : array
1001
    {
1002
        /**
1003
        * @var array<int, Person>
1004
        */
1005 320
        $out = $this->ExpectRetrievedValueIsArray('editor');
1006
1007 320
        return $out;
1008
    }
1009
1010
    /**
1011
    * @param array<int, Person> $value
1012
    */
1013 61
    public function SetEditor(array $value) : void
1014
    {
1015 61
        $this->NudgePropertyValue('editor', $value);
1016 61
    }
1017
1018
    /**
1019
    * @return array<int, AlignmentObject>
1020
    */
1021 320
    public function GetEducationalAlignment() : array
1022
    {
1023
        /**
1024
        * @var array<int, AlignmentObject>
1025
        */
1026 320
        $out = $this->ExpectRetrievedValueIsArray('educationalAlignment');
1027
1028 320
        return $out;
1029
    }
1030
1031
    /**
1032
    * @param array<int, AlignmentObject> $value
1033
    */
1034 61
    public function SetEducationalAlignment(array $value) : void
1035
    {
1036 61
        $this->NudgePropertyValue('educationalAlignment', $value);
1037 61
    }
1038
1039
    /**
1040
    * @return array<int, string>
1041
    */
1042 320
    public function GetEducationalUse() : array
1043
    {
1044 320
        return $this->ExpectRetrievedValueIsArrayOfStrings('educationalUse');
1045
    }
1046
1047
    /**
1048
    * @param array<int, string> $value
1049
    */
1050 61
    public function SetEducationalUse(array $value) : void
1051
    {
1052 61
        $this->NudgePropertyValue('educationalUse', $value, true);
1053 61
    }
1054
1055
    /**
1056
    * @return array<int, MediaObject>
1057
    */
1058 320
    public function GetEncoding() : array
1059
    {
1060
        /**
1061
        * @var array<int, MediaObject>
1062
        */
1063 320
        $out = $this->ExpectRetrievedValueIsArray('encoding');
1064
1065 320
        return $out;
1066
    }
1067
1068
    /**
1069
    * @param array<int, MediaObject> $value
1070
    */
1071 61
    public function SetEncoding(array $value) : void
1072
    {
1073 61
        $this->NudgePropertyValue('encoding', $value);
1074 61
    }
1075
1076
    /**
1077
    * @return array<int, string>
1078
    */
1079 306
    public function GetEncodingFormat() : array
1080
    {
1081 306
        return $this->ExpectRetrievedValueIsArrayOfStrings('encodingFormat');
1082
    }
1083
1084
    /**
1085
    * @param array<int, string> $value
1086
    */
1087 47
    public function SetEncodingFormat(array $value) : void
1088
    {
1089 47
        $this->NudgePropertyValue('encodingFormat', $value, true);
1090 47
    }
1091
1092
    /**
1093
    * @return array<int, CreativeWork>
1094
    */
1095 320
    public function GetExampleOfWork() : array
1096
    {
1097
        /**
1098
        * @var array<int, CreativeWork>
1099
        */
1100 320
        $out = $this->ExpectRetrievedValueIsArray('exampleOfWork');
1101
1102 320
        return $out;
1103
    }
1104
1105
    /**
1106
    * @param array<int, CreativeWork> $value
1107
    */
1108 61
    public function SetExampleOfWork(array $value) : void
1109
    {
1110 61
        $this->NudgePropertyValue('exampleOfWork', $value);
1111 61
    }
1112
1113
    /**
1114
    * @return array<int, Date>
1115
    */
1116 320
    public function GetExpires() : array
1117
    {
1118
        /**
1119
        * @var array<int, Date>
1120
        */
1121 320
        $out = $this->ExpectRetrievedValueIsArray('expires');
1122
1123 320
        return $out;
1124
    }
1125
1126
    /**
1127
    * @param array<int, Date> $value
1128
    */
1129 61
    public function SetExpires(array $value) : void
1130
    {
1131 61
        $this->NudgePropertyValue('expires', $value);
1132 61
    }
1133
1134
    /**
1135
    * @return array<int, string>
1136
    */
1137 320
    public function GetHeadline() : array
1138
    {
1139 320
        return $this->ExpectRetrievedValueIsArrayOfStrings('headline');
1140
    }
1141
1142
    /**
1143
    * @param array<int, string> $value
1144
    */
1145 61
    public function SetHeadline(array $value) : void
1146
    {
1147 61
        $this->NudgePropertyValue('headline', $value, true);
1148 61
    }
1149
1150
    /**
1151
    * @return array<int, InteractionCounter>
1152
    */
1153 320
    public function GetInteractionStatistic() : array
1154
    {
1155
        /**
1156
        * @var array<int, InteractionCounter>
1157
        */
1158 320
        $out = $this->ExpectRetrievedValueIsArray('interactionStatistic');
1159
1160 320
        return $out;
1161
    }
1162
1163
    /**
1164
    * @param array<int, InteractionCounter> $value
1165
    */
1166 61
    public function SetInteractionStatistic(array $value) : void
1167
    {
1168 61
        $this->NudgePropertyValue('interactionStatistic', $value);
1169 61
    }
1170
1171
    /**
1172
    * @return array<int, string>
1173
    */
1174 320
    public function GetInteractivityType() : array
1175
    {
1176 320
        return $this->ExpectRetrievedValueIsArrayOfStrings('interactivityType');
1177
    }
1178
1179
    /**
1180
    * @param array<int, string> $value
1181
    */
1182 61
    public function SetInteractivityType(array $value) : void
1183
    {
1184 61
        $this->NudgePropertyValue('interactivityType', $value, true);
1185 61
    }
1186
1187
    /**
1188
    * @return array<int, string|CreativeWork|Product>
1189
    */
1190 320
    public function GetIsBasedOn() : array
1191
    {
1192
        /**
1193
        * @var array<int, string|CreativeWork|Product>
1194
        */
1195 320
        $out = $this->ExpectRetrievedValueIsArray('isBasedOn');
1196
1197 320
        return $out;
1198
    }
1199
1200
    /**
1201
    * @param array<int, string|CreativeWork|Product> $value
1202
    */
1203 61
    public function SetIsBasedOn(array $value) : void
1204
    {
1205 61
        $this->NudgePropertyValue('isBasedOn', $value, true);
1206 61
    }
1207
1208
    /**
1209
    * @return array<int, bool>
1210
    */
1211 320
    public function GetIsFamilyFriendly() : array
1212
    {
1213
        /**
1214
        * @var array<int, bool>
1215
        */
1216 320
        $out = $this->ExpectRetrievedValueIsArray('isFamilyFriendly');
1217
1218 320
        return $out;
1219
    }
1220
1221
    /**
1222
    * @param array<int, bool> $value
1223
    */
1224 61
    public function SetIsFamilyFriendly(array $value) : void
1225
    {
1226 61
        $this->NudgePropertyWithUniqueBooleans('isFamilyFriendly', $value);
1227 61
    }
1228
1229
    /**
1230
    * @return array<int, string>
1231
    */
1232 320
    public function GetKeywords() : array
1233
    {
1234 320
        return $this->ExpectRetrievedValueIsArrayOfStrings('keywords');
1235
    }
1236
1237
    /**
1238
    * @param array<int, string> $value
1239
    */
1240 61
    public function SetKeywords(array $value) : void
1241
    {
1242 61
        $this->NudgePropertyValue('keywords', $value, true);
1243 61
    }
1244
1245
    /**
1246
    * @return array<int, string>
1247
    */
1248 320
    public function GetLearningResourceType() : array
1249
    {
1250 320
        return $this->ExpectRetrievedValueIsArrayOfStrings('learningResourceType');
1251
    }
1252
1253
    /**
1254
    * @param array<int, string> $value
1255
    */
1256 61
    public function SetLearningResourceType(array $value) : void
1257
    {
1258 61
        $this->NudgePropertyValue('learningResourceType', $value, true);
1259 61
    }
1260
1261
    /**
1262
    * @return array<int, string|CreativeWork>
1263
    */
1264 320
    public function GetLicense() : array
1265
    {
1266
        /**
1267
        * @var array<int, string|CreativeWork>
1268
        */
1269 320
        $out = $this->ExpectRetrievedValueIsArray('license');
1270
1271 320
        return $out;
1272
    }
1273
1274
    /**
1275
    * @param array<int, string|CreativeWork> $value
1276
    */
1277 61
    public function SetLicense(array $value) : void
1278
    {
1279 61
        $this->NudgePropertyValue('license', $value, true);
1280 61
    }
1281
1282
    /**
1283
    * @return array<int, Place>
1284
    */
1285 320
    public function GetLocationCreated() : array
1286
    {
1287
        /**
1288
        * @var array<int, Place>
1289
        */
1290 320
        $out = $this->ExpectRetrievedValueIsArray('locationCreated');
1291
1292 320
        return $out;
1293
    }
1294
1295
    /**
1296
    * @param array<int, Place> $value
1297
    */
1298 61
    public function SetLocationCreated(array $value) : void
1299
    {
1300 61
        $this->NudgePropertyValue('locationCreated', $value);
1301 61
    }
1302
1303
    /**
1304
    * @return array<int, Thing>
1305
    */
1306 320
    public function GetMainEntity() : array
1307
    {
1308
        /**
1309
        * @var array<int, Thing>
1310
        */
1311 320
        $out = $this->ExpectRetrievedValueIsArray('mainEntity');
1312
1313 320
        return $out;
1314
    }
1315
1316
    /**
1317
    * @param array<int, Thing> $value
1318
    */
1319 61
    public function SetMainEntity(array $value) : void
1320
    {
1321 61
        $this->NudgePropertyValue('mainEntity', $value);
1322 61
    }
1323
1324
    /**
1325
    * @return array<int, Thing>
1326
    */
1327 320
    public function GetMentions() : array
1328
    {
1329
        /**
1330
        * @var array<int, Thing>
1331
        */
1332 320
        $out = $this->ExpectRetrievedValueIsArray('mentions');
1333
1334 320
        return $out;
1335
    }
1336
1337
    /**
1338
    * @param array<int, Thing> $value
1339
    */
1340 61
    public function SetMentions(array $value) : void
1341
    {
1342 61
        $this->NudgePropertyValue('mentions', $value);
1343 61
    }
1344
1345
    /**
1346
    * @return array<int, int|string>
1347
    */
1348 320
    public function GetPosition() : array
1349
    {
1350
        /**
1351
        * @var array<int, int|string>
1352
        */
1353 320
        $out = $this->ExpectRetrievedValueIsArray('position');
1354
1355 320
        return $out;
1356
    }
1357
1358
    /**
1359
    * @param array<int, int|string> $value
1360
    */
1361 61
    public function SetPosition(array $value) : void
1362
    {
1363 61
        $this->NudgePropertyValue('position', $value, true);
1364 61
    }
1365
1366
    /**
1367
    * @return array<int, Organization|Person>
1368
    */
1369 320
    public function GetProducer() : array
1370
    {
1371
        /**
1372
        * @var array<int, Organization|Person>
1373
        */
1374 320
        $out = $this->ExpectRetrievedValueIsArray('producer');
1375
1376 320
        return $out;
1377
    }
1378
1379
    /**
1380
    * @param array<int, Organization|Person> $value
1381
    */
1382 61
    public function SetProducer(array $value) : void
1383
    {
1384 61
        $this->NudgePropertyValue('producer', $value);
1385 61
    }
1386
1387
    /**
1388
    * @return array<int, PublicationEvent>
1389
    */
1390 320
    public function GetPublication() : array
1391
    {
1392
        /**
1393
        * @var array<int, PublicationEvent>
1394
        */
1395 320
        $out = $this->ExpectRetrievedValueIsArray('publication');
1396
1397 320
        return $out;
1398
    }
1399
1400
    /**
1401
    * @param array<int, PublicationEvent> $value
1402
    */
1403 61
    public function SetPublication(array $value) : void
1404
    {
1405 61
        $this->NudgePropertyValue('publication', $value);
1406 61
    }
1407
1408
    /**
1409
    * @return array<int, Organization|Person>
1410
    */
1411 320
    public function GetPublisher() : array
1412
    {
1413
        /**
1414
        * @var array<int, Organization|Person>
1415
        */
1416 320
        $out = $this->ExpectRetrievedValueIsArray('publisher');
1417
1418 320
        return $out;
1419
    }
1420
1421
    /**
1422
    * @param array<int, Organization|Person> $value
1423
    */
1424 61
    public function SetPublisher(array $value) : void
1425
    {
1426 61
        $this->NudgePropertyValue('publisher', $value);
1427 61
    }
1428
1429
    /**
1430
    * @return array<int, Organization>
1431
    */
1432 320
    public function GetPublisherImprint() : array
1433
    {
1434
        /**
1435
        * @var array<int, Organization>
1436
        */
1437 320
        $out = $this->ExpectRetrievedValueIsArray('publisherImprint');
1438
1439 320
        return $out;
1440
    }
1441
1442
    /**
1443
    * @param array<int, Organization> $value
1444
    */
1445 61
    public function SetPublisherImprint(array $value) : void
1446
    {
1447 61
        $this->NudgePropertyValue('publisherImprint', $value);
1448 61
    }
1449
1450
    /**
1451
    * @return array<int, Event>
1452
    */
1453 320
    public function GetRecordedAt() : array
1454
    {
1455
        /**
1456
        * @var array<int, Event>
1457
        */
1458 320
        $out = $this->ExpectRetrievedValueIsArray('recordedAt');
1459
1460 320
        return $out;
1461
    }
1462
1463
    /**
1464
    * @param array<int, Event> $value
1465
    */
1466 61
    public function SetRecordedAt(array $value) : void
1467
    {
1468 61
        $this->NudgePropertyValue('recordedAt', $value);
1469 61
    }
1470
1471
    /**
1472
    * @return array<int, PublicationEvent>
1473
    */
1474 320
    public function GetReleasedEvent() : array
1475
    {
1476
        /**
1477
        * @var array<int, PublicationEvent>
1478
        */
1479 320
        $out = $this->ExpectRetrievedValueIsArray('releasedEvent');
1480
1481 320
        return $out;
1482
    }
1483
1484
    /**
1485
    * @param array<int, PublicationEvent> $value
1486
    */
1487 61
    public function SetReleasedEvent(array $value) : void
1488
    {
1489 61
        $this->NudgePropertyValue('releasedEvent', $value);
1490 61
    }
1491
1492
    /**
1493
    * @return array<int, string>
1494
    */
1495 320
    public function GetSchemaVersion() : array
1496
    {
1497 320
        return $this->ExpectRetrievedValueIsArrayOfStrings('schemaVersion');
1498
    }
1499
1500
    /**
1501
    * @param array<int, string> $value
1502
    */
1503 61
    public function SetSchemaVersion(array $value) : void
1504
    {
1505 61
        $this->NudgePropertyValue('schemaVersion', $value, true);
1506 61
    }
1507
1508
    /**
1509
    * @return array<int, Date>
1510
    */
1511 320
    public function GetSdDatePublished() : array
1512
    {
1513
        /**
1514
        * @var array<int, Date>
1515
        */
1516 320
        $out = $this->ExpectRetrievedValueIsArray('sdDatePublished');
1517
1518 320
        return $out;
1519
    }
1520
1521
    /**
1522
    * @param array<int, Date> $value
1523
    */
1524 61
    public function SetSdDatePublished(array $value) : void
1525
    {
1526 61
        $this->NudgePropertyValue('sdDatePublished', $value);
1527 61
    }
1528
1529
    /**
1530
    * @return array<int, string|CreativeWork>
1531
    */
1532 320
    public function GetSdLicense() : array
1533
    {
1534
        /**
1535
        * @var array<int, string|CreativeWork>
1536
        */
1537 320
        $out = $this->ExpectRetrievedValueIsArray('sdLicense');
1538
1539 320
        return $out;
1540
    }
1541
1542
    /**
1543
    * @param array<int, string|CreativeWork> $value
1544
    */
1545 61
    public function SetSdLicense(array $value) : void
1546
    {
1547 61
        $this->NudgePropertyValue('sdLicense', $value, true);
1548 61
    }
1549
1550
    /**
1551
    * @return array<int, Organization|Person>
1552
    */
1553 320
    public function GetSdPublisher() : array
1554
    {
1555
        /**
1556
        * @var array<int, Organization|Person>
1557
        */
1558 320
        $out = $this->ExpectRetrievedValueIsArray('sdPublisher');
1559
1560 320
        return $out;
1561
    }
1562
1563
    /**
1564
    * @param array<int, Organization|Person> $value
1565
    */
1566 61
    public function SetSdPublisher(array $value) : void
1567
    {
1568 61
        $this->NudgePropertyValue('sdPublisher', $value);
1569 61
    }
1570
1571
    /**
1572
    * @return array<int, Organization>
1573
    */
1574 320
    public function GetSourceOrganization() : array
1575
    {
1576
        /**
1577
        * @var array<int, Organization>
1578
        */
1579 320
        $out = $this->ExpectRetrievedValueIsArray('sourceOrganization');
1580
1581 320
        return $out;
1582
    }
1583
1584
    /**
1585
    * @param array<int, Organization> $value
1586
    */
1587 61
    public function SetSourceOrganization(array $value) : void
1588
    {
1589 61
        $this->NudgePropertyValue('sourceOrganization', $value);
1590 61
    }
1591
1592
    /**
1593
    * @return array<int, Place>
1594
    */
1595 320
    public function GetSpatialCoverage() : array
1596
    {
1597
        /**
1598
        * @var array<int, Place>
1599
        */
1600 320
        $out = $this->ExpectRetrievedValueIsArray('spatialCoverage');
1601
1602 320
        return $out;
1603
    }
1604
1605
    /**
1606
    * @param array<int, Place> $value
1607
    */
1608 61
    public function SetSpatialCoverage(array $value) : void
1609
    {
1610 61
        $this->NudgePropertyValue('spatialCoverage', $value);
1611 61
    }
1612
1613
    /**
1614
    * @return array<int, string|DateTime>
1615
    */
1616 320
    public function GetTemporalCoverage() : array
1617
    {
1618
        /**
1619
        * @var array<int, string|DateTime>
1620
        */
1621 320
        $out = $this->ExpectRetrievedValueIsArray('temporalCoverage');
1622
1623 320
        return $out;
1624
    }
1625
1626
    /**
1627
    * @param array<int, string|DateTime> $value
1628
    */
1629 61
    public function SetTemporalCoverage(array $value) : void
1630
    {
1631 61
        $this->NudgePropertyValue('temporalCoverage', $value, true);
1632 61
    }
1633
1634
    /**
1635
    * @return array<int, string>
1636
    */
1637 320
    public function GetText() : array
1638
    {
1639 320
        return $this->ExpectRetrievedValueIsArrayOfStrings('text');
1640
    }
1641
1642
    /**
1643
    * @param array<int, string> $value
1644
    */
1645 61
    public function SetText(array $value) : void
1646
    {
1647 61
        $this->NudgePropertyValue('text', $value, true);
1648 61
    }
1649
1650
    /**
1651
    * @return array<int, string>
1652
    */
1653 320
    public function GetThumbnailUrl() : array
1654
    {
1655 320
        return $this->ExpectRetrievedValueIsArrayOfStrings('thumbnailUrl');
1656
    }
1657
1658
    /**
1659
    * @param array<int, string> $value
1660
    */
1661 61
    public function SetThumbnailUrl(array $value) : void
1662
    {
1663 61
        $this->NudgePropertyValue('thumbnailUrl', $value, true);
1664 61
    }
1665
1666
    /**
1667
    * @return array<int, Duration>
1668
    */
1669 320
    public function GetTimeRequired() : array
1670
    {
1671
        /**
1672
        * @var array<int, Duration>
1673
        */
1674 320
        $out = $this->ExpectRetrievedValueIsArray('timeRequired');
1675
1676 320
        return $out;
1677
    }
1678
1679
    /**
1680
    * @param array<int, Duration> $value
1681
    */
1682 61
    public function SetTimeRequired(array $value) : void
1683
    {
1684 61
        $this->NudgePropertyValue('timeRequired', $value);
1685 61
    }
1686
1687
    /**
1688
    * @return array<int, CreativeWork>
1689
    */
1690 320
    public function GetTranslationOfWork() : array
1691
    {
1692
        /**
1693
        * @var array<int, CreativeWork>
1694
        */
1695 320
        $out = $this->ExpectRetrievedValueIsArray('translationOfWork');
1696
1697 320
        return $out;
1698
    }
1699
1700
    /**
1701
    * @param array<int, CreativeWork> $value
1702
    */
1703 61
    public function SetTranslationOfWork(array $value) : void
1704
    {
1705 61
        $this->NudgePropertyValue('translationOfWork', $value);
1706 61
    }
1707
1708
    /**
1709
    * @return array<int, int|string>
1710
    */
1711 320
    public function GetVersion() : array
1712
    {
1713
        /**
1714
        * @var array<int, int|string>
1715
        */
1716 320
        $out = $this->ExpectRetrievedValueIsArray('version');
1717
1718 320
        return $out;
1719
    }
1720
1721
    /**
1722
    * @param array<int, int|string> $value
1723
    */
1724 61
    public function SetVersion(array $value) : void
1725
    {
1726 61
        $this->NudgePropertyValue('version', $value, true);
1727 61
    }
1728
1729
    /**
1730
    * @return array<int, VideoObject>
1731
    */
1732 320
    public function GetVideo() : array
1733
    {
1734
        /**
1735
        * @var array<int, VideoObject>
1736
        */
1737 320
        $out = $this->ExpectRetrievedValueIsArray('video');
1738
1739 320
        return $out;
1740
    }
1741
1742
    /**
1743
    * @param array<int, VideoObject> $value
1744
    */
1745 61
    public function SetVideo(array $value) : void
1746
    {
1747 61
        $this->NudgePropertyValue('video', $value);
1748 61
    }
1749
1750
    /**
1751
    * @return array<int, CreativeWork>
1752
    */
1753 320
    public function GetWorkExample() : array
1754
    {
1755
        /**
1756
        * @var array<int, CreativeWork>
1757
        */
1758 320
        $out = $this->ExpectRetrievedValueIsArray('workExample');
1759
1760 320
        return $out;
1761
    }
1762
1763
    /**
1764
    * @param array<int, CreativeWork> $value
1765
    */
1766 61
    public function SetWorkExample(array $value) : void
1767
    {
1768 61
        $this->NudgePropertyValue('workExample', $value);
1769 61
    }
1770
1771
    /**
1772
    * @return array<int, CreativeWork>
1773
    */
1774 320
    public function GetWorkTranslation() : array
1775
    {
1776
        /**
1777
        * @var array<int, CreativeWork>
1778
        */
1779 320
        $out = $this->ExpectRetrievedValueIsArray('workTranslation');
1780
1781 320
        return $out;
1782
    }
1783
1784
    /**
1785
    * @param array<int, CreativeWork> $value
1786
    */
1787 61
    public function SetWorkTranslation(array $value) : void
1788
    {
1789 61
        $this->NudgePropertyValue('workTranslation', $value);
1790 61
    }
1791
}
1792