Test Failed
Push — master ( 4486b3...16bdc1 )
by SignpostMarv
02:20
created

CreativeWork::SetWorkTranslation()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 1
CRAP Score 1

Importance

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