Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
47.22% covered (danger)
47.22%
51 / 108
46.81% covered (danger)
46.81%
22 / 47
CRAP
0.00% covered (danger)
0.00%
0 / 1
Identification
47.22% covered (danger)
47.22%
51 / 108
46.81% covered (danger)
46.81%
22 / 47
948.64
0.00% covered (danger)
0.00%
0 / 1
 __construct
100.00% covered (success)
100.00%
16 / 16
100.00% covered (success)
100.00%
1 / 1
17
 __toString
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 swaggerTypes
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 swaggerFormats
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 attributeMap
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setters
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getters
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getModelName
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 listInvalidProperties
0.00% covered (danger)
0.00%
0 / 26
0.00% covered (danger)
0.00%
0 / 1
182
 valid
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getVisitorId
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setVisitorId
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getRequestId
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setRequestId
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getBrowserDetails
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setBrowserDetails
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getIncognito
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setIncognito
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getIp
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setIp
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getIpLocation
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setIpLocation
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getLinkedId
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setLinkedId
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getTimestamp
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setTimestamp
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getTime
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setTime
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getUrl
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setUrl
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getTag
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setTag
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getConfidence
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setConfidence
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getVisitorFound
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setVisitorFound
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getFirstSeenAt
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setFirstSeenAt
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getLastSeenAt
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setLastSeenAt
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getComponents
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setComponents
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 offsetExists
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 offsetGet
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
6
 offsetSet
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
 offsetUnset
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 toPrettyString
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2/**
3 * Identification.
4 *
5 * @category Class
6 *
7 * @author   Swagger Codegen team
8 *
9 * @see     https://github.com/swagger-api/swagger-codegen
10 */
11
12/**
13 * Fingerprint Pro Server API.
14 *
15 * Fingerprint Pro Server API allows you to get information about visitors and about individual events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device.
16 *
17 * OpenAPI spec version: 3
18 * Contact: support@fingerprint.com
19 * Generated by: https://github.com/swagger-api/swagger-codegen.git
20 * Swagger Codegen version: 3.0.34
21 */
22/**
23 * NOTE: This class is auto generated by the swagger code generator program.
24 * https://github.com/swagger-api/swagger-codegen
25 * Do not edit the class manually.
26 */
27
28namespace Fingerprint\ServerAPI\Model;
29
30use Fingerprint\ServerAPI\ObjectSerializer;
31
32/**
33 * Identification Class Doc Comment.
34 *
35 * @category Class
36 *
37 * @author   Swagger Codegen team
38 *
39 * @see     https://github.com/swagger-api/swagger-codegen
40 */
41class Identification implements ModelInterface, \ArrayAccess
42{
43    /**
44     * The original name of the model.
45     *
46     */
47    protected static string $swaggerModelName = 'Identification';
48
49    /**
50     * Array of property to type mappings. Used for (de)serialization.
51     *
52     * @var string[]
53     */
54    protected static array $swaggerTypes = [
55        'visitor_id' => 'string',
56        'request_id' => 'string',
57        'browser_details' => '\Fingerprint\ServerAPI\Model\BrowserDetails',
58        'incognito' => 'bool',
59        'ip' => 'string',
60        'ip_location' => '\Fingerprint\ServerAPI\Model\DeprecatedGeolocation',
61        'linked_id' => 'string',
62        'timestamp' => 'int',
63        'time' => '\DateTime',
64        'url' => 'string',
65        'tag' => 'array',
66        'confidence' => '\Fingerprint\ServerAPI\Model\IdentificationConfidence',
67        'visitor_found' => 'bool',
68        'first_seen_at' => '\Fingerprint\ServerAPI\Model\IdentificationSeenAt',
69        'last_seen_at' => '\Fingerprint\ServerAPI\Model\IdentificationSeenAt',
70        'components' => 'array'];
71
72    /**
73     * Array of property to format mappings. Used for (de)serialization.
74     *
75     * @var string[]
76     */
77    protected static array $swaggerFormats = [
78        'visitor_id' => null,
79        'request_id' => null,
80        'browser_details' => null,
81        'incognito' => null,
82        'ip' => null,
83        'ip_location' => null,
84        'linked_id' => null,
85        'timestamp' => 'int64',
86        'time' => 'date-time',
87        'url' => null,
88        'tag' => null,
89        'confidence' => null,
90        'visitor_found' => null,
91        'first_seen_at' => null,
92        'last_seen_at' => null,
93        'components' => null];
94
95    /**
96     * Array of attributes where the key is the local name,
97     * and the value is the original name.
98     *
99     * @var string[]
100     */
101    protected static array $attributeMap = [
102        'visitor_id' => 'visitorId',
103        'request_id' => 'requestId',
104        'browser_details' => 'browserDetails',
105        'incognito' => 'incognito',
106        'ip' => 'ip',
107        'ip_location' => 'ipLocation',
108        'linked_id' => 'linkedId',
109        'timestamp' => 'timestamp',
110        'time' => 'time',
111        'url' => 'url',
112        'tag' => 'tag',
113        'confidence' => 'confidence',
114        'visitor_found' => 'visitorFound',
115        'first_seen_at' => 'firstSeenAt',
116        'last_seen_at' => 'lastSeenAt',
117        'components' => 'components'];
118
119    /**
120     * Array of attributes to setter functions (for deserialization of responses).
121     *
122     * @var string[]
123     */
124    protected static array $setters = [
125        'visitor_id' => 'setVisitorId',
126        'request_id' => 'setRequestId',
127        'browser_details' => 'setBrowserDetails',
128        'incognito' => 'setIncognito',
129        'ip' => 'setIp',
130        'ip_location' => 'setIpLocation',
131        'linked_id' => 'setLinkedId',
132        'timestamp' => 'setTimestamp',
133        'time' => 'setTime',
134        'url' => 'setUrl',
135        'tag' => 'setTag',
136        'confidence' => 'setConfidence',
137        'visitor_found' => 'setVisitorFound',
138        'first_seen_at' => 'setFirstSeenAt',
139        'last_seen_at' => 'setLastSeenAt',
140        'components' => 'setComponents'];
141
142    /**
143     * Array of attributes to getter functions (for serialization of requests).
144     *
145     * @var string[]
146     */
147    protected static array $getters = [
148        'visitor_id' => 'getVisitorId',
149        'request_id' => 'getRequestId',
150        'browser_details' => 'getBrowserDetails',
151        'incognito' => 'getIncognito',
152        'ip' => 'getIp',
153        'ip_location' => 'getIpLocation',
154        'linked_id' => 'getLinkedId',
155        'timestamp' => 'getTimestamp',
156        'time' => 'getTime',
157        'url' => 'getUrl',
158        'tag' => 'getTag',
159        'confidence' => 'getConfidence',
160        'visitor_found' => 'getVisitorFound',
161        'first_seen_at' => 'getFirstSeenAt',
162        'last_seen_at' => 'getLastSeenAt',
163        'components' => 'getComponents'];
164
165    /**
166     * Associative array for storing property values.
167     *
168     * @var mixed[]
169     */
170    protected array $container = [];
171
172    /**
173     * Constructor.
174     *
175     * @param mixed[] $data Associated array of property values
176     *                      initializing the model
177     */
178    public function __construct(?array $data = null)
179    {
180        $this->container['visitor_id'] = isset($data['visitor_id']) ? $data['visitor_id'] : null;
181        $this->container['request_id'] = isset($data['request_id']) ? $data['request_id'] : null;
182        $this->container['browser_details'] = isset($data['browser_details']) ? $data['browser_details'] : null;
183        $this->container['incognito'] = isset($data['incognito']) ? $data['incognito'] : null;
184        $this->container['ip'] = isset($data['ip']) ? $data['ip'] : null;
185        $this->container['ip_location'] = isset($data['ip_location']) ? $data['ip_location'] : null;
186        $this->container['linked_id'] = isset($data['linked_id']) ? $data['linked_id'] : null;
187        $this->container['timestamp'] = isset($data['timestamp']) ? $data['timestamp'] : null;
188        $this->container['time'] = isset($data['time']) ? $data['time'] : null;
189        $this->container['url'] = isset($data['url']) ? $data['url'] : null;
190        $this->container['tag'] = isset($data['tag']) ? $data['tag'] : null;
191        $this->container['confidence'] = isset($data['confidence']) ? $data['confidence'] : null;
192        $this->container['visitor_found'] = isset($data['visitor_found']) ? $data['visitor_found'] : null;
193        $this->container['first_seen_at'] = isset($data['first_seen_at']) ? $data['first_seen_at'] : null;
194        $this->container['last_seen_at'] = isset($data['last_seen_at']) ? $data['last_seen_at'] : null;
195        $this->container['components'] = isset($data['components']) ? $data['components'] : null;
196    }
197
198    /**
199     * Gets the string presentation of the object.
200     *
201     */
202    public function __toString(): string
203    {
204        return json_encode(ObjectSerializer::sanitizeForSerialization($this));
205    }
206
207    /**
208     * Array of property to type mappings. Used for (de)serialization.
209     */
210    public static function swaggerTypes(): array
211    {
212        return self::$swaggerTypes;
213    }
214
215    /**
216     * Array of property to format mappings. Used for (de)serialization.
217     */
218    public static function swaggerFormats(): array
219    {
220        return self::$swaggerFormats;
221    }
222
223    /**
224     * Array of attributes where the key is the local name,
225     * and the value is the original name.
226     */
227    public static function attributeMap(): array
228    {
229        return self::$attributeMap;
230    }
231
232    /**
233     * Array of attributes to setter functions (for deserialization of responses).
234     */
235    public static function setters(): array
236    {
237        return self::$setters;
238    }
239
240    /**
241     * Array of attributes to getter functions (for serialization of requests).
242     */
243    public static function getters(): array
244    {
245        return self::$getters;
246    }
247
248    /**
249     * The original name of the model.
250     */
251    public function getModelName(): string
252    {
253        return self::$swaggerModelName;
254    }
255
256    /**
257     * Show all the invalid properties with reasons.
258     *
259     * @return array invalid properties with reasons
260     */
261    public function listInvalidProperties(): array
262    {
263        $invalidProperties = [];
264
265        if (null === $this->container['visitor_id']) {
266            $invalidProperties[] = "'visitor_id' can't be null";
267        }
268        if (null === $this->container['request_id']) {
269            $invalidProperties[] = "'request_id' can't be null";
270        }
271        if (null === $this->container['browser_details']) {
272            $invalidProperties[] = "'browser_details' can't be null";
273        }
274        if (null === $this->container['incognito']) {
275            $invalidProperties[] = "'incognito' can't be null";
276        }
277        if (null === $this->container['ip']) {
278            $invalidProperties[] = "'ip' can't be null";
279        }
280        if (null === $this->container['timestamp']) {
281            $invalidProperties[] = "'timestamp' can't be null";
282        }
283        if (null === $this->container['time']) {
284            $invalidProperties[] = "'time' can't be null";
285        }
286        if (null === $this->container['url']) {
287            $invalidProperties[] = "'url' can't be null";
288        }
289        if (null === $this->container['tag']) {
290            $invalidProperties[] = "'tag' can't be null";
291        }
292        if (null === $this->container['visitor_found']) {
293            $invalidProperties[] = "'visitor_found' can't be null";
294        }
295        if (null === $this->container['first_seen_at']) {
296            $invalidProperties[] = "'first_seen_at' can't be null";
297        }
298        if (null === $this->container['last_seen_at']) {
299            $invalidProperties[] = "'last_seen_at' can't be null";
300        }
301
302        return $invalidProperties;
303    }
304
305    /**
306     * Validate all the properties in the model
307     * return true if all passed.
308     *
309     * @return bool True if all properties are valid
310     */
311    public function valid(): bool
312    {
313        return 0 === count($this->listInvalidProperties());
314    }
315
316    /**
317     * Gets visitor_id.
318     */
319    public function getVisitorId(): string
320    {
321        return $this->container['visitor_id'];
322    }
323
324    /**
325     * Sets visitor_id.
326     *
327     * @param string $visitor_id string of 20 characters that uniquely identifies the visitor's browser
328     *
329     * @return $this
330     */
331    public function setVisitorId(string $visitor_id): self
332    {
333        $this->container['visitor_id'] = $visitor_id;
334
335        return $this;
336    }
337
338    /**
339     * Gets request_id.
340     */
341    public function getRequestId(): string
342    {
343        return $this->container['request_id'];
344    }
345
346    /**
347     * Sets request_id.
348     *
349     * @param string $request_id unique identifier of the user's request
350     *
351     * @return $this
352     */
353    public function setRequestId(string $request_id): self
354    {
355        $this->container['request_id'] = $request_id;
356
357        return $this;
358    }
359
360    /**
361     * Gets browser_details.
362     */
363    public function getBrowserDetails(): BrowserDetails
364    {
365        return $this->container['browser_details'];
366    }
367
368    /**
369     * Sets browser_details.
370     *
371     * @param BrowserDetails $browser_details browser_details
372     *
373     * @return $this
374     */
375    public function setBrowserDetails(BrowserDetails $browser_details): self
376    {
377        $this->container['browser_details'] = $browser_details;
378
379        return $this;
380    }
381
382    /**
383     * Gets incognito.
384     */
385    public function getIncognito(): bool
386    {
387        return $this->container['incognito'];
388    }
389
390    /**
391     * Sets incognito.
392     *
393     * @param bool $incognito flag if user used incognito session
394     *
395     * @return $this
396     */
397    public function setIncognito(bool $incognito): self
398    {
399        $this->container['incognito'] = $incognito;
400
401        return $this;
402    }
403
404    /**
405     * Gets ip.
406     */
407    public function getIp(): string
408    {
409        return $this->container['ip'];
410    }
411
412    /**
413     * Sets ip.
414     *
415     * @param string $ip IP address of the requesting browser or bot
416     *
417     * @return $this
418     */
419    public function setIp(string $ip): self
420    {
421        $this->container['ip'] = $ip;
422
423        return $this;
424    }
425
426    /**
427     * Gets ip_location.
428     */
429    public function getIpLocation(): ?DeprecatedGeolocation
430    {
431        return $this->container['ip_location'];
432    }
433
434    /**
435     * Sets ip_location.
436     *
437     * @param ?\Fingerprint\ServerAPI\Model\DeprecatedGeolocation $ip_location ip_location
438     *
439     * @return $this
440     */
441    public function setIpLocation(?DeprecatedGeolocation $ip_location): self
442    {
443        $this->container['ip_location'] = $ip_location;
444
445        return $this;
446    }
447
448    /**
449     * Gets linked_id.
450     */
451    public function getLinkedId(): ?string
452    {
453        return $this->container['linked_id'];
454    }
455
456    /**
457     * Sets linked_id.
458     *
459     * @param ?string $linked_id a customer-provided id that was sent with the request
460     *
461     * @return $this
462     */
463    public function setLinkedId(?string $linked_id): self
464    {
465        $this->container['linked_id'] = $linked_id;
466
467        return $this;
468    }
469
470    /**
471     * Gets timestamp.
472     */
473    public function getTimestamp(): int
474    {
475        return $this->container['timestamp'];
476    }
477
478    /**
479     * Sets timestamp.
480     *
481     * @param int $timestamp timestamp of the event with millisecond precision in Unix time
482     *
483     * @return $this
484     */
485    public function setTimestamp(int $timestamp): self
486    {
487        $this->container['timestamp'] = $timestamp;
488
489        return $this;
490    }
491
492    /**
493     * Gets time.
494     */
495    public function getTime(): \DateTime
496    {
497        return $this->container['time'];
498    }
499
500    /**
501     * Sets time.
502     *
503     * @param \DateTime $time Time expressed according to ISO 8601 in UTC format, when the request from the JS agent was made. We recommend to treat requests that are older than 2 minutes as malicious. Otherwise, request replay attacks are possible.
504     *
505     * @return $this
506     */
507    public function setTime(\DateTime $time): self
508    {
509        $this->container['time'] = $time;
510
511        return $this;
512    }
513
514    /**
515     * Gets url.
516     */
517    public function getUrl(): string
518    {
519        return $this->container['url'];
520    }
521
522    /**
523     * Sets url.
524     *
525     * @param string $url page URL from which the request was sent
526     *
527     * @return $this
528     */
529    public function setUrl(string $url): self
530    {
531        $this->container['url'] = $url;
532
533        return $this;
534    }
535
536    /**
537     * Gets tag.
538     */
539    public function getTag(): array
540    {
541        return $this->container['tag'];
542    }
543
544    /**
545     * Sets tag.
546     *
547     * @param array $tag tag
548     *
549     * @return $this
550     */
551    public function setTag(array $tag): self
552    {
553        $this->container['tag'] = $tag;
554
555        return $this;
556    }
557
558    /**
559     * Gets confidence.
560     */
561    public function getConfidence(): ?IdentificationConfidence
562    {
563        return $this->container['confidence'];
564    }
565
566    /**
567     * Sets confidence.
568     *
569     * @param ?\Fingerprint\ServerAPI\Model\IdentificationConfidence $confidence confidence
570     *
571     * @return $this
572     */
573    public function setConfidence(?IdentificationConfidence $confidence): self
574    {
575        $this->container['confidence'] = $confidence;
576
577        return $this;
578    }
579
580    /**
581     * Gets visitor_found.
582     */
583    public function getVisitorFound(): bool
584    {
585        return $this->container['visitor_found'];
586    }
587
588    /**
589     * Sets visitor_found.
590     *
591     * @param bool $visitor_found attribute represents if a visitor had been identified before
592     *
593     * @return $this
594     */
595    public function setVisitorFound(bool $visitor_found): self
596    {
597        $this->container['visitor_found'] = $visitor_found;
598
599        return $this;
600    }
601
602    /**
603     * Gets first_seen_at.
604     */
605    public function getFirstSeenAt(): IdentificationSeenAt
606    {
607        return $this->container['first_seen_at'];
608    }
609
610    /**
611     * Sets first_seen_at.
612     *
613     * @param IdentificationSeenAt $first_seen_at first_seen_at
614     *
615     * @return $this
616     */
617    public function setFirstSeenAt(IdentificationSeenAt $first_seen_at): self
618    {
619        $this->container['first_seen_at'] = $first_seen_at;
620
621        return $this;
622    }
623
624    /**
625     * Gets last_seen_at.
626     */
627    public function getLastSeenAt(): IdentificationSeenAt
628    {
629        return $this->container['last_seen_at'];
630    }
631
632    /**
633     * Sets last_seen_at.
634     *
635     * @param IdentificationSeenAt $last_seen_at last_seen_at
636     *
637     * @return $this
638     */
639    public function setLastSeenAt(IdentificationSeenAt $last_seen_at): self
640    {
641        $this->container['last_seen_at'] = $last_seen_at;
642
643        return $this;
644    }
645
646    /**
647     * Gets components.
648     */
649    public function getComponents(): ?array
650    {
651        return $this->container['components'];
652    }
653
654    /**
655     * Sets components.
656     *
657     * @param ?array $components components
658     *
659     * @return $this
660     */
661    public function setComponents(?array $components): self
662    {
663        $this->container['components'] = $components;
664
665        return $this;
666    }
667
668    /**
669     * Returns true if offset exists. False otherwise.
670     *
671     * @param int $offset Offset
672     */
673    public function offsetExists($offset): bool
674    {
675        return isset($this->container[$offset]);
676    }
677
678    /**
679     * Gets offset.
680     *
681     * @param int $offset Offset
682     */
683    public function offsetGet($offset): mixed
684    {
685        return isset($this->container[$offset]) ? $this->container[$offset] : null;
686    }
687
688    /**
689     * Sets value based on offset.
690     *
691     * @param int   $offset Offset
692     * @param mixed $value  Value to be set
693     */
694    public function offsetSet($offset, mixed $value): void
695    {
696        if (is_null($offset)) {
697            $this->container[] = $value;
698        } else {
699            $this->container[$offset] = $value;
700        }
701    }
702
703    /**
704     * Unsets offset.
705     *
706     * @param int $offset Offset
707     */
708    public function offsetUnset($offset): void
709    {
710        unset($this->container[$offset]);
711    }
712
713    /**
714     * Gets the string presentation of the object in a pretty JSON format.
715     *
716     */
717    public function toPrettyString(): string
718    {
719        return json_encode(
720            ObjectSerializer::sanitizeForSerialization($this),
721            JSON_PRETTY_PRINT
722        );
723    }
724}