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