Issues (439)

Security Analysis    no request data  

This project does not seem to handle request data directly as such no vulnerable execution paths were found.

  Cross-Site Scripting
Cross-Site Scripting enables an attacker to inject code into the response of a web-request that is viewed by other users. It can for example be used to bypass access controls, or even to take over other users' accounts.
  File Exposure
File Exposure allows an attacker to gain access to local files that he should not be able to access. These files can for example include database credentials, or other configuration files.
  File Manipulation
File Manipulation enables an attacker to write custom data to files. This potentially leads to injection of arbitrary code on the server.
  Object Injection
Object Injection enables an attacker to inject an object into PHP code, and can lead to arbitrary code execution, file exposure, or file manipulation attacks.
  Code Injection
Code Injection enables an attacker to execute arbitrary code on the server.
  Response Splitting
Response Splitting can be used to send arbitrary responses.
  File Inclusion
File Inclusion enables an attacker to inject custom files into PHP's file loading mechanism, either explicitly passed to include, or for example via PHP's auto-loading mechanism.
  Command Injection
Command Injection enables an attacker to inject a shell command that is execute with the privileges of the web-server. This can be used to expose sensitive data, or gain access of your server.
  SQL Injection
SQL Injection enables an attacker to execute arbitrary SQL code on your database server gaining access to user data, or manipulating user data.
  XPath Injection
XPath Injection enables an attacker to modify the parts of XML document that are read. If that XML document is for example used for authentication, this can lead to further vulnerabilities similar to SQL Injection.
  LDAP Injection
LDAP Injection enables an attacker to inject LDAP statements potentially granting permission to run unauthorized queries, or modify content inside the LDAP tree.
  Header Injection
  Other Vulnerability
This category comprises other attack vectors such as manipulating the PHP runtime, loading custom extensions, freezing the runtime, or similar.
  Regex Injection
Regex Injection enables an attacker to execute arbitrary code in your PHP process.
  XML Injection
XML Injection enables an attacker to read files on your local filesystem including configuration files, or can be abused to freeze your web-server process.
  Variable Injection
Variable Injection enables an attacker to overwrite program variables with custom data, and can lead to further vulnerabilities.
Unfortunately, the security analysis is currently not available for your project. If you are a non-commercial open-source project, please contact support to gain access.

src/Person.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
namespace Spatie\SchemaOrg;
4
5
use \Spatie\SchemaOrg\Contracts\PersonContract;
6
use \Spatie\SchemaOrg\Contracts\ThingContract;
7
8
/**
9
 * A person (alive, dead, undead, or fictional).
10
 *
11
 * @see http://schema.org/Person
12
 *
13
 */
14 View Code Duplication
class Person extends BaseType implements PersonContract, ThingContract
0 ignored issues
show
This class seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
15
{
16
    /**
17
     * An additional name for a Person, can be used for a middle name.
18
     *
19
     * @param string|string[] $additionalName
20
     *
21
     * @return static
22
     *
23
     * @see http://schema.org/additionalName
24
     */
25
    public function additionalName($additionalName)
26
    {
27
        return $this->setProperty('additionalName', $additionalName);
28
    }
29
30
    /**
31
     * An additional type for the item, typically used for adding more specific
32
     * types from external vocabularies in microdata syntax. This is a
33
     * relationship between something and a class that the thing is in. In RDFa
34
     * syntax, it is better to use the native RDFa syntax - the 'typeof'
35
     * attribute - for multiple types. Schema.org tools may have only weaker
36
     * understanding of extra types, in particular those defined externally.
37
     *
38
     * @param string|string[] $additionalType
39
     *
40
     * @return static
41
     *
42
     * @see http://schema.org/additionalType
43
     */
44
    public function additionalType($additionalType)
45
    {
46
        return $this->setProperty('additionalType', $additionalType);
47
    }
48
49
    /**
50
     * Physical address of the item.
51
     *
52
     * @param \Spatie\SchemaOrg\Contracts\PostalAddressContract|\Spatie\SchemaOrg\Contracts\PostalAddressContract[]|string|string[] $address
53
     *
54
     * @return static
55
     *
56
     * @see http://schema.org/address
57
     */
58
    public function address($address)
59
    {
60
        return $this->setProperty('address', $address);
61
    }
62
63
    /**
64
     * An organization that this person is affiliated with. For example, a
65
     * school/university, a club, or a team.
66
     *
67
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $affiliation
68
     *
69
     * @return static
70
     *
71
     * @see http://schema.org/affiliation
72
     */
73
    public function affiliation($affiliation)
74
    {
75
        return $this->setProperty('affiliation', $affiliation);
76
    }
77
78
    /**
79
     * An alias for the item.
80
     *
81
     * @param string|string[] $alternateName
82
     *
83
     * @return static
84
     *
85
     * @see http://schema.org/alternateName
86
     */
87
    public function alternateName($alternateName)
88
    {
89
        return $this->setProperty('alternateName', $alternateName);
90
    }
91
92
    /**
93
     * An organization that the person is an alumni of.
94
     *
95
     * @param \Spatie\SchemaOrg\Contracts\EducationalOrganizationContract|\Spatie\SchemaOrg\Contracts\EducationalOrganizationContract[]|\Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $alumniOf
96
     *
97
     * @return static
98
     *
99
     * @see http://schema.org/alumniOf
100
     */
101
    public function alumniOf($alumniOf)
102
    {
103
        return $this->setProperty('alumniOf', $alumniOf);
104
    }
105
106
    /**
107
     * An award won by or for this item.
108
     *
109
     * @param string|string[] $award
110
     *
111
     * @return static
112
     *
113
     * @see http://schema.org/award
114
     */
115
    public function award($award)
116
    {
117
        return $this->setProperty('award', $award);
118
    }
119
120
    /**
121
     * Awards won by or for this item.
122
     *
123
     * @param string|string[] $awards
124
     *
125
     * @return static
126
     *
127
     * @see http://schema.org/awards
128
     */
129
    public function awards($awards)
130
    {
131
        return $this->setProperty('awards', $awards);
132
    }
133
134
    /**
135
     * Date of birth.
136
     *
137
     * @param \DateTimeInterface|\DateTimeInterface[] $birthDate
138
     *
139
     * @return static
140
     *
141
     * @see http://schema.org/birthDate
142
     */
143
    public function birthDate($birthDate)
144
    {
145
        return $this->setProperty('birthDate', $birthDate);
146
    }
147
148
    /**
149
     * The place where the person was born.
150
     *
151
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $birthPlace
152
     *
153
     * @return static
154
     *
155
     * @see http://schema.org/birthPlace
156
     */
157
    public function birthPlace($birthPlace)
158
    {
159
        return $this->setProperty('birthPlace', $birthPlace);
160
    }
161
162
    /**
163
     * The brand(s) associated with a product or service, or the brand(s)
164
     * maintained by an organization or business person.
165
     *
166
     * @param \Spatie\SchemaOrg\Contracts\BrandContract|\Spatie\SchemaOrg\Contracts\BrandContract[]|\Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $brand
167
     *
168
     * @return static
169
     *
170
     * @see http://schema.org/brand
171
     */
172
    public function brand($brand)
173
    {
174
        return $this->setProperty('brand', $brand);
175
    }
176
177
    /**
178
     * A child of the person.
179
     *
180
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $children
181
     *
182
     * @return static
183
     *
184
     * @see http://schema.org/children
185
     */
186
    public function children($children)
187
    {
188
        return $this->setProperty('children', $children);
189
    }
190
191
    /**
192
     * A colleague of the person.
193
     *
194
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[]|string|string[] $colleague
195
     *
196
     * @return static
197
     *
198
     * @see http://schema.org/colleague
199
     */
200
    public function colleague($colleague)
201
    {
202
        return $this->setProperty('colleague', $colleague);
203
    }
204
205
    /**
206
     * A colleague of the person.
207
     *
208
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $colleagues
209
     *
210
     * @return static
211
     *
212
     * @see http://schema.org/colleagues
213
     */
214
    public function colleagues($colleagues)
215
    {
216
        return $this->setProperty('colleagues', $colleagues);
217
    }
218
219
    /**
220
     * A contact point for a person or organization.
221
     *
222
     * @param \Spatie\SchemaOrg\Contracts\ContactPointContract|\Spatie\SchemaOrg\Contracts\ContactPointContract[] $contactPoint
223
     *
224
     * @return static
225
     *
226
     * @see http://schema.org/contactPoint
227
     */
228
    public function contactPoint($contactPoint)
229
    {
230
        return $this->setProperty('contactPoint', $contactPoint);
231
    }
232
233
    /**
234
     * A contact point for a person or organization.
235
     *
236
     * @param \Spatie\SchemaOrg\Contracts\ContactPointContract|\Spatie\SchemaOrg\Contracts\ContactPointContract[] $contactPoints
237
     *
238
     * @return static
239
     *
240
     * @see http://schema.org/contactPoints
241
     */
242
    public function contactPoints($contactPoints)
243
    {
244
        return $this->setProperty('contactPoints', $contactPoints);
245
    }
246
247
    /**
248
     * Date of death.
249
     *
250
     * @param \DateTimeInterface|\DateTimeInterface[] $deathDate
251
     *
252
     * @return static
253
     *
254
     * @see http://schema.org/deathDate
255
     */
256
    public function deathDate($deathDate)
257
    {
258
        return $this->setProperty('deathDate', $deathDate);
259
    }
260
261
    /**
262
     * The place where the person died.
263
     *
264
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $deathPlace
265
     *
266
     * @return static
267
     *
268
     * @see http://schema.org/deathPlace
269
     */
270
    public function deathPlace($deathPlace)
271
    {
272
        return $this->setProperty('deathPlace', $deathPlace);
273
    }
274
275
    /**
276
     * A description of the item.
277
     *
278
     * @param string|string[] $description
279
     *
280
     * @return static
281
     *
282
     * @see http://schema.org/description
283
     */
284
    public function description($description)
285
    {
286
        return $this->setProperty('description', $description);
287
    }
288
289
    /**
290
     * A sub property of description. A short description of the item used to
291
     * disambiguate from other, similar items. Information from other properties
292
     * (in particular, name) may be necessary for the description to be useful
293
     * for disambiguation.
294
     *
295
     * @param string|string[] $disambiguatingDescription
296
     *
297
     * @return static
298
     *
299
     * @see http://schema.org/disambiguatingDescription
300
     */
301
    public function disambiguatingDescription($disambiguatingDescription)
302
    {
303
        return $this->setProperty('disambiguatingDescription', $disambiguatingDescription);
304
    }
305
306
    /**
307
     * The Dun & Bradstreet DUNS number for identifying an organization or
308
     * business person.
309
     *
310
     * @param string|string[] $duns
311
     *
312
     * @return static
313
     *
314
     * @see http://schema.org/duns
315
     */
316
    public function duns($duns)
317
    {
318
        return $this->setProperty('duns', $duns);
319
    }
320
321
    /**
322
     * Email address.
323
     *
324
     * @param string|string[] $email
325
     *
326
     * @return static
327
     *
328
     * @see http://schema.org/email
329
     */
330
    public function email($email)
331
    {
332
        return $this->setProperty('email', $email);
333
    }
334
335
    /**
336
     * Family name. In the U.S., the last name of an Person. This can be used
337
     * along with givenName instead of the name property.
338
     *
339
     * @param string|string[] $familyName
340
     *
341
     * @return static
342
     *
343
     * @see http://schema.org/familyName
344
     */
345
    public function familyName($familyName)
346
    {
347
        return $this->setProperty('familyName', $familyName);
348
    }
349
350
    /**
351
     * The fax number.
352
     *
353
     * @param string|string[] $faxNumber
354
     *
355
     * @return static
356
     *
357
     * @see http://schema.org/faxNumber
358
     */
359
    public function faxNumber($faxNumber)
360
    {
361
        return $this->setProperty('faxNumber', $faxNumber);
362
    }
363
364
    /**
365
     * The most generic uni-directional social relation.
366
     *
367
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $follows
368
     *
369
     * @return static
370
     *
371
     * @see http://schema.org/follows
372
     */
373
    public function follows($follows)
374
    {
375
        return $this->setProperty('follows', $follows);
376
    }
377
378
    /**
379
     * A person or organization that supports (sponsors) something through some
380
     * kind of financial contribution.
381
     *
382
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $funder
383
     *
384
     * @return static
385
     *
386
     * @see http://schema.org/funder
387
     */
388
    public function funder($funder)
389
    {
390
        return $this->setProperty('funder', $funder);
391
    }
392
393
    /**
394
     * Gender of something, typically a [[Person]], but possibly also fictional
395
     * characters, animals, etc. While http://schema.org/Male and
396
     * http://schema.org/Female may be used, text strings are also acceptable
397
     * for people who do not identify as a binary gender. The [[gender]]
398
     * property can also be used in an extended sense to cover e.g. the gender
399
     * of sports teams. As with the gender of individuals, we do not try to
400
     * enumerate all possibilities. A mixed-gender [[SportsTeam]] can be
401
     * indicated with a text value of "Mixed".
402
     *
403
     * @param \Spatie\SchemaOrg\Contracts\GenderTypeContract|\Spatie\SchemaOrg\Contracts\GenderTypeContract[]|string|string[] $gender
404
     *
405
     * @return static
406
     *
407
     * @see http://schema.org/gender
408
     */
409
    public function gender($gender)
410
    {
411
        return $this->setProperty('gender', $gender);
412
    }
413
414
    /**
415
     * Given name. In the U.S., the first name of a Person. This can be used
416
     * along with familyName instead of the name property.
417
     *
418
     * @param string|string[] $givenName
419
     *
420
     * @return static
421
     *
422
     * @see http://schema.org/givenName
423
     */
424
    public function givenName($givenName)
425
    {
426
        return $this->setProperty('givenName', $givenName);
427
    }
428
429
    /**
430
     * The [Global Location Number](http://www.gs1.org/gln) (GLN, sometimes also
431
     * referred to as International Location Number or ILN) of the respective
432
     * organization, person, or place. The GLN is a 13-digit number used to
433
     * identify parties and physical locations.
434
     *
435
     * @param string|string[] $globalLocationNumber
436
     *
437
     * @return static
438
     *
439
     * @see http://schema.org/globalLocationNumber
440
     */
441
    public function globalLocationNumber($globalLocationNumber)
442
    {
443
        return $this->setProperty('globalLocationNumber', $globalLocationNumber);
444
    }
445
446
    /**
447
     * The Person's occupation. For past professions, use Role for expressing
448
     * dates.
449
     *
450
     * @param \Spatie\SchemaOrg\Contracts\OccupationContract|\Spatie\SchemaOrg\Contracts\OccupationContract[] $hasOccupation
451
     *
452
     * @return static
453
     *
454
     * @see http://schema.org/hasOccupation
455
     */
456
    public function hasOccupation($hasOccupation)
457
    {
458
        return $this->setProperty('hasOccupation', $hasOccupation);
459
    }
460
461
    /**
462
     * Indicates an OfferCatalog listing for this Organization, Person, or
463
     * Service.
464
     *
465
     * @param \Spatie\SchemaOrg\Contracts\OfferCatalogContract|\Spatie\SchemaOrg\Contracts\OfferCatalogContract[] $hasOfferCatalog
466
     *
467
     * @return static
468
     *
469
     * @see http://schema.org/hasOfferCatalog
470
     */
471
    public function hasOfferCatalog($hasOfferCatalog)
472
    {
473
        return $this->setProperty('hasOfferCatalog', $hasOfferCatalog);
474
    }
475
476
    /**
477
     * Points-of-Sales operated by the organization or person.
478
     *
479
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $hasPOS
480
     *
481
     * @return static
482
     *
483
     * @see http://schema.org/hasPOS
484
     */
485
    public function hasPOS($hasPOS)
486
    {
487
        return $this->setProperty('hasPOS', $hasPOS);
488
    }
489
490
    /**
491
     * The height of the item.
492
     *
493
     * @param \Spatie\SchemaOrg\Contracts\DistanceContract|\Spatie\SchemaOrg\Contracts\DistanceContract[]|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[] $height
494
     *
495
     * @return static
496
     *
497
     * @see http://schema.org/height
498
     */
499
    public function height($height)
500
    {
501
        return $this->setProperty('height', $height);
502
    }
503
504
    /**
505
     * A contact location for a person's residence.
506
     *
507
     * @param \Spatie\SchemaOrg\Contracts\ContactPointContract|\Spatie\SchemaOrg\Contracts\ContactPointContract[]|\Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $homeLocation
508
     *
509
     * @return static
510
     *
511
     * @see http://schema.org/homeLocation
512
     */
513
    public function homeLocation($homeLocation)
514
    {
515
        return $this->setProperty('homeLocation', $homeLocation);
516
    }
517
518
    /**
519
     * An honorific prefix preceding a Person's name such as Dr/Mrs/Mr.
520
     *
521
     * @param string|string[] $honorificPrefix
522
     *
523
     * @return static
524
     *
525
     * @see http://schema.org/honorificPrefix
526
     */
527
    public function honorificPrefix($honorificPrefix)
528
    {
529
        return $this->setProperty('honorificPrefix', $honorificPrefix);
530
    }
531
532
    /**
533
     * An honorific suffix preceding a Person's name such as M.D. /PhD/MSCSW.
534
     *
535
     * @param string|string[] $honorificSuffix
536
     *
537
     * @return static
538
     *
539
     * @see http://schema.org/honorificSuffix
540
     */
541
    public function honorificSuffix($honorificSuffix)
542
    {
543
        return $this->setProperty('honorificSuffix', $honorificSuffix);
544
    }
545
546
    /**
547
     * The identifier property represents any kind of identifier for any kind of
548
     * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides
549
     * dedicated properties for representing many of these, either as textual
550
     * strings or as URL (URI) links. See [background
551
     * notes](/docs/datamodel.html#identifierBg) for more details.
552
     *
553
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier
554
     *
555
     * @return static
556
     *
557
     * @see http://schema.org/identifier
558
     */
559
    public function identifier($identifier)
560
    {
561
        return $this->setProperty('identifier', $identifier);
562
    }
563
564
    /**
565
     * An image of the item. This can be a [[URL]] or a fully described
566
     * [[ImageObject]].
567
     *
568
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image
569
     *
570
     * @return static
571
     *
572
     * @see http://schema.org/image
573
     */
574
    public function image($image)
575
    {
576
        return $this->setProperty('image', $image);
577
    }
578
579
    /**
580
     * The International Standard of Industrial Classification of All Economic
581
     * Activities (ISIC), Revision 4 code for a particular organization,
582
     * business person, or place.
583
     *
584
     * @param string|string[] $isicV4
585
     *
586
     * @return static
587
     *
588
     * @see http://schema.org/isicV4
589
     */
590
    public function isicV4($isicV4)
591
    {
592
        return $this->setProperty('isicV4', $isicV4);
593
    }
594
595
    /**
596
     * The job title of the person (for example, Financial Manager).
597
     *
598
     * @param string|string[] $jobTitle
599
     *
600
     * @return static
601
     *
602
     * @see http://schema.org/jobTitle
603
     */
604
    public function jobTitle($jobTitle)
605
    {
606
        return $this->setProperty('jobTitle', $jobTitle);
607
    }
608
609
    /**
610
     * The most generic bi-directional social/work relation.
611
     *
612
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $knows
613
     *
614
     * @return static
615
     *
616
     * @see http://schema.org/knows
617
     */
618
    public function knows($knows)
619
    {
620
        return $this->setProperty('knows', $knows);
621
    }
622
623
    /**
624
     * Indicates a page (or other CreativeWork) for which this thing is the main
625
     * entity being described. See [background
626
     * notes](/docs/datamodel.html#mainEntityBackground) for details.
627
     *
628
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage
629
     *
630
     * @return static
631
     *
632
     * @see http://schema.org/mainEntityOfPage
633
     */
634
    public function mainEntityOfPage($mainEntityOfPage)
635
    {
636
        return $this->setProperty('mainEntityOfPage', $mainEntityOfPage);
637
    }
638
639
    /**
640
     * A pointer to products or services offered by the organization or person.
641
     *
642
     * @param \Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $makesOffer
643
     *
644
     * @return static
645
     *
646
     * @see http://schema.org/makesOffer
647
     */
648
    public function makesOffer($makesOffer)
649
    {
650
        return $this->setProperty('makesOffer', $makesOffer);
651
    }
652
653
    /**
654
     * An Organization (or ProgramMembership) to which this Person or
655
     * Organization belongs.
656
     *
657
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\ProgramMembershipContract|\Spatie\SchemaOrg\Contracts\ProgramMembershipContract[] $memberOf
658
     *
659
     * @return static
660
     *
661
     * @see http://schema.org/memberOf
662
     */
663
    public function memberOf($memberOf)
664
    {
665
        return $this->setProperty('memberOf', $memberOf);
666
    }
667
668
    /**
669
     * The North American Industry Classification System (NAICS) code for a
670
     * particular organization or business person.
671
     *
672
     * @param string|string[] $naics
673
     *
674
     * @return static
675
     *
676
     * @see http://schema.org/naics
677
     */
678
    public function naics($naics)
679
    {
680
        return $this->setProperty('naics', $naics);
681
    }
682
683
    /**
684
     * The name of the item.
685
     *
686
     * @param string|string[] $name
687
     *
688
     * @return static
689
     *
690
     * @see http://schema.org/name
691
     */
692
    public function name($name)
693
    {
694
        return $this->setProperty('name', $name);
695
    }
696
697
    /**
698
     * Nationality of the person.
699
     *
700
     * @param \Spatie\SchemaOrg\Contracts\CountryContract|\Spatie\SchemaOrg\Contracts\CountryContract[] $nationality
701
     *
702
     * @return static
703
     *
704
     * @see http://schema.org/nationality
705
     */
706
    public function nationality($nationality)
707
    {
708
        return $this->setProperty('nationality', $nationality);
709
    }
710
711
    /**
712
     * The total financial value of the person as calculated by subtracting
713
     * assets from liabilities.
714
     *
715
     * @param \Spatie\SchemaOrg\Contracts\MonetaryAmountContract|\Spatie\SchemaOrg\Contracts\MonetaryAmountContract[]|\Spatie\SchemaOrg\Contracts\PriceSpecificationContract|\Spatie\SchemaOrg\Contracts\PriceSpecificationContract[] $netWorth
716
     *
717
     * @return static
718
     *
719
     * @see http://schema.org/netWorth
720
     */
721
    public function netWorth($netWorth)
722
    {
723
        return $this->setProperty('netWorth', $netWorth);
724
    }
725
726
    /**
727
     * Products owned by the organization or person.
728
     *
729
     * @param \Spatie\SchemaOrg\Contracts\OwnershipInfoContract|\Spatie\SchemaOrg\Contracts\OwnershipInfoContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[] $owns
730
     *
731
     * @return static
732
     *
733
     * @see http://schema.org/owns
734
     */
735
    public function owns($owns)
736
    {
737
        return $this->setProperty('owns', $owns);
738
    }
739
740
    /**
741
     * A parent of this person.
742
     *
743
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $parent
744
     *
745
     * @return static
746
     *
747
     * @see http://schema.org/parent
748
     */
749
    public function parent($parent)
750
    {
751
        return $this->setProperty('parent', $parent);
752
    }
753
754
    /**
755
     * A parents of the person.
756
     *
757
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $parents
758
     *
759
     * @return static
760
     *
761
     * @see http://schema.org/parents
762
     */
763
    public function parents($parents)
764
    {
765
        return $this->setProperty('parents', $parents);
766
    }
767
768
    /**
769
     * Event that this person is a performer or participant in.
770
     *
771
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $performerIn
772
     *
773
     * @return static
774
     *
775
     * @see http://schema.org/performerIn
776
     */
777
    public function performerIn($performerIn)
778
    {
779
        return $this->setProperty('performerIn', $performerIn);
780
    }
781
782
    /**
783
     * Indicates a potential Action, which describes an idealized action in
784
     * which this thing would play an 'object' role.
785
     *
786
     * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction
787
     *
788
     * @return static
789
     *
790
     * @see http://schema.org/potentialAction
791
     */
792
    public function potentialAction($potentialAction)
793
    {
794
        return $this->setProperty('potentialAction', $potentialAction);
795
    }
796
797
    /**
798
     * The publishingPrinciples property indicates (typically via [[URL]]) a
799
     * document describing the editorial principles of an [[Organization]] (or
800
     * individual e.g. a [[Person]] writing a blog) that relate to their
801
     * activities as a publisher, e.g. ethics or diversity policies. When
802
     * applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are
803
     * those of the party primarily responsible for the creation of the
804
     * [[CreativeWork]].
805
     * 
806
     * While such policies are most typically expressed in natural language,
807
     * sometimes related information (e.g. indicating a [[funder]]) can be
808
     * expressed using schema.org terminology.
809
     *
810
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $publishingPrinciples
811
     *
812
     * @return static
813
     *
814
     * @see http://schema.org/publishingPrinciples
815
     */
816
    public function publishingPrinciples($publishingPrinciples)
817
    {
818
        return $this->setProperty('publishingPrinciples', $publishingPrinciples);
819
    }
820
821
    /**
822
     * The most generic familial relation.
823
     *
824
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $relatedTo
825
     *
826
     * @return static
827
     *
828
     * @see http://schema.org/relatedTo
829
     */
830
    public function relatedTo($relatedTo)
831
    {
832
        return $this->setProperty('relatedTo', $relatedTo);
833
    }
834
835
    /**
836
     * URL of a reference Web page that unambiguously indicates the item's
837
     * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or
838
     * official website.
839
     *
840
     * @param string|string[] $sameAs
841
     *
842
     * @return static
843
     *
844
     * @see http://schema.org/sameAs
845
     */
846
    public function sameAs($sameAs)
847
    {
848
        return $this->setProperty('sameAs', $sameAs);
849
    }
850
851
    /**
852
     * A pointer to products or services sought by the organization or person
853
     * (demand).
854
     *
855
     * @param \Spatie\SchemaOrg\Contracts\DemandContract|\Spatie\SchemaOrg\Contracts\DemandContract[] $seeks
856
     *
857
     * @return static
858
     *
859
     * @see http://schema.org/seeks
860
     */
861
    public function seeks($seeks)
862
    {
863
        return $this->setProperty('seeks', $seeks);
864
    }
865
866
    /**
867
     * A sibling of the person.
868
     *
869
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $sibling
870
     *
871
     * @return static
872
     *
873
     * @see http://schema.org/sibling
874
     */
875
    public function sibling($sibling)
876
    {
877
        return $this->setProperty('sibling', $sibling);
878
    }
879
880
    /**
881
     * A sibling of the person.
882
     *
883
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $siblings
884
     *
885
     * @return static
886
     *
887
     * @see http://schema.org/siblings
888
     */
889
    public function siblings($siblings)
890
    {
891
        return $this->setProperty('siblings', $siblings);
892
    }
893
894
    /**
895
     * A person or organization that supports a thing through a pledge, promise,
896
     * or financial contribution. e.g. a sponsor of a Medical Study or a
897
     * corporate sponsor of an event.
898
     *
899
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $sponsor
900
     *
901
     * @return static
902
     *
903
     * @see http://schema.org/sponsor
904
     */
905
    public function sponsor($sponsor)
906
    {
907
        return $this->setProperty('sponsor', $sponsor);
908
    }
909
910
    /**
911
     * The person's spouse.
912
     *
913
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $spouse
914
     *
915
     * @return static
916
     *
917
     * @see http://schema.org/spouse
918
     */
919
    public function spouse($spouse)
920
    {
921
        return $this->setProperty('spouse', $spouse);
922
    }
923
924
    /**
925
     * A CreativeWork or Event about this Thing.
926
     *
927
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf
928
     *
929
     * @return static
930
     *
931
     * @see http://schema.org/subjectOf
932
     */
933
    public function subjectOf($subjectOf)
934
    {
935
        return $this->setProperty('subjectOf', $subjectOf);
936
    }
937
938
    /**
939
     * The Tax / Fiscal ID of the organization or person, e.g. the TIN in the US
940
     * or the CIF/NIF in Spain.
941
     *
942
     * @param string|string[] $taxID
943
     *
944
     * @return static
945
     *
946
     * @see http://schema.org/taxID
947
     */
948
    public function taxID($taxID)
949
    {
950
        return $this->setProperty('taxID', $taxID);
951
    }
952
953
    /**
954
     * The telephone number.
955
     *
956
     * @param string|string[] $telephone
957
     *
958
     * @return static
959
     *
960
     * @see http://schema.org/telephone
961
     */
962
    public function telephone($telephone)
963
    {
964
        return $this->setProperty('telephone', $telephone);
965
    }
966
967
    /**
968
     * URL of the item.
969
     *
970
     * @param string|string[] $url
971
     *
972
     * @return static
973
     *
974
     * @see http://schema.org/url
975
     */
976
    public function url($url)
977
    {
978
        return $this->setProperty('url', $url);
979
    }
980
981
    /**
982
     * The Value-added Tax ID of the organization or person.
983
     *
984
     * @param string|string[] $vatID
985
     *
986
     * @return static
987
     *
988
     * @see http://schema.org/vatID
989
     */
990
    public function vatID($vatID)
991
    {
992
        return $this->setProperty('vatID', $vatID);
993
    }
994
995
    /**
996
     * The weight of the product or person.
997
     *
998
     * @param \Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[] $weight
999
     *
1000
     * @return static
1001
     *
1002
     * @see http://schema.org/weight
1003
     */
1004
    public function weight($weight)
1005
    {
1006
        return $this->setProperty('weight', $weight);
1007
    }
1008
1009
    /**
1010
     * A contact location for a person's place of work.
1011
     *
1012
     * @param \Spatie\SchemaOrg\Contracts\ContactPointContract|\Spatie\SchemaOrg\Contracts\ContactPointContract[]|\Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $workLocation
1013
     *
1014
     * @return static
1015
     *
1016
     * @see http://schema.org/workLocation
1017
     */
1018
    public function workLocation($workLocation)
1019
    {
1020
        return $this->setProperty('workLocation', $workLocation);
1021
    }
1022
1023
    /**
1024
     * Organizations that the person works for.
1025
     *
1026
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $worksFor
1027
     *
1028
     * @return static
1029
     *
1030
     * @see http://schema.org/worksFor
1031
     */
1032
    public function worksFor($worksFor)
1033
    {
1034
        return $this->setProperty('worksFor', $worksFor);
1035
    }
1036
1037
}
1038