FacadeMarkedProductsResponse::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 27

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 27
rs 9.488
c 0
b 0
f 0
cc 1
nc 1
nop 12

How to fix   Many Parameters   

Many Parameters

Methods with many parameters are not only hard to understand, but their parameters also often become inconsistent when you need more, or different data.

There are several approaches to avoid long parameter lists:

1
<?php
2
3
declare(strict_types=1);
4
5
namespace Lamoda\IsmpClient\V3\Dto;
6
7
use Symfony\Component\Serializer\Annotation\SerializedName;
8
9
final class FacadeMarkedProductsResponse
10
{
11
    public const STATUS_EMITTED = 'EMITTED';
12
    public const STATUS_APPLIED = 'APPLIED';
13
    public const STATUS_INTRODUCED = 'INTRODUCED';
14
    public const STATUS_RETIRED = 'RETIRED';
15
    public const STATUS_ISSUED = 'ISSUED';
16
    public const STATUS_WRITTEN_OFF = 'WRITTEN_OFF';
17
18
    /**
19
     * @var string
20
     */
21
    private $cis;
22
    /**
23
     * @var string
24
     */
25
    private $gtin;
26
    /**
27
     * @var string
28
     * @SerializedName("sgtin")
29
     */
30
    private $sgtin;
31
    /**
32
     * @var string|null
33
     * @SerializedName("productName")
34
     */
35
    private $productName;
36
    /**
37
     * @var string|null
38
     * @SerializedName("ownerName")
39
     */
40
    private $ownerName;
41
    /**
42
     * @var string|null
43
     * @SerializedName("ownerInn")
44
     */
45
    private $ownerInn;
46
    /**
47
     * @var string
48
     * @SerializedName("producerName")
49
     */
50
    private $producerName;
51
    /**
52
     * @var string
53
     * @SerializedName("producerInn")
54
     */
55
    private $producerInn;
56
    /**
57
     * @var string|null
58
     * @SerializedName("agentName")
59
     */
60
    private $agentName;
61
    /**
62
     * @var string|null
63
     * @SerializedName("agentInn")
64
     */
65
    private $agentInn;
66
    /**
67
     * @var string
68
     */
69
    private $status;
70
    /**
71
     * @var string
72
     * @SerializedName("emissionDate")
73
     */
74
    private $emissionDate;
75
    /**
76
     * @var string
77
     * @SerializedName("emissionType")
78
     */
79
    private $emissionType;
80
    /**
81
     * @var string|null
82
     * @SerializedName("introducedDate")
83
     */
84
    private $introducedDate;
85
    /**
86
     * @var string|null
87
     */
88
    private $name;
89
    /**
90
     * @var string|null
91
     */
92
    private $brand;
93
    /**
94
     * @var string|null
95
     */
96
    private $model;
97
    /**
98
     * @var FacadeMarkedProductsCertDoc[]
99
     * @SerializedName("prevCises")
100
     */
101
    private $prevCises;
102
    /**
103
     * @var FacadeMarkedProductsCertDoc[]
104
     * @SerializedName("nextCises")
105
     */
106
    private $nextCises;
107
    /**
108
     * @var string|null
109
     */
110
    private $country;
111
    /**
112
     * @var string|null
113
     * @SerializedName("productTypeDesc")
114
     */
115
    private $productTypeDesc;
116
    /**
117
     * @var string|null
118
     */
119
    private $color;
120
    /**
121
     * @var string|null
122
     * @SerializedName("materialDown")
123
     */
124
    private $materialDown;
125
    /**
126
     * @var string|null
127
     * @SerializedName("materialUpper")
128
     */
129
    private $materialUpper;
130
    /**
131
     * @var string|null
132
     * @SerializedName("materialLining")
133
     */
134
    private $materialLining;
135
    /**
136
     * @var string
137
     * @SerializedName("packType")
138
     */
139
    private $packType;
140
    /**
141
     * @var int
142
     * @SerializedName("countChildren")
143
     */
144
    private $countChildren;
145
    /**
146
     * @var string|null
147
     * @SerializedName("goodSignedFlag")
148
     */
149
    private $goodSignedFlag;
150
    /**
151
     * @var string|null
152
     * @SerializedName("goodTurnFlag")
153
     */
154
    private $goodTurnFlag;
155
    /**
156
     * @var string|null
157
     * @SerializedName("goodMarkFlag")
158
     */
159
    private $goodMarkFlag;
160
    /**
161
     * @var string|null
162
     * @SerializedName("lastDocId")
163
     */
164
    private $lastDocId;
165
166
    public function __construct(
167
        string $cis,
168
        string $gtin,
169
        string $sgtin,
170
        string $producerName,
171
        string $producerInn,
172
        string $status,
173
        string $emissionDate,
174
        string $emissionType,
175
        array $prevCises,
176
        array $nextCises,
177
        string $packType,
178
        int $countChildren
179
    ) {
180
        $this->cis = $cis;
181
        $this->gtin = $gtin;
182
        $this->sgtin = $sgtin;
183
        $this->producerName = $producerName;
184
        $this->producerInn = $producerInn;
185
        $this->status = $status;
186
        $this->emissionDate = $emissionDate;
187
        $this->emissionType = $emissionType;
188
        $this->prevCises = $prevCises;
189
        $this->nextCises = $nextCises;
190
        $this->packType = $packType;
191
        $this->countChildren = $countChildren;
192
    }
193
194
    public function getCis(): string
195
    {
196
        return $this->cis;
197
    }
198
199
    public function getGtin(): string
200
    {
201
        return $this->gtin;
202
    }
203
204
    public function getSgtin(): string
205
    {
206
        return $this->sgtin;
207
    }
208
209
    public function getProductName(): ?string
210
    {
211
        return $this->productName;
212
    }
213
214
    public function getOwnerName(): string
215
    {
216
        return $this->ownerName;
217
    }
218
219
    public function getOwnerInn(): string
220
    {
221
        return $this->ownerInn;
222
    }
223
224
    public function getProducerName(): string
225
    {
226
        return $this->producerName;
227
    }
228
229
    public function getProducerInn(): string
230
    {
231
        return $this->producerInn;
232
    }
233
234
    public function getAgentName(): ?string
235
    {
236
        return $this->agentName;
237
    }
238
239
    public function getAgentInn(): ?string
240
    {
241
        return $this->agentInn;
242
    }
243
244
    public function getStatus(): string
245
    {
246
        return $this->status;
247
    }
248
249
    public function getEmissionDate(): string
250
    {
251
        return $this->emissionDate;
252
    }
253
254
    public function getEmissionType(): string
255
    {
256
        return $this->emissionType;
257
    }
258
259
    public function getIntroducedDate(): ?string
260
    {
261
        return $this->introducedDate;
262
    }
263
264
    public function getName(): ?string
265
    {
266
        return $this->name;
267
    }
268
269
    public function getBrand(): ?string
270
    {
271
        return $this->brand;
272
    }
273
274
    public function getModel(): ?string
275
    {
276
        return $this->model;
277
    }
278
279
    /**
280
     * @return FacadeMarkedProductsCertDoc[]
281
     */
282
    public function getPrevCises(): array
283
    {
284
        return $this->prevCises;
285
    }
286
287
    /**
288
     * @return FacadeMarkedProductsCertDoc[]
289
     */
290
    public function getNextCises(): array
291
    {
292
        return $this->nextCises;
293
    }
294
295
    public function getCountry(): ?string
296
    {
297
        return $this->country;
298
    }
299
300
    public function getProductTypeDesc(): ?string
301
    {
302
        return $this->productTypeDesc;
303
    }
304
305
    public function getColor(): ?string
306
    {
307
        return $this->color;
308
    }
309
310
    public function getMaterialDown(): ?string
311
    {
312
        return $this->materialDown;
313
    }
314
315
    public function getMaterialUpper(): ?string
316
    {
317
        return $this->materialUpper;
318
    }
319
320
    public function getMaterialLining(): ?string
321
    {
322
        return $this->materialLining;
323
    }
324
325
    public function getPackType(): string
326
    {
327
        return $this->packType;
328
    }
329
330
    public function getCountChildren(): int
331
    {
332
        return $this->countChildren;
333
    }
334
335
    public function getGoodSignedFlag(): ?string
336
    {
337
        return $this->goodSignedFlag;
338
    }
339
340
    public function getGoodTurnFlag(): ?string
341
    {
342
        return $this->goodTurnFlag;
343
    }
344
345
    public function getGoodMarkFlag(): ?string
346
    {
347
        return $this->goodMarkFlag;
348
    }
349
350
    public function getLastDocId(): ?string
351
    {
352
        return $this->lastDocId;
353
    }
354
355
    public function setProductName(?string $productName): FacadeMarkedProductsResponse
356
    {
357
        $this->productName = $productName;
358
        return $this;
359
    }
360
361
    public function setOwnerName(?string $ownerName): self
362
    {
363
        $this->ownerName = $ownerName;
364
365
        return $this;
366
    }
367
368
    public function setOwnerInn(?string $ownerInn): self
369
    {
370
        $this->ownerInn = $ownerInn;
371
372
        return $this;
373
    }
374
375
    public function setAgentName(?string $agentName): FacadeMarkedProductsResponse
376
    {
377
        $this->agentName = $agentName;
378
        return $this;
379
    }
380
381
    public function setAgentInn(?string $agentInn): FacadeMarkedProductsResponse
382
    {
383
        $this->agentInn = $agentInn;
384
        return $this;
385
    }
386
387
    public function setIntroducedDate(?string $introducedDate): FacadeMarkedProductsResponse
388
    {
389
        $this->introducedDate = $introducedDate;
390
        return $this;
391
    }
392
393
    public function setName(?string $name): FacadeMarkedProductsResponse
394
    {
395
        $this->name = $name;
396
        return $this;
397
    }
398
399
    public function setBrand(?string $brand): FacadeMarkedProductsResponse
400
    {
401
        $this->brand = $brand;
402
        return $this;
403
    }
404
405
    public function setModel(?string $model): FacadeMarkedProductsResponse
406
    {
407
        $this->model = $model;
408
        return $this;
409
    }
410
411
    public function setCountry(?string $country): FacadeMarkedProductsResponse
412
    {
413
        $this->country = $country;
414
        return $this;
415
    }
416
417
    public function setProductTypeDesc(?string $productTypeDesc): FacadeMarkedProductsResponse
418
    {
419
        $this->productTypeDesc = $productTypeDesc;
420
        return $this;
421
    }
422
423
    public function setColor(?string $color): FacadeMarkedProductsResponse
424
    {
425
        $this->color = $color;
426
        return $this;
427
    }
428
429
    public function setMaterialDown(?string $materialDown): FacadeMarkedProductsResponse
430
    {
431
        $this->materialDown = $materialDown;
432
        return $this;
433
    }
434
435
    public function setMaterialUpper(?string $materialUpper): FacadeMarkedProductsResponse
436
    {
437
        $this->materialUpper = $materialUpper;
438
        return $this;
439
    }
440
441
    public function setMaterialLining(?string $materialLining): FacadeMarkedProductsResponse
442
    {
443
        $this->materialLining = $materialLining;
444
        return $this;
445
    }
446
447
    public function setGoodSignedFlag(?string $goodSignedFlag): FacadeMarkedProductsResponse
448
    {
449
        $this->goodSignedFlag = $goodSignedFlag;
450
        return $this;
451
    }
452
453
    public function setGoodTurnFlag(?string $goodTurnFlag): FacadeMarkedProductsResponse
454
    {
455
        $this->goodTurnFlag = $goodTurnFlag;
456
        return $this;
457
    }
458
459
    public function setGoodMarkFlag(?string $goodMarkFlag): FacadeMarkedProductsResponse
460
    {
461
        $this->goodMarkFlag = $goodMarkFlag;
462
        return $this;
463
    }
464
465
    public function setLastDocId(?string $lastDocId): FacadeMarkedProductsResponse
466
    {
467
        $this->lastDocId = $lastDocId;
468
        return $this;
469
    }
470
}
471