Passed
Push — master ( 81601f...461a97 )
by SignpostMarv
12:06
created

Organization   A

Complexity

Total Complexity 38

Size/Duplication

Total Lines 825
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 392
dl 0
loc 825
ccs 245
cts 245
cp 1
rs 9.36
c 0
b 0
f 0
wmc 38

38 Methods

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