Passed
Push — master ( ffa34c...f9eaa3 )
by SignpostMarv
12:18
created

Organization::SetUnnamedSourcesPolicy()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 1
dl 0
loc 6
ccs 5
cts 5
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\Article;
10
use SignpostMarv\DaftObject\SchemaOrg\CreativeWork\MediaObject\ImageObject;
11
use SignpostMarv\DaftObject\SchemaOrg\CreativeWork\Review;
12
use SignpostMarv\DaftObject\SchemaOrg\CreativeWork\WebPage\AboutPage;
13
use SignpostMarv\DaftObject\SchemaOrg\DataTypes\Date;
14
use SignpostMarv\DaftObject\SchemaOrg\Intangible\Brand;
15
use SignpostMarv\DaftObject\SchemaOrg\Intangible\Demand;
16
use SignpostMarv\DaftObject\SchemaOrg\Intangible\ItemList\OfferCatalog;
17
use SignpostMarv\DaftObject\SchemaOrg\Intangible\Language;
18
use SignpostMarv\DaftObject\SchemaOrg\Intangible\ProgramMembership;
19
use SignpostMarv\DaftObject\SchemaOrg\Intangible\Rating\AggregateRating;
20
use SignpostMarv\DaftObject\SchemaOrg\Intangible\StructuredValue\ContactPoint;
21
use SignpostMarv\DaftObject\SchemaOrg\Intangible\StructuredValue\ContactPoint\PostalAddress;
22
use SignpostMarv\DaftObject\SchemaOrg\Intangible\StructuredValue\OwnershipInfo;
23
use SignpostMarv\DaftObject\SchemaOrg\Intangible\StructuredValue\QuantitativeValue;
24
use SignpostMarv\DaftObject\SchemaOrg\Place\AdministrativeArea;
25
26
/**
27
* @property array<int, string|CreativeWork> $actionableFeedbackPolicy
28
* @property array<int, string|PostalAddress> $address
29
* @property array<int, AggregateRating> $aggregateRating
30
* @property array<int, Person> $alumni
31
* @property array<int, string|AdministrativeArea|GeoShape|Place> $areaServed
32
* @property array<int, string> $award
33
* @property array<int, Brand|Organization> $brand
34
* @property array<int, ContactPoint> $contactPoint
35
* @property array<int, string|CreativeWork> $correctionsPolicy
36
* @property array<int, Organization> $department
37
* @property array<int, Date> $dissolutionDate
38
* @property array<int, string|CreativeWork> $diversityPolicy
39
* @property array<int, string|Article> $diversityStaffingReport
40
* @property array<int, string> $duns
41
* @property array<int, string> $email
42
* @property array<int, Person> $employee
43
* @property array<int, string|CreativeWork> $ethicsPolicy
44
* @property array<int, Event> $event
45
* @property array<int, string> $faxNumber
46
* @property array<int, Person> $founder
47
* @property array<int, Date> $foundingDate
48
* @property array<int, Place> $foundingLocation
49
* @property array<int, Organization|Person> $funder
50
* @property array<int, string> $globalLocationNumber
51
* @property array<int, OfferCatalog> $hasOfferCatalog
52
* @property array<int, Place> $hasPOS
53
* @property array<int, string> $isicV4
54
* @property array<int, string|Thing> $knowsAbout
55
* @property array<int, string|Language> $knowsLanguage
56
* @property array<int, string> $legalName
57
* @property array<int, string> $leiCode
58
* @property array<int, string|Place|PostalAddress> $location
59
* @property array<int, ImageObject> $logo
60
* @property array<int, Offer> $makesOffer
61
* @property array<int, Organization|Person> $member
62
* @property array<int, Organization|ProgramMembership> $memberOf
63
* @property array<int, string> $naics
64
* @property array<int, QuantitativeValue> $numberOfEmployees
65
* @property array<int, string|AboutPage|CreativeWork> $ownershipFundingInfo
66
* @property array<int, OwnershipInfo|Product> $owns
67
* @property array<int, Organization> $parentOrganization
68
* @property array<int, string|CreativeWork> $publishingPrinciples
69
* @property array<int, Review> $review
70
* @property array<int, Demand> $seeks
71
* @property array<int, Organization|Person> $sponsor
72
* @property array<int, Organization> $subOrganization
73
* @property array<int, string> $taxID
74
* @property array<int, string> $telephone
75
* @property array<int, string|CreativeWork> $unnamedSourcesPolicy
76
* @property array<int, string> $vatID
77
*/
78
class Organization extends Thing
79
{
80
    use DaftObjectTraits\HasAddress;
81
    use DaftObjectTraits\HasAggregateRating;
82
    use DaftObjectTraits\HasAreaServed;
83
    use DaftObjectTraits\HasAward;
84
    use DaftObjectTraits\HasBrand;
85
    use DaftObjectTraits\HasContactPoint;
86
    use DaftObjectTraits\HasDuns;
87
    use DaftObjectTraits\HasEmail;
88
    use DaftObjectTraits\HasEvent;
89
    use DaftObjectTraits\HasFaxNumber;
90
    use DaftObjectTraits\HasFunder;
91
    use DaftObjectTraits\HasGlobalLocationNumber;
92
    use DaftObjectTraits\HasHasOfferCatalog;
93
    use DaftObjectTraits\HasHasPOS;
94
    use DaftObjectTraits\HasIsicV4;
95
    use DaftObjectTraits\HasKnowsAbout;
96
    use DaftObjectTraits\HasKnowsLanguage;
97
    use DaftObjectTraits\HasLocation;
98
    use DaftObjectTraits\HasLogo;
99
    use DaftObjectTraits\HasMakesOffer;
100
    use DaftObjectTraits\HasMember;
101
    use DaftObjectTraits\HasMemberOf;
102
    use DaftObjectTraits\HasNaics;
103
    use DaftObjectTraits\HasOwns;
104
    use DaftObjectTraits\HasPublishingPrinciples;
105
    use DaftObjectTraits\HasReview;
106
    use DaftObjectTraits\HasSeeks;
107
    use DaftObjectTraits\HasSponsors;
108
    use DaftObjectTraits\HasTaxID;
109
    use DaftObjectTraits\HasTelephone;
110
    use DaftObjectTraits\HasVatID;
111
112
    const SCHEMA_ORG_TYPE = 'Organization';
113
114
    const PROPERTIES = [
115
        'actionableFeedbackPolicy',
116
        'address',
117
        'aggregateRating',
118
        'alumni',
119
        'areaServed',
120
        'award',
121
        'brand',
122
        'contactPoint',
123
        'correctionsPolicy',
124
        'department',
125
        'dissolutionDate',
126
        'diversityPolicy',
127
        'diversityStaffingReport',
128
        'duns',
129
        'email',
130
        'employee',
131
        'ethicsPolicy',
132
        'event',
133
        'faxNumber',
134
        'founder',
135
        'foundingDate',
136
        'foundingLocation',
137
        'funder',
138
        'globalLocationNumber',
139
        'hasOfferCatalog',
140
        'hasPOS',
141
        'isicV4',
142
        'knowsAbout',
143
        'knowsLanguage',
144
        'legalName',
145
        'leiCode',
146
        'location',
147
        'logo',
148
        'makesOffer',
149
        'member',
150
        'memberOf',
151
        'naics',
152
        'numberOfEmployees',
153
        'ownershipFundingInfo',
154
        'owns',
155
        'parentOrganization',
156
        'publishingPrinciples',
157
        'review',
158
        'seeks',
159
        'sponsor',
160
        'subOrganization',
161
        'taxID',
162
        'telephone',
163
        'unnamedSourcesPolicy',
164
        'vatID',
165
    ];
166
167
    const PROPERTIES_WITH_MULTI_TYPED_ARRAYS = [
168
        'actionableFeedbackPolicy' => [
169
            'string',
170
            CreativeWork::class,
171
        ],
172
        'address' => [
173
            'string',
174
            PostalAddress::class,
175
        ],
176
        'aggregateRating' => [
177
            AggregateRating::class,
178
        ],
179
        'alumni' => [
180
            Person::class,
181
        ],
182
        'areaServed' => [
183
            'string',
184
            AdministrativeArea::class,
185
            GeoShape::class,
186
            Place::class,
187
        ],
188
        'award' => [
189
            'string',
190
        ],
191
        'brand' => [
192
            Brand::class,
193
            Organization::class,
194
        ],
195
        'contactPoint' => [
196
            ContactPoint::class,
197
        ],
198
        'correctionsPolicy' => [
199
            'string',
200
            CreativeWork::class,
201
        ],
202
        'department' => [
203
            Organization::class,
204
        ],
205
        'dissolutionDate' => [
206
            Date::class,
207
        ],
208
        'diversityPolicy' => [
209
            'string',
210
            CreativeWork::class,
211
        ],
212
        'diversityStaffingReport' => [
213
            'string',
214
            Article::class,
215
        ],
216
        'duns' => [
217
            'string',
218
        ],
219
        'email' => [
220
            'string',
221
        ],
222
        'employee' => [
223
            Person::class,
224
        ],
225
        'ethicsPolicy' => [
226
            'string',
227
            CreativeWork::class,
228
        ],
229
        'event' => [
230
            Event::class,
231
        ],
232
        'faxNumber' => [
233
            'string',
234
        ],
235
        'founder' => [
236
            Person::class,
237
        ],
238
        'foundingDate' => [
239
            Date::class,
240
        ],
241
        'foundingLocation' => [
242
            Place::class,
243
        ],
244
        'funder' => [
245
            Organization::class,
246
            Person::class,
247
        ],
248
        'globalLocationNumber' => [
249
            'string',
250
        ],
251
        'hasOfferCatalog' => [
252
            OfferCatalog::class,
253
        ],
254
        'hasPOS' => [
255
            Place::class,
256
        ],
257
        'isicV4' => [
258
            'string',
259
        ],
260
        'knowsAbout' => [
261
            'string',
262
            Thing::class,
263
        ],
264
        'knowsLanguage' => [
265
            'string',
266
            Language::class,
267
        ],
268
        'legalName' => [
269
            'string',
270
        ],
271
        'leiCode' => [
272
            'string',
273
        ],
274
        'location' => [
275
            'string',
276
            Place::class,
277
            PostalAddress::class,
278
        ],
279
        'logo' => [
280
            ImageObject::class,
281
        ],
282
        'makesOffer' => [
283
            Offer::class,
284
        ],
285
        'member' => [
286
            Organization::class,
287
            Person::class,
288
        ],
289
        'memberOf' => [
290
            Organization::class,
291
            ProgramMembership::class,
292
        ],
293
        'naics' => [
294
            'string',
295
        ],
296
        'numberOfEmployees' => [
297
            QuantitativeValue::class,
298
        ],
299
        'ownershipFundingInfo' => [
300
            'string',
301
            AboutPage::class,
302
            CreativeWork::class,
303
        ],
304
        'owns' => [
305
            OwnershipInfo::class,
306
            Product::class,
307
        ],
308
        'parentOrganization' => [
309
            Organization::class,
310
        ],
311
        'publishingPrinciples' => [
312
            'string',
313
            CreativeWork::class,
314
        ],
315
        'review' => [
316
            Review::class,
317
        ],
318
        'seeks' => [
319
            Demand::class,
320
        ],
321
        'sponsor' => [
322
            Organization::class,
323
            Person::class,
324
        ],
325
        'subOrganization' => [
326
            Organization::class,
327
        ],
328
        'taxID' => [
329
            'string',
330
        ],
331
        'telephone' => [
332
            'string',
333
        ],
334
        'unnamedSourcesPolicy' => [
335
            'string',
336
            CreativeWork::class,
337
        ],
338
        'vatID' => [
339
            'string',
340
        ],
341
    ];
342
343
    /**
344
    * @return array<int, string|CreativeWork>
345
    */
346 95
    public function GetActionableFeedbackPolicy() : array
347
    {
348
        /**
349
        * @var array<int, string|CreativeWork>
350
        */
351 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
352 95
            'actionableFeedbackPolicy',
353 95
            $this->RetrievePropertyValueFromData('actionableFeedbackPolicy'),
354 95
            static::class
355
        );
356
357 95
        return $out;
358
    }
359
360
    /**
361
    * @param array<int, string|CreativeWork> $value
362
    */
363 3
    public function SetActionableFeedbackPolicy(array $value) : void
364
    {
365 3
        $this->NudgePropertyValue(
366 3
            'actionableFeedbackPolicy',
367 3
            $value,
368 3
            true
369
        );
370 3
    }
371
372
    /**
373
    * @return array<int, Person>
374
    */
375 95
    public function GetAlumni() : array
376
    {
377
        /**
378
        * @var array<int, Person>
379
        */
380 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
381 95
            'alumni',
382 95
            $this->RetrievePropertyValueFromData('alumni'),
383 95
            static::class
384
        );
385
386 95
        return $out;
387
    }
388
389
    /**
390
    * @param array<int, Person> $value
391
    */
392 3
    public function SetAlumni(array $value) : void
393
    {
394 3
        $this->NudgePropertyValue(
395 3
            'alumni',
396 3
            $value
397
        );
398 3
    }
399
400
    /**
401
    * @return array<int, string|CreativeWork>
402
    */
403 95
    public function GetCorrectionsPolicy() : array
404
    {
405
        /**
406
        * @var array<int, string|CreativeWork>
407
        */
408 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
409 95
            'correctionsPolicy',
410 95
            $this->RetrievePropertyValueFromData('correctionsPolicy'),
411 95
            static::class
412
        );
413
414 95
        return $out;
415
    }
416
417
    /**
418
    * @param array<int, string|CreativeWork> $value
419
    */
420 3
    public function SetCorrectionsPolicy(array $value) : void
421
    {
422 3
        $this->NudgePropertyValue(
423 3
            'correctionsPolicy',
424 3
            $value,
425 3
            true
426
        );
427 3
    }
428
429
    /**
430
    * @return array<int, Organization>
431
    */
432 95
    public function GetDepartment() : array
433
    {
434
        /**
435
        * @var array<int, Organization>
436
        */
437 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
438 95
            'department',
439 95
            $this->RetrievePropertyValueFromData('department'),
440 95
            static::class
441
        );
442
443 95
        return $out;
444
    }
445
446
    /**
447
    * @param array<int, Organization> $value
448
    */
449 3
    public function SetDepartment(array $value) : void
450
    {
451 3
        $this->NudgePropertyValue(
452 3
            'department',
453 3
            $value
454
        );
455 3
    }
456
457
    /**
458
    * @return array<int, Date>
459
    */
460 95
    public function GetDissolutionDate() : array
461
    {
462
        /**
463
        * @var array<int, Date>
464
        */
465 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
466 95
            'dissolutionDate',
467 95
            $this->RetrievePropertyValueFromData('dissolutionDate'),
468 95
            static::class
469
        );
470
471 95
        return $out;
472
    }
473
474
    /**
475
    * @param array<int, Date> $value
476
    */
477 3
    public function SetDissolutionDate(array $value) : void
478
    {
479 3
        $this->NudgePropertyValue(
480 3
            'dissolutionDate',
481 3
            $value
482
        );
483 3
    }
484
485
    /**
486
    * @return array<int, string|CreativeWork>
487
    */
488 95
    public function GetDiversityPolicy() : array
489
    {
490
        /**
491
        * @var array<int, string|CreativeWork>
492
        */
493 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
494 95
            'diversityPolicy',
495 95
            $this->RetrievePropertyValueFromData('diversityPolicy'),
496 95
            static::class
497
        );
498
499 95
        return $out;
500
    }
501
502
    /**
503
    * @param array<int, string|CreativeWork> $value
504
    */
505 3
    public function SetDiversityPolicy(array $value) : void
506
    {
507 3
        $this->NudgePropertyValue(
508 3
            'diversityPolicy',
509 3
            $value,
510 3
            true
511
        );
512 3
    }
513
514
    /**
515
    * @return array<int, string|Article>
516
    */
517 95
    public function GetDiversityStaffingReport() : array
518
    {
519
        /**
520
        * @var array<int, string|Article>
521
        */
522 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
523 95
            'diversityStaffingReport',
524 95
            $this->RetrievePropertyValueFromData('diversityStaffingReport'),
525 95
            static::class
526
        );
527
528 95
        return $out;
529
    }
530
531
    /**
532
    * @param array<int, string|Article> $value
533
    */
534 3
    public function SetDiversityStaffingReport(array $value) : void
535
    {
536 3
        $this->NudgePropertyValue(
537 3
            'diversityStaffingReport',
538 3
            $value,
539 3
            true
540
        );
541 3
    }
542
543
    /**
544
    * @return array<int, Person>
545
    */
546 95
    public function GetEmployee() : array
547
    {
548
        /**
549
        * @var array<int, Person>
550
        */
551 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
552 95
            'employee',
553 95
            $this->RetrievePropertyValueFromData('employee'),
554 95
            static::class
555
        );
556
557 95
        return $out;
558
    }
559
560
    /**
561
    * @param array<int, Person> $value
562
    */
563 3
    public function SetEmployee(array $value) : void
564
    {
565 3
        $this->NudgePropertyValue(
566 3
            'employee',
567 3
            $value
568
        );
569 3
    }
570
571
    /**
572
    * @return array<int, string|CreativeWork>
573
    */
574 95
    public function GetEthicsPolicy() : array
575
    {
576
        /**
577
        * @var array<int, string|CreativeWork>
578
        */
579 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
580 95
            'ethicsPolicy',
581 95
            $this->RetrievePropertyValueFromData('ethicsPolicy'),
582 95
            static::class
583
        );
584
585 95
        return $out;
586
    }
587
588
    /**
589
    * @param array<int, string|CreativeWork> $value
590
    */
591 3
    public function SetEthicsPolicy(array $value) : void
592
    {
593 3
        $this->NudgePropertyValue(
594 3
            'ethicsPolicy',
595 3
            $value,
596 3
            true
597
        );
598 3
    }
599
600
    /**
601
    * @return array<int, Person>
602
    */
603 95
    public function GetFounder() : array
604
    {
605
        /**
606
        * @var array<int, Person>
607
        */
608 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
609 95
            'founder',
610 95
            $this->RetrievePropertyValueFromData('founder'),
611 95
            static::class
612
        );
613
614 95
        return $out;
615
    }
616
617
    /**
618
    * @param array<int, Person> $value
619
    */
620 3
    public function SetFounder(array $value) : void
621
    {
622 3
        $this->NudgePropertyValue(
623 3
            'founder',
624 3
            $value
625
        );
626 3
    }
627
628
    /**
629
    * @return array<int, Date>
630
    */
631 95
    public function GetFoundingDate() : array
632
    {
633
        /**
634
        * @var array<int, Date>
635
        */
636 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
637 95
            'foundingDate',
638 95
            $this->RetrievePropertyValueFromData('foundingDate'),
639 95
            static::class
640
        );
641
642 95
        return $out;
643
    }
644
645
    /**
646
    * @param array<int, Date> $value
647
    */
648 3
    public function SetFoundingDate(array $value) : void
649
    {
650 3
        $this->NudgePropertyValue(
651 3
            'foundingDate',
652 3
            $value
653
        );
654 3
    }
655
656
    /**
657
    * @return array<int, Place>
658
    */
659 95
    public function GetFoundingLocation() : array
660
    {
661
        /**
662
        * @var array<int, Place>
663
        */
664 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
665 95
            'foundingLocation',
666 95
            $this->RetrievePropertyValueFromData('foundingLocation'),
667 95
            static::class
668
        );
669
670 95
        return $out;
671
    }
672
673
    /**
674
    * @param array<int, Place> $value
675
    */
676 3
    public function SetFoundingLocation(array $value) : void
677
    {
678 3
        $this->NudgePropertyValue(
679 3
            'foundingLocation',
680 3
            $value
681
        );
682 3
    }
683
684
    /**
685
    * @return array<int, string>
686
    */
687 95
    public function GetLegalName() : array
688
    {
689
        /**
690
        * @var array<int, string>
691
        */
692 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
693 95
            'legalName',
694 95
            $this->RetrievePropertyValueFromData('legalName'),
695 95
            static::class
696
        );
697
698 95
        return $out;
699
    }
700
701
    /**
702
    * @param array<int, string> $value
703
    */
704 3
    public function SetLegalName(array $value) : void
705
    {
706 3
        $this->NudgePropertyValue(
707 3
            'legalName',
708 3
            $value,
709 3
            true
710
        );
711 3
    }
712
713
    /**
714
    * @return array<int, string>
715
    */
716 95
    public function GetLeiCode() : array
717
    {
718
        /**
719
        * @var array<int, string>
720
        */
721 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
722 95
            'leiCode',
723 95
            $this->RetrievePropertyValueFromData('leiCode'),
724 95
            static::class
725
        );
726
727 95
        return $out;
728
    }
729
730
    /**
731
    * @param array<int, string> $value
732
    */
733 3
    public function SetLeiCode(array $value) : void
734
    {
735 3
        $this->NudgePropertyValue(
736 3
            'leiCode',
737 3
            $value,
738 3
            true
739
        );
740 3
    }
741
742
    /**
743
    * @return array<int, QuantitativeValue>
744
    */
745 95
    public function GetNumberOfEmployees() : array
746
    {
747
        /**
748
        * @var array<int, QuantitativeValue>
749
        */
750 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
751 95
            'numberOfEmployees',
752 95
            $this->RetrievePropertyValueFromData('numberOfEmployees'),
753 95
            static::class
754
        );
755
756 95
        return $out;
757
    }
758
759
    /**
760
    * @param array<int, QuantitativeValue> $value
761
    */
762 3
    public function SetNumberOfEmployees(array $value) : void
763
    {
764 3
        $this->NudgePropertyValue(
765 3
            'numberOfEmployees',
766 3
            $value
767
        );
768 3
    }
769
770
    /**
771
    * @return array<int, string|AboutPage|CreativeWork>
772
    */
773 95
    public function GetOwnershipFundingInfo() : array
774
    {
775
        /**
776
        * @var array<int, string|AboutPage|CreativeWork>
777
        */
778 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
779 95
            'ownershipFundingInfo',
780 95
            $this->RetrievePropertyValueFromData('ownershipFundingInfo'),
781 95
            static::class
782
        );
783
784 95
        return $out;
785
    }
786
787
    /**
788
    * @param array<int, string|AboutPage|CreativeWork> $value
789
    */
790 3
    public function SetOwnershipFundingInfo(array $value) : void
791
    {
792 3
        $this->NudgePropertyValue(
793 3
            'ownershipFundingInfo',
794 3
            $value,
795 3
            true
796
        );
797 3
    }
798
799
    /**
800
    * @return array<int, Organization>
801
    */
802 95
    public function GetParentOrganization() : array
803
    {
804
        /**
805
        * @var array<int, Organization>
806
        */
807 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
808 95
            'parentOrganization',
809 95
            $this->RetrievePropertyValueFromData('parentOrganization'),
810 95
            static::class
811
        );
812
813 95
        return $out;
814
    }
815
816
    /**
817
    * @param array<int, Organization> $value
818
    */
819 3
    public function SetParentOrganization(array $value) : void
820
    {
821 3
        $this->NudgePropertyValue(
822 3
            'parentOrganization',
823 3
            $value
824
        );
825 3
    }
826
827
    /**
828
    * @return array<int, Organization>
829
    */
830 95
    public function GetSubOrganization() : array
831
    {
832
        /**
833
        * @var array<int, Organization>
834
        */
835 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
836 95
            'subOrganization',
837 95
            $this->RetrievePropertyValueFromData('subOrganization'),
838 95
            static::class
839
        );
840
841 95
        return $out;
842
    }
843
844
    /**
845
    * @param array<int, Organization> $value
846
    */
847 3
    public function SetSubOrganization(array $value) : void
848
    {
849 3
        $this->NudgePropertyValue(
850 3
            'subOrganization',
851 3
            $value
852
        );
853 3
    }
854
855
    /**
856
    * @return array<int, string|CreativeWork>
857
    */
858 95
    public function GetUnnamedSourcesPolicy() : array
859
    {
860
        /**
861
        * @var array<int, string|CreativeWork>
862
        */
863 95
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
864 95
            'unnamedSourcesPolicy',
865 95
            $this->RetrievePropertyValueFromData('unnamedSourcesPolicy'),
866 95
            static::class
867
        );
868
869 95
        return $out;
870
    }
871
872
    /**
873
    * @param array<int, string|CreativeWork> $value
874
    */
875 3
    public function SetUnnamedSourcesPolicy(array $value) : void
876
    {
877 3
        $this->NudgePropertyValue(
878 3
            'unnamedSourcesPolicy',
879 3
            $value,
880 3
            true
881
        );
882 3
    }
883
}
884