1: <?php declare(strict_types=1);
2:
3: namespace Salient\Core\Reflection;
4:
5: use Salient\Contract\Core\Entity\Relatable;
6:
7: /**
8: * @api
9: */
10: final class PropertyRelationship
11: {
12: /**
13: * Property name
14: */
15: public string $Name;
16:
17: /**
18: * Relationship type
19: *
20: * @var Relatable::*
21: */
22: public int $Type;
23:
24: /**
25: * Target class
26: *
27: * @var class-string<Relatable>
28: */
29: public string $Target;
30:
31: /**
32: * @internal
33: *
34: * @param Relatable::* $type
35: * @param class-string<Relatable> $target
36: */
37: public function __construct(string $name, int $type, string $target)
38: {
39: $this->Name = $name;
40: $this->Type = $type;
41: $this->Target = $target;
42: }
43: }
44: