Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
28.70% covered (danger)
28.70%
33 / 115
12.70% covered (danger)
12.70%
8 / 63
CRAP
0.00% covered (danger)
0.00%
0 / 1
Products
28.70% covered (danger)
28.70%
33 / 115
12.70% covered (danger)
12.70%
8 / 63
2960.63
0.00% covered (danger)
0.00%
0 / 1
 __construct
100.00% covered (success)
100.00%
24 / 24
100.00% covered (success)
100.00%
1 / 1
25
 __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 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 valid
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getIdentification
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setIdentification
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getBotd
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setBotd
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getRootApps
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setRootApps
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getEmulator
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setEmulator
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getIpInfo
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setIpInfo
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getIpBlocklist
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setIpBlocklist
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getTor
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setTor
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getVpn
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setVpn
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getProxy
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setProxy
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getIncognito
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setIncognito
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getTampering
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setTampering
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getClonedApp
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setClonedApp
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getFactoryReset
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setFactoryReset
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getJailbroken
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setJailbroken
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getFrida
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setFrida
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getPrivacySettings
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setPrivacySettings
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getVirtualMachine
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setVirtualMachine
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getRawDeviceAttributes
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setRawDeviceAttributes
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getHighActivity
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setHighActivity
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getLocationSpoofing
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setLocationSpoofing
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getSuspectScore
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setSuspectScore
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getRemoteControl
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setRemoteControl
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getVelocity
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setVelocity
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getDeveloperTools
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setDeveloperTools
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 * Products.
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 * Products Class Doc Comment.
34 *
35 * @category Class
36 *
37 * @description Contains all information about the request identified by `requestId`, depending on the pricing plan (Pro, Pro Plus, Enterprise)
38 *
39 * @author   Swagger Codegen team
40 *
41 * @see     https://github.com/swagger-api/swagger-codegen
42 */
43class Products implements ModelInterface, \ArrayAccess
44{
45    /**
46     * The original name of the model.
47     *
48     */
49    protected static string $swaggerModelName = 'Products';
50
51    /**
52     * Array of property to type mappings. Used for (de)serialization.
53     *
54     * @var string[]
55     */
56    protected static array $swaggerTypes = [
57        'identification' => '\Fingerprint\ServerAPI\Model\ProductIdentification',
58        'botd' => '\Fingerprint\ServerAPI\Model\ProductBotd',
59        'root_apps' => '\Fingerprint\ServerAPI\Model\ProductRootApps',
60        'emulator' => '\Fingerprint\ServerAPI\Model\ProductEmulator',
61        'ip_info' => '\Fingerprint\ServerAPI\Model\ProductIPInfo',
62        'ip_blocklist' => '\Fingerprint\ServerAPI\Model\ProductIPBlocklist',
63        'tor' => '\Fingerprint\ServerAPI\Model\ProductTor',
64        'vpn' => '\Fingerprint\ServerAPI\Model\ProductVPN',
65        'proxy' => '\Fingerprint\ServerAPI\Model\ProductProxy',
66        'incognito' => '\Fingerprint\ServerAPI\Model\ProductIncognito',
67        'tampering' => '\Fingerprint\ServerAPI\Model\ProductTampering',
68        'cloned_app' => '\Fingerprint\ServerAPI\Model\ProductClonedApp',
69        'factory_reset' => '\Fingerprint\ServerAPI\Model\ProductFactoryReset',
70        'jailbroken' => '\Fingerprint\ServerAPI\Model\ProductJailbroken',
71        'frida' => '\Fingerprint\ServerAPI\Model\ProductFrida',
72        'privacy_settings' => '\Fingerprint\ServerAPI\Model\ProductPrivacySettings',
73        'virtual_machine' => '\Fingerprint\ServerAPI\Model\ProductVirtualMachine',
74        'raw_device_attributes' => '\Fingerprint\ServerAPI\Model\ProductRawDeviceAttributes',
75        'high_activity' => '\Fingerprint\ServerAPI\Model\ProductHighActivity',
76        'location_spoofing' => '\Fingerprint\ServerAPI\Model\ProductLocationSpoofing',
77        'suspect_score' => '\Fingerprint\ServerAPI\Model\ProductSuspectScore',
78        'remote_control' => '\Fingerprint\ServerAPI\Model\ProductRemoteControl',
79        'velocity' => '\Fingerprint\ServerAPI\Model\ProductVelocity',
80        'developer_tools' => '\Fingerprint\ServerAPI\Model\ProductDeveloperTools'];
81
82    /**
83     * Array of property to format mappings. Used for (de)serialization.
84     *
85     * @var string[]
86     */
87    protected static array $swaggerFormats = [
88        'identification' => null,
89        'botd' => null,
90        'root_apps' => null,
91        'emulator' => null,
92        'ip_info' => null,
93        'ip_blocklist' => null,
94        'tor' => null,
95        'vpn' => null,
96        'proxy' => null,
97        'incognito' => null,
98        'tampering' => null,
99        'cloned_app' => null,
100        'factory_reset' => null,
101        'jailbroken' => null,
102        'frida' => null,
103        'privacy_settings' => null,
104        'virtual_machine' => null,
105        'raw_device_attributes' => null,
106        'high_activity' => null,
107        'location_spoofing' => null,
108        'suspect_score' => null,
109        'remote_control' => null,
110        'velocity' => null,
111        'developer_tools' => null];
112
113    /**
114     * Array of attributes where the key is the local name,
115     * and the value is the original name.
116     *
117     * @var string[]
118     */
119    protected static array $attributeMap = [
120        'identification' => 'identification',
121        'botd' => 'botd',
122        'root_apps' => 'rootApps',
123        'emulator' => 'emulator',
124        'ip_info' => 'ipInfo',
125        'ip_blocklist' => 'ipBlocklist',
126        'tor' => 'tor',
127        'vpn' => 'vpn',
128        'proxy' => 'proxy',
129        'incognito' => 'incognito',
130        'tampering' => 'tampering',
131        'cloned_app' => 'clonedApp',
132        'factory_reset' => 'factoryReset',
133        'jailbroken' => 'jailbroken',
134        'frida' => 'frida',
135        'privacy_settings' => 'privacySettings',
136        'virtual_machine' => 'virtualMachine',
137        'raw_device_attributes' => 'rawDeviceAttributes',
138        'high_activity' => 'highActivity',
139        'location_spoofing' => 'locationSpoofing',
140        'suspect_score' => 'suspectScore',
141        'remote_control' => 'remoteControl',
142        'velocity' => 'velocity',
143        'developer_tools' => 'developerTools'];
144
145    /**
146     * Array of attributes to setter functions (for deserialization of responses).
147     *
148     * @var string[]
149     */
150    protected static array $setters = [
151        'identification' => 'setIdentification',
152        'botd' => 'setBotd',
153        'root_apps' => 'setRootApps',
154        'emulator' => 'setEmulator',
155        'ip_info' => 'setIpInfo',
156        'ip_blocklist' => 'setIpBlocklist',
157        'tor' => 'setTor',
158        'vpn' => 'setVpn',
159        'proxy' => 'setProxy',
160        'incognito' => 'setIncognito',
161        'tampering' => 'setTampering',
162        'cloned_app' => 'setClonedApp',
163        'factory_reset' => 'setFactoryReset',
164        'jailbroken' => 'setJailbroken',
165        'frida' => 'setFrida',
166        'privacy_settings' => 'setPrivacySettings',
167        'virtual_machine' => 'setVirtualMachine',
168        'raw_device_attributes' => 'setRawDeviceAttributes',
169        'high_activity' => 'setHighActivity',
170        'location_spoofing' => 'setLocationSpoofing',
171        'suspect_score' => 'setSuspectScore',
172        'remote_control' => 'setRemoteControl',
173        'velocity' => 'setVelocity',
174        'developer_tools' => 'setDeveloperTools'];
175
176    /**
177     * Array of attributes to getter functions (for serialization of requests).
178     *
179     * @var string[]
180     */
181    protected static array $getters = [
182        'identification' => 'getIdentification',
183        'botd' => 'getBotd',
184        'root_apps' => 'getRootApps',
185        'emulator' => 'getEmulator',
186        'ip_info' => 'getIpInfo',
187        'ip_blocklist' => 'getIpBlocklist',
188        'tor' => 'getTor',
189        'vpn' => 'getVpn',
190        'proxy' => 'getProxy',
191        'incognito' => 'getIncognito',
192        'tampering' => 'getTampering',
193        'cloned_app' => 'getClonedApp',
194        'factory_reset' => 'getFactoryReset',
195        'jailbroken' => 'getJailbroken',
196        'frida' => 'getFrida',
197        'privacy_settings' => 'getPrivacySettings',
198        'virtual_machine' => 'getVirtualMachine',
199        'raw_device_attributes' => 'getRawDeviceAttributes',
200        'high_activity' => 'getHighActivity',
201        'location_spoofing' => 'getLocationSpoofing',
202        'suspect_score' => 'getSuspectScore',
203        'remote_control' => 'getRemoteControl',
204        'velocity' => 'getVelocity',
205        'developer_tools' => 'getDeveloperTools'];
206
207    /**
208     * Associative array for storing property values.
209     *
210     * @var mixed[]
211     */
212    protected array $container = [];
213
214    /**
215     * Constructor.
216     *
217     * @param mixed[] $data Associated array of property values
218     *                      initializing the model
219     */
220    public function __construct(?array $data = null)
221    {
222        $this->container['identification'] = isset($data['identification']) ? $data['identification'] : null;
223        $this->container['botd'] = isset($data['botd']) ? $data['botd'] : null;
224        $this->container['root_apps'] = isset($data['root_apps']) ? $data['root_apps'] : null;
225        $this->container['emulator'] = isset($data['emulator']) ? $data['emulator'] : null;
226        $this->container['ip_info'] = isset($data['ip_info']) ? $data['ip_info'] : null;
227        $this->container['ip_blocklist'] = isset($data['ip_blocklist']) ? $data['ip_blocklist'] : null;
228        $this->container['tor'] = isset($data['tor']) ? $data['tor'] : null;
229        $this->container['vpn'] = isset($data['vpn']) ? $data['vpn'] : null;
230        $this->container['proxy'] = isset($data['proxy']) ? $data['proxy'] : null;
231        $this->container['incognito'] = isset($data['incognito']) ? $data['incognito'] : null;
232        $this->container['tampering'] = isset($data['tampering']) ? $data['tampering'] : null;
233        $this->container['cloned_app'] = isset($data['cloned_app']) ? $data['cloned_app'] : null;
234        $this->container['factory_reset'] = isset($data['factory_reset']) ? $data['factory_reset'] : null;
235        $this->container['jailbroken'] = isset($data['jailbroken']) ? $data['jailbroken'] : null;
236        $this->container['frida'] = isset($data['frida']) ? $data['frida'] : null;
237        $this->container['privacy_settings'] = isset($data['privacy_settings']) ? $data['privacy_settings'] : null;
238        $this->container['virtual_machine'] = isset($data['virtual_machine']) ? $data['virtual_machine'] : null;
239        $this->container['raw_device_attributes'] = isset($data['raw_device_attributes']) ? $data['raw_device_attributes'] : null;
240        $this->container['high_activity'] = isset($data['high_activity']) ? $data['high_activity'] : null;
241        $this->container['location_spoofing'] = isset($data['location_spoofing']) ? $data['location_spoofing'] : null;
242        $this->container['suspect_score'] = isset($data['suspect_score']) ? $data['suspect_score'] : null;
243        $this->container['remote_control'] = isset($data['remote_control']) ? $data['remote_control'] : null;
244        $this->container['velocity'] = isset($data['velocity']) ? $data['velocity'] : null;
245        $this->container['developer_tools'] = isset($data['developer_tools']) ? $data['developer_tools'] : null;
246    }
247
248    /**
249     * Gets the string presentation of the object.
250     *
251     */
252    public function __toString(): string
253    {
254        return json_encode(ObjectSerializer::sanitizeForSerialization($this));
255    }
256
257    /**
258     * Array of property to type mappings. Used for (de)serialization.
259     */
260    public static function swaggerTypes(): array
261    {
262        return self::$swaggerTypes;
263    }
264
265    /**
266     * Array of property to format mappings. Used for (de)serialization.
267     */
268    public static function swaggerFormats(): array
269    {
270        return self::$swaggerFormats;
271    }
272
273    /**
274     * Array of attributes where the key is the local name,
275     * and the value is the original name.
276     */
277    public static function attributeMap(): array
278    {
279        return self::$attributeMap;
280    }
281
282    /**
283     * Array of attributes to setter functions (for deserialization of responses).
284     */
285    public static function setters(): array
286    {
287        return self::$setters;
288    }
289
290    /**
291     * Array of attributes to getter functions (for serialization of requests).
292     */
293    public static function getters(): array
294    {
295        return self::$getters;
296    }
297
298    /**
299     * The original name of the model.
300     */
301    public function getModelName(): string
302    {
303        return self::$swaggerModelName;
304    }
305
306    /**
307     * Show all the invalid properties with reasons.
308     *
309     * @return array invalid properties with reasons
310     */
311    public function listInvalidProperties(): array
312    {
313        return [];
314    }
315
316    /**
317     * Validate all the properties in the model
318     * return true if all passed.
319     *
320     * @return bool True if all properties are valid
321     */
322    public function valid(): bool
323    {
324        return 0 === count($this->listInvalidProperties());
325    }
326
327    /**
328     * Gets identification.
329     */
330    public function getIdentification(): ?ProductIdentification
331    {
332        return $this->container['identification'];
333    }
334
335    /**
336     * Sets identification.
337     *
338     * @param ?\Fingerprint\ServerAPI\Model\ProductIdentification $identification identification
339     *
340     * @return $this
341     */
342    public function setIdentification(?ProductIdentification $identification): self
343    {
344        $this->container['identification'] = $identification;
345
346        return $this;
347    }
348
349    /**
350     * Gets botd.
351     */
352    public function getBotd(): ?ProductBotd
353    {
354        return $this->container['botd'];
355    }
356
357    /**
358     * Sets botd.
359     *
360     * @param ?\Fingerprint\ServerAPI\Model\ProductBotd $botd botd
361     *
362     * @return $this
363     */
364    public function setBotd(?ProductBotd $botd): self
365    {
366        $this->container['botd'] = $botd;
367
368        return $this;
369    }
370
371    /**
372     * Gets root_apps.
373     */
374    public function getRootApps(): ?ProductRootApps
375    {
376        return $this->container['root_apps'];
377    }
378
379    /**
380     * Sets root_apps.
381     *
382     * @param ?\Fingerprint\ServerAPI\Model\ProductRootApps $root_apps root_apps
383     *
384     * @return $this
385     */
386    public function setRootApps(?ProductRootApps $root_apps): self
387    {
388        $this->container['root_apps'] = $root_apps;
389
390        return $this;
391    }
392
393    /**
394     * Gets emulator.
395     */
396    public function getEmulator(): ?ProductEmulator
397    {
398        return $this->container['emulator'];
399    }
400
401    /**
402     * Sets emulator.
403     *
404     * @param ?\Fingerprint\ServerAPI\Model\ProductEmulator $emulator emulator
405     *
406     * @return $this
407     */
408    public function setEmulator(?ProductEmulator $emulator): self
409    {
410        $this->container['emulator'] = $emulator;
411
412        return $this;
413    }
414
415    /**
416     * Gets ip_info.
417     */
418    public function getIpInfo(): ?ProductIPInfo
419    {
420        return $this->container['ip_info'];
421    }
422
423    /**
424     * Sets ip_info.
425     *
426     * @param ?\Fingerprint\ServerAPI\Model\ProductIPInfo $ip_info ip_info
427     *
428     * @return $this
429     */
430    public function setIpInfo(?ProductIPInfo $ip_info): self
431    {
432        $this->container['ip_info'] = $ip_info;
433
434        return $this;
435    }
436
437    /**
438     * Gets ip_blocklist.
439     */
440    public function getIpBlocklist(): ?ProductIPBlocklist
441    {
442        return $this->container['ip_blocklist'];
443    }
444
445    /**
446     * Sets ip_blocklist.
447     *
448     * @param ?\Fingerprint\ServerAPI\Model\ProductIPBlocklist $ip_blocklist ip_blocklist
449     *
450     * @return $this
451     */
452    public function setIpBlocklist(?ProductIPBlocklist $ip_blocklist): self
453    {
454        $this->container['ip_blocklist'] = $ip_blocklist;
455
456        return $this;
457    }
458
459    /**
460     * Gets tor.
461     */
462    public function getTor(): ?ProductTor
463    {
464        return $this->container['tor'];
465    }
466
467    /**
468     * Sets tor.
469     *
470     * @param ?\Fingerprint\ServerAPI\Model\ProductTor $tor tor
471     *
472     * @return $this
473     */
474    public function setTor(?ProductTor $tor): self
475    {
476        $this->container['tor'] = $tor;
477
478        return $this;
479    }
480
481    /**
482     * Gets vpn.
483     */
484    public function getVpn(): ?ProductVPN
485    {
486        return $this->container['vpn'];
487    }
488
489    /**
490     * Sets vpn.
491     *
492     * @param ?\Fingerprint\ServerAPI\Model\ProductVPN $vpn vpn
493     *
494     * @return $this
495     */
496    public function setVpn(?ProductVPN $vpn): self
497    {
498        $this->container['vpn'] = $vpn;
499
500        return $this;
501    }
502
503    /**
504     * Gets proxy.
505     */
506    public function getProxy(): ?ProductProxy
507    {
508        return $this->container['proxy'];
509    }
510
511    /**
512     * Sets proxy.
513     *
514     * @param ?\Fingerprint\ServerAPI\Model\ProductProxy $proxy proxy
515     *
516     * @return $this
517     */
518    public function setProxy(?ProductProxy $proxy): self
519    {
520        $this->container['proxy'] = $proxy;
521
522        return $this;
523    }
524
525    /**
526     * Gets incognito.
527     */
528    public function getIncognito(): ?ProductIncognito
529    {
530        return $this->container['incognito'];
531    }
532
533    /**
534     * Sets incognito.
535     *
536     * @param ?\Fingerprint\ServerAPI\Model\ProductIncognito $incognito incognito
537     *
538     * @return $this
539     */
540    public function setIncognito(?ProductIncognito $incognito): self
541    {
542        $this->container['incognito'] = $incognito;
543
544        return $this;
545    }
546
547    /**
548     * Gets tampering.
549     */
550    public function getTampering(): ?ProductTampering
551    {
552        return $this->container['tampering'];
553    }
554
555    /**
556     * Sets tampering.
557     *
558     * @param ?\Fingerprint\ServerAPI\Model\ProductTampering $tampering tampering
559     *
560     * @return $this
561     */
562    public function setTampering(?ProductTampering $tampering): self
563    {
564        $this->container['tampering'] = $tampering;
565
566        return $this;
567    }
568
569    /**
570     * Gets cloned_app.
571     */
572    public function getClonedApp(): ?ProductClonedApp
573    {
574        return $this->container['cloned_app'];
575    }
576
577    /**
578     * Sets cloned_app.
579     *
580     * @param ?\Fingerprint\ServerAPI\Model\ProductClonedApp $cloned_app cloned_app
581     *
582     * @return $this
583     */
584    public function setClonedApp(?ProductClonedApp $cloned_app): self
585    {
586        $this->container['cloned_app'] = $cloned_app;
587
588        return $this;
589    }
590
591    /**
592     * Gets factory_reset.
593     */
594    public function getFactoryReset(): ?ProductFactoryReset
595    {
596        return $this->container['factory_reset'];
597    }
598
599    /**
600     * Sets factory_reset.
601     *
602     * @param ?\Fingerprint\ServerAPI\Model\ProductFactoryReset $factory_reset factory_reset
603     *
604     * @return $this
605     */
606    public function setFactoryReset(?ProductFactoryReset $factory_reset): self
607    {
608        $this->container['factory_reset'] = $factory_reset;
609
610        return $this;
611    }
612
613    /**
614     * Gets jailbroken.
615     */
616    public function getJailbroken(): ?ProductJailbroken
617    {
618        return $this->container['jailbroken'];
619    }
620
621    /**
622     * Sets jailbroken.
623     *
624     * @param ?\Fingerprint\ServerAPI\Model\ProductJailbroken $jailbroken jailbroken
625     *
626     * @return $this
627     */
628    public function setJailbroken(?ProductJailbroken $jailbroken): self
629    {
630        $this->container['jailbroken'] = $jailbroken;
631
632        return $this;
633    }
634
635    /**
636     * Gets frida.
637     */
638    public function getFrida(): ?ProductFrida
639    {
640        return $this->container['frida'];
641    }
642
643    /**
644     * Sets frida.
645     *
646     * @param ?\Fingerprint\ServerAPI\Model\ProductFrida $frida frida
647     *
648     * @return $this
649     */
650    public function setFrida(?ProductFrida $frida): self
651    {
652        $this->container['frida'] = $frida;
653
654        return $this;
655    }
656
657    /**
658     * Gets privacy_settings.
659     */
660    public function getPrivacySettings(): ?ProductPrivacySettings
661    {
662        return $this->container['privacy_settings'];
663    }
664
665    /**
666     * Sets privacy_settings.
667     *
668     * @param ?\Fingerprint\ServerAPI\Model\ProductPrivacySettings $privacy_settings privacy_settings
669     *
670     * @return $this
671     */
672    public function setPrivacySettings(?ProductPrivacySettings $privacy_settings): self
673    {
674        $this->container['privacy_settings'] = $privacy_settings;
675
676        return $this;
677    }
678
679    /**
680     * Gets virtual_machine.
681     */
682    public function getVirtualMachine(): ?ProductVirtualMachine
683    {
684        return $this->container['virtual_machine'];
685    }
686
687    /**
688     * Sets virtual_machine.
689     *
690     * @param ?\Fingerprint\ServerAPI\Model\ProductVirtualMachine $virtual_machine virtual_machine
691     *
692     * @return $this
693     */
694    public function setVirtualMachine(?ProductVirtualMachine $virtual_machine): self
695    {
696        $this->container['virtual_machine'] = $virtual_machine;
697
698        return $this;
699    }
700
701    /**
702     * Gets raw_device_attributes.
703     */
704    public function getRawDeviceAttributes(): ?ProductRawDeviceAttributes
705    {
706        return $this->container['raw_device_attributes'];
707    }
708
709    /**
710     * Sets raw_device_attributes.
711     *
712     * @param ?\Fingerprint\ServerAPI\Model\ProductRawDeviceAttributes $raw_device_attributes raw_device_attributes
713     *
714     * @return $this
715     */
716    public function setRawDeviceAttributes(?ProductRawDeviceAttributes $raw_device_attributes): self
717    {
718        $this->container['raw_device_attributes'] = $raw_device_attributes;
719
720        return $this;
721    }
722
723    /**
724     * Gets high_activity.
725     */
726    public function getHighActivity(): ?ProductHighActivity
727    {
728        return $this->container['high_activity'];
729    }
730
731    /**
732     * Sets high_activity.
733     *
734     * @param ?\Fingerprint\ServerAPI\Model\ProductHighActivity $high_activity high_activity
735     *
736     * @return $this
737     */
738    public function setHighActivity(?ProductHighActivity $high_activity): self
739    {
740        $this->container['high_activity'] = $high_activity;
741
742        return $this;
743    }
744
745    /**
746     * Gets location_spoofing.
747     */
748    public function getLocationSpoofing(): ?ProductLocationSpoofing
749    {
750        return $this->container['location_spoofing'];
751    }
752
753    /**
754     * Sets location_spoofing.
755     *
756     * @param ?\Fingerprint\ServerAPI\Model\ProductLocationSpoofing $location_spoofing location_spoofing
757     *
758     * @return $this
759     */
760    public function setLocationSpoofing(?ProductLocationSpoofing $location_spoofing): self
761    {
762        $this->container['location_spoofing'] = $location_spoofing;
763
764        return $this;
765    }
766
767    /**
768     * Gets suspect_score.
769     */
770    public function getSuspectScore(): ?ProductSuspectScore
771    {
772        return $this->container['suspect_score'];
773    }
774
775    /**
776     * Sets suspect_score.
777     *
778     * @param ?\Fingerprint\ServerAPI\Model\ProductSuspectScore $suspect_score suspect_score
779     *
780     * @return $this
781     */
782    public function setSuspectScore(?ProductSuspectScore $suspect_score): self
783    {
784        $this->container['suspect_score'] = $suspect_score;
785
786        return $this;
787    }
788
789    /**
790     * Gets remote_control.
791     */
792    public function getRemoteControl(): ?ProductRemoteControl
793    {
794        return $this->container['remote_control'];
795    }
796
797    /**
798     * Sets remote_control.
799     *
800     * @param ?\Fingerprint\ServerAPI\Model\ProductRemoteControl $remote_control remote_control
801     *
802     * @return $this
803     */
804    public function setRemoteControl(?ProductRemoteControl $remote_control): self
805    {
806        $this->container['remote_control'] = $remote_control;
807
808        return $this;
809    }
810
811    /**
812     * Gets velocity.
813     */
814    public function getVelocity(): ?ProductVelocity
815    {
816        return $this->container['velocity'];
817    }
818
819    /**
820     * Sets velocity.
821     *
822     * @param ?\Fingerprint\ServerAPI\Model\ProductVelocity $velocity velocity
823     *
824     * @return $this
825     */
826    public function setVelocity(?ProductVelocity $velocity): self
827    {
828        $this->container['velocity'] = $velocity;
829
830        return $this;
831    }
832
833    /**
834     * Gets developer_tools.
835     */
836    public function getDeveloperTools(): ?ProductDeveloperTools
837    {
838        return $this->container['developer_tools'];
839    }
840
841    /**
842     * Sets developer_tools.
843     *
844     * @param ?\Fingerprint\ServerAPI\Model\ProductDeveloperTools $developer_tools developer_tools
845     *
846     * @return $this
847     */
848    public function setDeveloperTools(?ProductDeveloperTools $developer_tools): self
849    {
850        $this->container['developer_tools'] = $developer_tools;
851
852        return $this;
853    }
854
855    /**
856     * Returns true if offset exists. False otherwise.
857     *
858     * @param int $offset Offset
859     */
860    public function offsetExists($offset): bool
861    {
862        return isset($this->container[$offset]);
863    }
864
865    /**
866     * Gets offset.
867     *
868     * @param int $offset Offset
869     */
870    public function offsetGet($offset): mixed
871    {
872        return isset($this->container[$offset]) ? $this->container[$offset] : null;
873    }
874
875    /**
876     * Sets value based on offset.
877     *
878     * @param int   $offset Offset
879     * @param mixed $value  Value to be set
880     */
881    public function offsetSet($offset, mixed $value): void
882    {
883        if (is_null($offset)) {
884            $this->container[] = $value;
885        } else {
886            $this->container[$offset] = $value;
887        }
888    }
889
890    /**
891     * Unsets offset.
892     *
893     * @param int $offset Offset
894     */
895    public function offsetUnset($offset): void
896    {
897        unset($this->container[$offset]);
898    }
899
900    /**
901     * Gets the string presentation of the object in a pretty JSON format.
902     *
903     */
904    public function toPrettyString(): string
905    {
906        return json_encode(
907            ObjectSerializer::sanitizeForSerialization($this),
908            JSON_PRETTY_PRINT
909        );
910    }
911}