Test Failed
Push — main ( f68dd4...f46f5c )
by Bingo
14:33
created

RecipientPersonalDataImpl::getSnils()

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 1
c 1
b 0
f 1
dl 0
loc 3
nc 1
nop 0
1
<?php
2
3
namespace Jabe\Model\Knd\ConstructionSupervision\Impl\Instance\Request;
4
5
use Jabe\Model\Xml\ModelBuilder;
6
use Jabe\Model\Xml\Impl\Instance\ModelElementInstanceImpl;
7
use Jabe\Model\Xml\Impl\Instance\ModelTypeInstanceContext;
8
use Jabe\Model\Xml\Type\ModelTypeInstanceProviderInterface;
9
use Jabe\Model\Knd\ConstructionSupervision\Impl\RequestModelConstants;
10
use Jabe\Model\Knd\ConstructionSupervision\Instance\Request\{
11
    CitizenshipInterface,
12
    DateBirthInterface,
13
    DocumentPersonalInterface,
14
    EmailInterface,
15
    FactAddressInterface,
16
    FirstnameInterface,
17
    FullfioInterface,
18
    GenderInterface,
19
    LastnameInterface,
20
    MiddlenameInterface,
21
    PhoneInterface,
22
    RecipientPersonalDataInterface,
23
    RegAddressInterface,
24
    SnilsInterface
25
};
26
27
class RecipientPersonalDataImpl extends ModelElementInstanceImpl implements RecipientPersonalDataInterface
28
{
29
    private $citizenship;
30
    private $dateBirth;
31
    private $documentPersonal;
32
    private $email;
33
    private $factAddress;
34
    private $firstName;
35
    private $fullfio;
36
    private $gender;
37
    private $lastname;
38
    private $middlename;
39
    private $phone;
40
    private $regAddress;
41
    private $snils;
42
43
    public static function registerType(ModelBuilder $modelBuilder): void
44
    {
45
        $typeBuilder = $modelBuilder->defineType(
46
            RecipientPersonalDataInterface::class,
47
            RequestModelConstants::ELEMENT_NAME_RECIPIENT_PERSONAL_DATA
48
        )
49
        ->namespaceUri(RequestModelConstants::MODEL_NAMESPACE)
50
        ->instanceProvider(
51
            new class implements ModelTypeInstanceProviderInterface
52
            {
53
                public function newInstance(ModelTypeInstanceContext $instanceContext): RecipientPersonalDataInterface
54
                {
55
                    return new RecipientPersonalDataImpl($instanceContext);
56
                }
57
            }
58
        );
59
60
        $sequenceBuilder = $typeBuilder->sequence();
61
62
        self::$citizenship = $sequenceBuilder->element(CitizenshipInterface::class)
63
        ->build();
64
        self::$dateBirth = $sequenceBuilder->element(DateBirthInterface::class)
65
        ->build();
66
        self::$documentPersonal = $sequenceBuilder->element(DocumentPersonalInterface::class)
67
        ->build();
68
        self::$email = $sequenceBuilder->element(EmailInterface::class)
69
        ->build();
70
        self::$factAddress = $sequenceBuilder->element(FactAddressInterface::class)
71
        ->build();
72
        self::$firstName = $sequenceBuilder->element(FirstnameInterface::class)
73
        ->build();
74
        self::$fullfio = $sequenceBuilder->element(FullfioInterface::class)
75
        ->build();
76
        self::$gender = $sequenceBuilder->element(GenderInterface::class)
77
        ->build();
78
        self::$lastname = $sequenceBuilder->element(LastnameInterface::class)
79
        ->build();
80
        self::$middlename = $sequenceBuilder->element(MiddlenameInterface::class)
81
        ->build();
82
        self::$phone = $sequenceBuilder->element(PhoneInterface::class)
83
        ->build();
84
        self::$regAddress = $sequenceBuilder->element(RegAddressInterface::class)
85
        ->build();
86
        self::$snils = $sequenceBuilder->element(SnilsInterface::class)
87
        ->build();
88
89
        $typeBuilder->build();
90
    }
91
92
    public function __construct(ModelTypeInstanceContext $instanceContext)
93
    {
94
        parent::__construct($instanceContext);
95
    }
96
97
    public function getCitizenship(): CitizenshipInterface
98
    {
99
        return self::$citizenship->getChild($this);
100
    }
101
102
    public function getDateBirth(): DateBirthInterface
103
    {
104
        return self::$dateBirth->getChild($this);
105
    }
106
107
    public function getDocumentPersonal(): DocumentPersonalInterface
108
    {
109
        return self::$documentPersonal->getChild($this);
110
    }
111
112
    public function getEmail(): EmailInterface
113
    {
114
        return self::$email->getChild($this);
115
    }
116
117
    public function getFactAddress(): FactAddressInterface
118
    {
119
        return self::$factAddress->getChild($this);
120
    }
121
122
    public function getFirstname(): FirstnameInterface
123
    {
124
        return self::$firstname->getChild($this);
0 ignored issues
show
Bug introduced by
The property firstname does not exist on Jabe\Model\Knd\Construct...cipientPersonalDataImpl. Did you mean firstName?
Loading history...
125
    }
126
127
    public function getFullfio(): FullfioInterface
128
    {
129
        return self::$fullfio->getChild($this);
130
    }
131
132
    public function getGender(): GenderInterface
133
    {
134
        return self::$gender->getChild($this);
135
    }
136
137
    public function getLastname(): LastnameInterface
138
    {
139
        return self::$lastname->getChild($this);
140
    }
141
142
    public function getMiddlename(): MiddlenameInterface
143
    {
144
        return self::$middlename->getChild($this);
145
    }
146
147
    public function getPhone(): PhoneInterface
148
    {
149
        return self::$phone->getChild($this);
150
    }
151
152
    public function getRegAddress(): RegAddressInterface
153
    {
154
        return self::$regAddress->getChild($this);
155
    }
156
157
    public function getSnils(): SnilsInterface
158
    {
159
        return self::$snils->getChild($this);
160
    }
161
}
162