HighchartsPolygon   F
last analyzed

Complexity

Total Complexity 119

Size/Duplication

Total Lines 1425
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 6

Importance

Changes 0
Metric Value
wmc 119
lcom 1
cbo 6
dl 0
loc 1425
rs 0.8
c 0
b 0
f 0

85 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 2
B clear() 0 126 6
A getAllowPointSelect() 0 3 1
A getAnimation() 0 3 1
A getAnimationLimit() 0 3 1
A getClassName() 0 3 1
A getColor() 0 3 1
A getColorIndex() 0 3 1
A getCropThreshold() 0 3 1
A getCursor() 0 3 1
A getDashStyle() 0 3 1
A getDataLabels() 0 3 1
A getDescription() 0 3 1
A getEnableMouseTracking() 0 3 1
A getEvents() 0 3 1
A getExposeElementToA11y() 0 3 1
A getFindNearestPointBy() 0 3 1
A getGetExtremesFromAll() 0 3 1
A getKeys() 0 3 1
A getLineWidth() 0 3 1
A getLinkedTo() 0 3 1
A getMarker() 0 3 1
A getNegativeColor() 0 3 1
A getPoint() 0 3 1
A getPointDescriptionFormatter() 0 3 1
A getPointInterval() 0 3 1
A getPointIntervalUnit() 0 3 1
A getPointStart() 0 3 1
A getSelected() 0 3 1
A getShadow() 0 3 1
A getShowCheckbox() 0 3 1
A getShowInLegend() 0 3 1
A getSkipKeyboardNavigation() 0 3 1
A getStates() 0 3 1
A getStickyTracking() 0 3 1
A getTooltip() 0 3 1
A getTurboThreshold() 0 3 1
A getVisible() 0 3 1
A getZoneAxis() 0 3 1
A getZones() 0 3 1
A jsonSerialize() 0 3 1
A newDataLabels() 0 4 1
A newEvents() 0 4 1
A newMarker() 0 4 1
A newPoint() 0 4 1
A newStates() 0 4 1
A setAllowPointSelect() 0 4 1
A setAnimation() 0 4 1
A setAnimationLimit() 0 4 1
A setClassName() 0 4 1
A setColor() 0 4 1
A setColorIndex() 0 4 1
A setCropThreshold() 0 4 1
B setCursor() 0 13 7
C setDashStyle() 0 18 12
A setDataLabels() 0 4 1
A setDescription() 0 4 1
A setEnableMouseTracking() 0 4 1
A setEvents() 0 4 1
A setExposeElementToA11y() 0 4 1
A setFindNearestPointBy() 0 9 3
A setGetExtremesFromAll() 0 4 1
A setKeys() 0 4 1
A setLineWidth() 0 4 1
A setLinkedTo() 0 4 1
A setMarker() 0 4 1
A setNegativeColor() 0 4 1
A setPoint() 0 4 1
A setPointDescriptionFormatter() 0 4 1
A setPointInterval() 0 4 1
A setPointIntervalUnit() 0 11 5
A setPointStart() 0 4 1
A setSelected() 0 4 1
A setShadow() 0 4 1
A setShowCheckbox() 0 4 1
A setShowInLegend() 0 4 1
A setSkipKeyboardNavigation() 0 4 1
A setStates() 0 4 1
A setStickyTracking() 0 4 1
A setTooltip() 0 4 1
A setTurboThreshold() 0 4 1
A setVisible() 0 4 1
A setZoneAxis() 0 4 1
A setZones() 0 4 1
B toArray() 0 132 6

How to fix   Complexity   

Complex Class

Complex classes like HighchartsPolygon often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes. You can also have a look at the cohesion graph to spot any un-connected, or weakly-connected components.

Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.

While breaking up the class, it is a good idea to analyze how other classes use HighchartsPolygon, and based on these observations, apply Extract Interface, too.

1
<?php
2
3
/**
4
 * This file is part of the highcharts-bundle package.
5
 *
6
 * (c) 2017 WEBEWEB
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions;
13
14
use JsonSerializable;
15
use WBW\Library\Core\Utility\Argument\ArrayUtility;
16
17
/**
18
 * Highcharts polygon.
19
 *
20
 * @author webeweb <https://github.com/webeweb/>
21
 * @package WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions
22
 * @version 5.0.14
23
 * @final
24
 */
25
final class HighchartsPolygon implements JsonSerializable {
26
27
    /**
28
     * Allow point select.
29
     *
30
     * @var boolean
31
     * @since 1.2.0
32
     */
33
    private $allowPointSelect = false;
34
35
    /**
36
     * Animation.
37
     *
38
     * @var boolean
39
     */
40
    private $animation = true;
41
42
    /**
43
     * Animation limit.
44
     *
45
     * @var integer
46
     */
47
    private $animationLimit;
48
49
    /**
50
     * Class name.
51
     *
52
     * @var string
53
     * @since 5.0.0
54
     */
55
    private $className;
56
57
    /**
58
     * Color.
59
     *
60
     * @var string
61
     */
62
    private $color;
63
64
    /**
65
     * Color index.
66
     *
67
     * @var integer
68
     * @since 5.0.0
69
     */
70
    private $colorIndex;
71
72
    /**
73
     * Crop threshold.
74
     *
75
     * @var integer
76
     * @since 2.2
77
     */
78
    private $cropThreshold = 300;
79
80
    /**
81
     * Cursor.
82
     *
83
     * @var string
84
     */
85
    private $cursor;
86
87
    /**
88
     * Dash style.
89
     *
90
     * @var string
91
     * @since 2.1
92
     */
93
    private $dashStyle = "Solid";
94
95
    /**
96
     * Data labels.
97
     *
98
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsDataLabels
99
     */
100
    private $dataLabels;
101
102
    /**
103
     * Description.
104
     *
105
     * @var string
106
     * @since 5.0.0
107
     */
108
    private $description;
109
110
    /**
111
     * Enable mouse tracking.
112
     *
113
     * @var boolean
114
     */
115
    private $enableMouseTracking = true;
116
117
    /**
118
     * Events.
119
     *
120
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsEvents
121
     */
122
    private $events;
123
124
    /**
125
     * Expose element to a11y.
126
     *
127
     * @var boolean
128
     * @since 5.0.12
129
     */
130
    private $exposeElementToA11y;
131
132
    /**
133
     * Find nearest point by.
134
     *
135
     * @var string
136
     * @since 5.0.10
137
     */
138
    private $findNearestPointBy;
139
140
    /**
141
     * Get extremes from all.
142
     *
143
     * @var boolean
144
     * @since 4.1.6
145
     */
146
    private $getExtremesFromAll = false;
147
148
    /**
149
     * Keys.
150
     *
151
     * @var array
152
     * @since 4.1.6
153
     */
154
    private $keys;
155
156
    /**
157
     * Line width.
158
     *
159
     * @var integer
160
     */
161
    private $lineWidth = 0;
162
163
    /**
164
     * Linked to.
165
     *
166
     * @var string
167
     * @since 3.0
168
     */
169
    private $linkedTo;
170
171
    /**
172
     * Marker.
173
     *
174
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsMarker
175
     */
176
    private $marker;
177
178
    /**
179
     * Negative color.
180
     *
181
     * @var string
182
     * @since 3.0
183
     */
184
    private $negativeColor;
185
186
    /**
187
     * Point.
188
     *
189
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsPoint
190
     */
191
    private $point;
192
193
    /**
194
     * Point description formatter.
195
     *
196
     * @var string
197
     * @since 5.0.12
198
     */
199
    private $pointDescriptionFormatter;
200
201
    /**
202
     * Point interval.
203
     *
204
     * @var integer
205
     */
206
    private $pointInterval = 1;
207
208
    /**
209
     * Point interval unit.
210
     *
211
     * @var string
212
     * @since 4.1.0
213
     */
214
    private $pointIntervalUnit;
215
216
    /**
217
     * Point start.
218
     *
219
     * @var integer
220
     */
221
    private $pointStart = 0;
222
223
    /**
224
     * Selected.
225
     *
226
     * @var boolean
227
     * @since 1.2.0
228
     */
229
    private $selected = false;
230
231
    /**
232
     * Shadow.
233
     *
234
     * @var boolean|array
235
     */
236
    private $shadow = false;
237
238
    /**
239
     * Show checkbox.
240
     *
241
     * @var boolean
242
     * @since 1.2.0
243
     */
244
    private $showCheckbox = false;
245
246
    /**
247
     * Show in legend.
248
     *
249
     * @var boolean
250
     */
251
    private $showInLegend = true;
252
253
    /**
254
     * Skip keyboard navigation.
255
     *
256
     * @var boolean
257
     * @since 5.0.12
258
     */
259
    private $skipKeyboardNavigation;
260
261
    /**
262
     * States.
263
     *
264
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsStates
265
     */
266
    private $states;
267
268
    /**
269
     * Sticky tracking.
270
     *
271
     * @var boolean
272
     */
273
    private $stickyTracking = false;
274
275
    /**
276
     * Tooltip.
277
     *
278
     * @var array
279
     * @since 2.3
280
     */
281
    private $tooltip;
282
283
    /**
284
     * Turbo threshold.
285
     *
286
     * @var integer
287
     * @since 2.2
288
     */
289
    private $turboThreshold = 1000;
290
291
    /**
292
     * Visible.
293
     *
294
     * @var boolean
295
     */
296
    private $visible = true;
297
298
    /**
299
     * Zone axis.
300
     *
301
     * @var string
302
     * @since 4.1.0
303
     */
304
    private $zoneAxis = "y";
305
306
    /**
307
     * Zones.
308
     *
309
     * @var array
310
     * @since 4.1.0
311
     */
312
    private $zones;
313
314
    /**
315
     * Constructor.
316
     *
317
     * @param boolean $ignoreDefaultValues Ignore the default values.
318
     */
319
    public function __construct($ignoreDefaultValues = true) {
320
        if (true === $ignoreDefaultValues) {
321
            $this->clear();
322
        }
323
    }
324
325
    /**
326
     * Clear.
327
     *
328
     * @return void
329
     */
330
    public function clear() {
331
332
        // Clear the allow point select.
333
        $this->allowPointSelect = null;
334
335
        // Clear the animation.
336
        $this->animation = null;
337
338
        // Clear the animation limit.
339
        $this->animationLimit = null;
340
341
        // Clear the class name.
342
        $this->className = null;
343
344
        // Clear the color.
345
        $this->color = null;
346
347
        // Clear the color index.
348
        $this->colorIndex = null;
349
350
        // Clear the crop threshold.
351
        $this->cropThreshold = null;
352
353
        // Clear the cursor.
354
        $this->cursor = null;
355
356
        // Clear the dash style.
357
        $this->dashStyle = null;
358
359
        // Clear the data labels.
360
        if (null !== $this->dataLabels) {
361
            $this->dataLabels->clear();
362
        }
363
364
        // Clear the description.
365
        $this->description = null;
366
367
        // Clear the enable mouse tracking.
368
        $this->enableMouseTracking = null;
369
370
        // Clear the events.
371
        if (null !== $this->events) {
372
            $this->events->clear();
373
        }
374
375
        // Clear the expose element to a11y.
376
        $this->exposeElementToA11y = null;
377
378
        // Clear the find nearest point by.
379
        $this->findNearestPointBy = null;
380
381
        // Clear the get extremes from all.
382
        $this->getExtremesFromAll = null;
383
384
        // Clear the keys.
385
        $this->keys = null;
0 ignored issues
show
Documentation Bug introduced by
It seems like null of type null is incompatible with the declared type array of property $keys.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
386
387
        // Clear the line width.
388
        $this->lineWidth = null;
389
390
        // Clear the linked to.
391
        $this->linkedTo = null;
392
393
        // Clear the marker.
394
        if (null !== $this->marker) {
395
            $this->marker->clear();
396
        }
397
398
        // Clear the negative color.
399
        $this->negativeColor = null;
400
401
        // Clear the point.
402
        if (null !== $this->point) {
403
            $this->point->clear();
404
        }
405
406
        // Clear the point description formatter.
407
        $this->pointDescriptionFormatter = null;
408
409
        // Clear the point interval.
410
        $this->pointInterval = null;
411
412
        // Clear the point interval unit.
413
        $this->pointIntervalUnit = null;
414
415
        // Clear the point start.
416
        $this->pointStart = null;
417
418
        // Clear the selected.
419
        $this->selected = null;
420
421
        // Clear the shadow.
422
        $this->shadow = null;
423
424
        // Clear the show checkbox.
425
        $this->showCheckbox = null;
426
427
        // Clear the show in legend.
428
        $this->showInLegend = null;
429
430
        // Clear the skip keyboard navigation.
431
        $this->skipKeyboardNavigation = null;
432
433
        // Clear the states.
434
        if (null !== $this->states) {
435
            $this->states->clear();
436
        }
437
438
        // Clear the sticky tracking.
439
        $this->stickyTracking = null;
440
441
        // Clear the tooltip.
442
        $this->tooltip = null;
0 ignored issues
show
Documentation Bug introduced by
It seems like null of type null is incompatible with the declared type array of property $tooltip.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
443
444
        // Clear the turbo threshold.
445
        $this->turboThreshold = null;
446
447
        // Clear the visible.
448
        $this->visible = null;
449
450
        // Clear the zone axis.
451
        $this->zoneAxis = null;
452
453
        // Clear the zones.
454
        $this->zones = null;
0 ignored issues
show
Documentation Bug introduced by
It seems like null of type null is incompatible with the declared type array of property $zones.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
455
    }
456
457
    /**
458
     * Get the allow point select.
459
     *
460
     * @return boolean Returns the allow point select.
461
     */
462
    public function getAllowPointSelect() {
463
        return $this->allowPointSelect;
464
    }
465
466
    /**
467
     * Get the animation.
468
     *
469
     * @return boolean Returns the animation.
470
     */
471
    public function getAnimation() {
472
        return $this->animation;
473
    }
474
475
    /**
476
     * Get the animation limit.
477
     *
478
     * @return integer Returns the animation limit.
479
     */
480
    public function getAnimationLimit() {
481
        return $this->animationLimit;
482
    }
483
484
    /**
485
     * Get the class name.
486
     *
487
     * @return string Returns the class name.
488
     */
489
    public function getClassName() {
490
        return $this->className;
491
    }
492
493
    /**
494
     * Get the color.
495
     *
496
     * @return string Returns the color.
497
     */
498
    public function getColor() {
499
        return $this->color;
500
    }
501
502
    /**
503
     * Get the color index.
504
     *
505
     * @return integer Returns the color index.
506
     */
507
    public function getColorIndex() {
508
        return $this->colorIndex;
509
    }
510
511
    /**
512
     * Get the crop threshold.
513
     *
514
     * @return integer Returns the crop threshold.
515
     */
516
    public function getCropThreshold() {
517
        return $this->cropThreshold;
518
    }
519
520
    /**
521
     * Get the cursor.
522
     *
523
     * @return string Returns the cursor.
524
     */
525
    public function getCursor() {
526
        return $this->cursor;
527
    }
528
529
    /**
530
     * Get the dash style.
531
     *
532
     * @return string Returns the dash style.
533
     */
534
    public function getDashStyle() {
535
        return $this->dashStyle;
536
    }
537
538
    /**
539
     * Get the data labels.
540
     *
541
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsDataLabels Returns the data labels.
542
     */
543
    public function getDataLabels() {
544
        return $this->dataLabels;
545
    }
546
547
    /**
548
     * Get the description.
549
     *
550
     * @return string Returns the description.
551
     */
552
    public function getDescription() {
553
        return $this->description;
554
    }
555
556
    /**
557
     * Get the enable mouse tracking.
558
     *
559
     * @return boolean Returns the enable mouse tracking.
560
     */
561
    public function getEnableMouseTracking() {
562
        return $this->enableMouseTracking;
563
    }
564
565
    /**
566
     * Get the events.
567
     *
568
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsEvents Returns the events.
569
     */
570
    public function getEvents() {
571
        return $this->events;
572
    }
573
574
    /**
575
     * Get the expose element to a11y.
576
     *
577
     * @return boolean Returns the expose element to a11y.
578
     */
579
    public function getExposeElementToA11y() {
580
        return $this->exposeElementToA11y;
581
    }
582
583
    /**
584
     * Get the find nearest point by.
585
     *
586
     * @return string Returns the find nearest point by.
587
     */
588
    public function getFindNearestPointBy() {
589
        return $this->findNearestPointBy;
590
    }
591
592
    /**
593
     * Get the get extremes from all.
594
     *
595
     * @return boolean Returns the get extremes from all.
596
     */
597
    public function getGetExtremesFromAll() {
598
        return $this->getExtremesFromAll;
599
    }
600
601
    /**
602
     * Get the keys.
603
     *
604
     * @return array Returns the keys.
605
     */
606
    public function getKeys() {
607
        return $this->keys;
608
    }
609
610
    /**
611
     * Get the line width.
612
     *
613
     * @return integer Returns the line width.
614
     */
615
    public function getLineWidth() {
616
        return $this->lineWidth;
617
    }
618
619
    /**
620
     * Get the linked to.
621
     *
622
     * @return string Returns the linked to.
623
     */
624
    public function getLinkedTo() {
625
        return $this->linkedTo;
626
    }
627
628
    /**
629
     * Get the marker.
630
     *
631
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsMarker Returns the marker.
632
     */
633
    public function getMarker() {
634
        return $this->marker;
635
    }
636
637
    /**
638
     * Get the negative color.
639
     *
640
     * @return string Returns the negative color.
641
     */
642
    public function getNegativeColor() {
643
        return $this->negativeColor;
644
    }
645
646
    /**
647
     * Get the point.
648
     *
649
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsPoint Returns the point.
650
     */
651
    public function getPoint() {
652
        return $this->point;
653
    }
654
655
    /**
656
     * Get the point description formatter.
657
     *
658
     * @return string Returns the point description formatter.
659
     */
660
    public function getPointDescriptionFormatter() {
661
        return $this->pointDescriptionFormatter;
662
    }
663
664
    /**
665
     * Get the point interval.
666
     *
667
     * @return integer Returns the point interval.
668
     */
669
    public function getPointInterval() {
670
        return $this->pointInterval;
671
    }
672
673
    /**
674
     * Get the point interval unit.
675
     *
676
     * @return string Returns the point interval unit.
677
     */
678
    public function getPointIntervalUnit() {
679
        return $this->pointIntervalUnit;
680
    }
681
682
    /**
683
     * Get the point start.
684
     *
685
     * @return integer Returns the point start.
686
     */
687
    public function getPointStart() {
688
        return $this->pointStart;
689
    }
690
691
    /**
692
     * Get the selected.
693
     *
694
     * @return boolean Returns the selected.
695
     */
696
    public function getSelected() {
697
        return $this->selected;
698
    }
699
700
    /**
701
     * Get the shadow.
702
     *
703
     * @return boolean|array Returns the shadow.
704
     */
705
    public function getShadow() {
706
        return $this->shadow;
707
    }
708
709
    /**
710
     * Get the show checkbox.
711
     *
712
     * @return boolean Returns the show checkbox.
713
     */
714
    public function getShowCheckbox() {
715
        return $this->showCheckbox;
716
    }
717
718
    /**
719
     * Get the show in legend.
720
     *
721
     * @return boolean Returns the show in legend.
722
     */
723
    public function getShowInLegend() {
724
        return $this->showInLegend;
725
    }
726
727
    /**
728
     * Get the skip keyboard navigation.
729
     *
730
     * @return boolean Returns the skip keyboard navigation.
731
     */
732
    public function getSkipKeyboardNavigation() {
733
        return $this->skipKeyboardNavigation;
734
    }
735
736
    /**
737
     * Get the states.
738
     *
739
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsStates Returns the states.
740
     */
741
    public function getStates() {
742
        return $this->states;
743
    }
744
745
    /**
746
     * Get the sticky tracking.
747
     *
748
     * @return boolean Returns the sticky tracking.
749
     */
750
    public function getStickyTracking() {
751
        return $this->stickyTracking;
752
    }
753
754
    /**
755
     * Get the tooltip.
756
     *
757
     * @return array Returns the tooltip.
758
     */
759
    public function getTooltip() {
760
        return $this->tooltip;
761
    }
762
763
    /**
764
     * Get the turbo threshold.
765
     *
766
     * @return integer Returns the turbo threshold.
767
     */
768
    public function getTurboThreshold() {
769
        return $this->turboThreshold;
770
    }
771
772
    /**
773
     * Get the visible.
774
     *
775
     * @return boolean Returns the visible.
776
     */
777
    public function getVisible() {
778
        return $this->visible;
779
    }
780
781
    /**
782
     * Get the zone axis.
783
     *
784
     * @return string Returns the zone axis.
785
     */
786
    public function getZoneAxis() {
787
        return $this->zoneAxis;
788
    }
789
790
    /**
791
     * Get the zones.
792
     *
793
     * @return array Returns the zones.
794
     */
795
    public function getZones() {
796
        return $this->zones;
797
    }
798
799
    /**
800
     * Serialize this instance.
801
     *
802
     * @return array Returns an array representing this instance.
803
     */
804
    public function jsonSerialize() {
805
        return $this->toArray();
806
    }
807
808
    /**
809
     * Create a new data labels.
810
     *
811
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsDataLabels Returns the data labels.
812
     */
813
    public function newDataLabels() {
814
        $this->dataLabels = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsDataLabels();
815
        return $this->dataLabels;
816
    }
817
818
    /**
819
     * Create a new events.
820
     *
821
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsEvents Returns the events.
822
     */
823
    public function newEvents() {
824
        $this->events = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsEvents();
825
        return $this->events;
826
    }
827
828
    /**
829
     * Create a new marker.
830
     *
831
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsMarker Returns the marker.
832
     */
833
    public function newMarker() {
834
        $this->marker = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsMarker();
835
        return $this->marker;
836
    }
837
838
    /**
839
     * Create a new point.
840
     *
841
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsPoint Returns the point.
842
     */
843
    public function newPoint() {
844
        $this->point = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsPoint();
845
        return $this->point;
846
    }
847
848
    /**
849
     * Create a new states.
850
     *
851
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsStates Returns the states.
852
     */
853
    public function newStates() {
854
        $this->states = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsStates();
855
        return $this->states;
856
    }
857
858
    /**
859
     * Set the allow point select.
860
     *
861
     * @param boolean $allowPointSelect The allow point select.
862
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
863
     */
864
    public function setAllowPointSelect($allowPointSelect) {
865
        $this->allowPointSelect = $allowPointSelect;
866
        return $this;
867
    }
868
869
    /**
870
     * Set the animation.
871
     *
872
     * @param boolean $animation The animation.
873
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
874
     */
875
    public function setAnimation($animation) {
876
        $this->animation = $animation;
877
        return $this;
878
    }
879
880
    /**
881
     * Set the animation limit.
882
     *
883
     * @param integer $animationLimit The animation limit.
884
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
885
     */
886
    public function setAnimationLimit($animationLimit) {
887
        $this->animationLimit = $animationLimit;
888
        return $this;
889
    }
890
891
    /**
892
     * Set the class name.
893
     *
894
     * @param string $className The class name.
895
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
896
     */
897
    public function setClassName($className) {
898
        $this->className = $className;
899
        return $this;
900
    }
901
902
    /**
903
     * Set the color.
904
     *
905
     * @param string $color The color.
906
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
907
     */
908
    public function setColor($color) {
909
        $this->color = $color;
910
        return $this;
911
    }
912
913
    /**
914
     * Set the color index.
915
     *
916
     * @param integer $colorIndex The color index.
917
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
918
     */
919
    public function setColorIndex($colorIndex) {
920
        $this->colorIndex = $colorIndex;
921
        return $this;
922
    }
923
924
    /**
925
     * Set the crop threshold.
926
     *
927
     * @param integer $cropThreshold The crop threshold.
928
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
929
     */
930
    public function setCropThreshold($cropThreshold) {
931
        $this->cropThreshold = $cropThreshold;
932
        return $this;
933
    }
934
935
    /**
936
     * Set the cursor.
937
     *
938
     * @param string $cursor The cursor.
939
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
940
     */
941
    public function setCursor($cursor) {
942
        switch ($cursor) {
943
            case null:
944
            case "crosshair":
945
            case "default":
946
            case "help":
947
            case "none":
948
            case "pointer":
949
            $this->cursor = $cursor;
950
            break;
951
        }
952
        return $this;
953
    }
954
955
    /**
956
     * Set the dash style.
957
     *
958
     * @param string $dashStyle The dash style.
959
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
960
     */
961
    public function setDashStyle($dashStyle) {
962
        switch ($dashStyle) {
963
            case "Dash":
964
            case "DashDot":
965
            case "Dot":
966
            case "LongDash":
967
            case "LongDashDot":
968
            case "LongDashDotDot":
969
            case "ShortDash":
970
            case "ShortDashDot":
971
            case "ShortDashDotDot":
972
            case "ShortDot":
973
            case "Solid":
974
            $this->dashStyle = $dashStyle;
975
            break;
976
        }
977
        return $this;
978
    }
979
980
    /**
981
     * Set the data labels.
982
     *
983
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsDataLabels $dataLabels The data labels.
984
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
985
     */
986
    public function setDataLabels(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsDataLabels $dataLabels = null) {
987
        $this->dataLabels = $dataLabels;
988
        return $this;
989
    }
990
991
    /**
992
     * Set the description.
993
     *
994
     * @param string $description The description.
995
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
996
     */
997
    public function setDescription($description) {
998
        $this->description = $description;
999
        return $this;
1000
    }
1001
1002
    /**
1003
     * Set the enable mouse tracking.
1004
     *
1005
     * @param boolean $enableMouseTracking The enable mouse tracking.
1006
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1007
     */
1008
    public function setEnableMouseTracking($enableMouseTracking) {
1009
        $this->enableMouseTracking = $enableMouseTracking;
1010
        return $this;
1011
    }
1012
1013
    /**
1014
     * Set the events.
1015
     *
1016
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsEvents $events The events.
1017
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1018
     */
1019
    public function setEvents(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsEvents $events = null) {
1020
        $this->events = $events;
1021
        return $this;
1022
    }
1023
1024
    /**
1025
     * Set the expose element to a11y.
1026
     *
1027
     * @param boolean $exposeElementToA11y The expose element to a11y.
1028
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1029
     */
1030
    public function setExposeElementToA11y($exposeElementToA11y) {
1031
        $this->exposeElementToA11y = $exposeElementToA11y;
1032
        return $this;
1033
    }
1034
1035
    /**
1036
     * Set the find nearest point by.
1037
     *
1038
     * @param string $findNearestPointBy The find nearest point by.
1039
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1040
     */
1041
    public function setFindNearestPointBy($findNearestPointBy) {
1042
        switch ($findNearestPointBy) {
1043
            case "x":
1044
            case "xy":
1045
            $this->findNearestPointBy = $findNearestPointBy;
1046
            break;
1047
        }
1048
        return $this;
1049
    }
1050
1051
    /**
1052
     * Set the get extremes from all.
1053
     *
1054
     * @param boolean $getExtremesFromAll The get extremes from all.
1055
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1056
     */
1057
    public function setGetExtremesFromAll($getExtremesFromAll) {
1058
        $this->getExtremesFromAll = $getExtremesFromAll;
1059
        return $this;
1060
    }
1061
1062
    /**
1063
     * Set the keys.
1064
     *
1065
     * @param array $keys The keys.
1066
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1067
     */
1068
    public function setKeys(array $keys = null) {
1069
        $this->keys = $keys;
0 ignored issues
show
Documentation Bug introduced by
It seems like $keys can be null. However, the property $keys is declared as array. Maybe change the type of the property to array|null or add a type check?

Our type inference engine has found an assignment of a scalar value (like a string, an integer or null) to a property which is an array.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property.

To type hint that a parameter can be either an array or null, you can set a type hint of array and a default value of null. The PHP interpreter will then accept both an array or null for that parameter.

function aContainsB(array $needle = null, array  $haystack) {
    if (!$needle) {
        return false;
    }

    return array_intersect($haystack, $needle) == $haystack;
}

The function can be called with either null or an array for the parameter $needle but will only accept an array as $haystack.

Loading history...
1070
        return $this;
1071
    }
1072
1073
    /**
1074
     * Set the line width.
1075
     *
1076
     * @param integer $lineWidth The line width.
1077
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1078
     */
1079
    public function setLineWidth($lineWidth) {
1080
        $this->lineWidth = $lineWidth;
1081
        return $this;
1082
    }
1083
1084
    /**
1085
     * Set the linked to.
1086
     *
1087
     * @param string $linkedTo The linked to.
1088
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1089
     */
1090
    public function setLinkedTo($linkedTo) {
1091
        $this->linkedTo = $linkedTo;
1092
        return $this;
1093
    }
1094
1095
    /**
1096
     * Set the marker.
1097
     *
1098
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsMarker $marker The marker.
1099
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1100
     */
1101
    public function setMarker(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsMarker $marker = null) {
1102
        $this->marker = $marker;
1103
        return $this;
1104
    }
1105
1106
    /**
1107
     * Set the negative color.
1108
     *
1109
     * @param string $negativeColor The negative color.
1110
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1111
     */
1112
    public function setNegativeColor($negativeColor) {
1113
        $this->negativeColor = $negativeColor;
1114
        return $this;
1115
    }
1116
1117
    /**
1118
     * Set the point.
1119
     *
1120
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsPoint $point The point.
1121
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1122
     */
1123
    public function setPoint(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsPoint $point = null) {
1124
        $this->point = $point;
1125
        return $this;
1126
    }
1127
1128
    /**
1129
     * Set the point description formatter.
1130
     *
1131
     * @param string $pointDescriptionFormatter The point description formatter.
1132
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1133
     */
1134
    public function setPointDescriptionFormatter($pointDescriptionFormatter) {
1135
        $this->pointDescriptionFormatter = $pointDescriptionFormatter;
1136
        return $this;
1137
    }
1138
1139
    /**
1140
     * Set the point interval.
1141
     *
1142
     * @param integer $pointInterval The point interval.
1143
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1144
     */
1145
    public function setPointInterval($pointInterval) {
1146
        $this->pointInterval = $pointInterval;
1147
        return $this;
1148
    }
1149
1150
    /**
1151
     * Set the point interval unit.
1152
     *
1153
     * @param string $pointIntervalUnit The point interval unit.
1154
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1155
     */
1156
    public function setPointIntervalUnit($pointIntervalUnit) {
1157
        switch ($pointIntervalUnit) {
1158
            case null:
1159
            case "day":
1160
            case "month":
1161
            case "year":
1162
            $this->pointIntervalUnit = $pointIntervalUnit;
1163
            break;
1164
        }
1165
        return $this;
1166
    }
1167
1168
    /**
1169
     * Set the point start.
1170
     *
1171
     * @param integer $pointStart The point start.
1172
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1173
     */
1174
    public function setPointStart($pointStart) {
1175
        $this->pointStart = $pointStart;
1176
        return $this;
1177
    }
1178
1179
    /**
1180
     * Set the selected.
1181
     *
1182
     * @param boolean $selected The selected.
1183
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1184
     */
1185
    public function setSelected($selected) {
1186
        $this->selected = $selected;
1187
        return $this;
1188
    }
1189
1190
    /**
1191
     * Set the shadow.
1192
     *
1193
     * @param boolean|array $shadow The shadow.
1194
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1195
     */
1196
    public function setShadow($shadow) {
1197
        $this->shadow = $shadow;
1198
        return $this;
1199
    }
1200
1201
    /**
1202
     * Set the show checkbox.
1203
     *
1204
     * @param boolean $showCheckbox The show checkbox.
1205
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1206
     */
1207
    public function setShowCheckbox($showCheckbox) {
1208
        $this->showCheckbox = $showCheckbox;
1209
        return $this;
1210
    }
1211
1212
    /**
1213
     * Set the show in legend.
1214
     *
1215
     * @param boolean $showInLegend The show in legend.
1216
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1217
     */
1218
    public function setShowInLegend($showInLegend) {
1219
        $this->showInLegend = $showInLegend;
1220
        return $this;
1221
    }
1222
1223
    /**
1224
     * Set the skip keyboard navigation.
1225
     *
1226
     * @param boolean $skipKeyboardNavigation The skip keyboard navigation.
1227
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1228
     */
1229
    public function setSkipKeyboardNavigation($skipKeyboardNavigation) {
1230
        $this->skipKeyboardNavigation = $skipKeyboardNavigation;
1231
        return $this;
1232
    }
1233
1234
    /**
1235
     * Set the states.
1236
     *
1237
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsStates $states The states.
1238
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1239
     */
1240
    public function setStates(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Polygon\HighchartsStates $states = null) {
1241
        $this->states = $states;
1242
        return $this;
1243
    }
1244
1245
    /**
1246
     * Set the sticky tracking.
1247
     *
1248
     * @param boolean $stickyTracking The sticky tracking.
1249
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1250
     */
1251
    public function setStickyTracking($stickyTracking) {
1252
        $this->stickyTracking = $stickyTracking;
1253
        return $this;
1254
    }
1255
1256
    /**
1257
     * Set the tooltip.
1258
     *
1259
     * @param array $tooltip The tooltip.
1260
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1261
     */
1262
    public function setTooltip(array $tooltip = null) {
1263
        $this->tooltip = $tooltip;
0 ignored issues
show
Documentation Bug introduced by
It seems like $tooltip can be null. However, the property $tooltip is declared as array. Maybe change the type of the property to array|null or add a type check?

Our type inference engine has found an assignment of a scalar value (like a string, an integer or null) to a property which is an array.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property.

To type hint that a parameter can be either an array or null, you can set a type hint of array and a default value of null. The PHP interpreter will then accept both an array or null for that parameter.

function aContainsB(array $needle = null, array  $haystack) {
    if (!$needle) {
        return false;
    }

    return array_intersect($haystack, $needle) == $haystack;
}

The function can be called with either null or an array for the parameter $needle but will only accept an array as $haystack.

Loading history...
1264
        return $this;
1265
    }
1266
1267
    /**
1268
     * Set the turbo threshold.
1269
     *
1270
     * @param integer $turboThreshold The turbo threshold.
1271
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1272
     */
1273
    public function setTurboThreshold($turboThreshold) {
1274
        $this->turboThreshold = $turboThreshold;
1275
        return $this;
1276
    }
1277
1278
    /**
1279
     * Set the visible.
1280
     *
1281
     * @param boolean $visible The visible.
1282
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1283
     */
1284
    public function setVisible($visible) {
1285
        $this->visible = $visible;
1286
        return $this;
1287
    }
1288
1289
    /**
1290
     * Set the zone axis.
1291
     *
1292
     * @param string $zoneAxis The zone axis.
1293
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1294
     */
1295
    public function setZoneAxis($zoneAxis) {
1296
        $this->zoneAxis = $zoneAxis;
1297
        return $this;
1298
    }
1299
1300
    /**
1301
     * Set the zones.
1302
     *
1303
     * @param array $zones The zones.
1304
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPolygon Returns the highcharts polygon.
1305
     */
1306
    public function setZones(array $zones = null) {
1307
        $this->zones = $zones;
0 ignored issues
show
Documentation Bug introduced by
It seems like $zones can be null. However, the property $zones is declared as array. Maybe change the type of the property to array|null or add a type check?

Our type inference engine has found an assignment of a scalar value (like a string, an integer or null) to a property which is an array.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property.

To type hint that a parameter can be either an array or null, you can set a type hint of array and a default value of null. The PHP interpreter will then accept both an array or null for that parameter.

function aContainsB(array $needle = null, array  $haystack) {
    if (!$needle) {
        return false;
    }

    return array_intersect($haystack, $needle) == $haystack;
}

The function can be called with either null or an array for the parameter $needle but will only accept an array as $haystack.

Loading history...
1308
        return $this;
1309
    }
1310
1311
    /**
1312
     * Convert into an array representing this instance.
1313
     *
1314
     * @return array Returns an array representing this instance.
1315
     */
1316
    public function toArray() {
1317
1318
        // Initialize the output.
1319
        $output = [];
1320
1321
        // Set the allow point select.
1322
        ArrayUtility::set($output, "allowPointSelect", $this->allowPointSelect, [null]);
1323
1324
        // Set the animation.
1325
        ArrayUtility::set($output, "animation", $this->animation, [null]);
1326
1327
        // Set the animation limit.
1328
        ArrayUtility::set($output, "animationLimit", $this->animationLimit, [null]);
1329
1330
        // Set the class name.
1331
        ArrayUtility::set($output, "className", $this->className, [null]);
1332
1333
        // Set the color.
1334
        ArrayUtility::set($output, "color", $this->color, [null]);
1335
1336
        // Set the color index.
1337
        ArrayUtility::set($output, "colorIndex", $this->colorIndex, [null]);
1338
1339
        // Set the crop threshold.
1340
        ArrayUtility::set($output, "cropThreshold", $this->cropThreshold, [null]);
1341
1342
        // Set the cursor.
1343
        ArrayUtility::set($output, "cursor", $this->cursor, [null]);
1344
1345
        // Set the dash style.
1346
        ArrayUtility::set($output, "dashStyle", $this->dashStyle, [null]);
1347
1348
        // Set the data labels.
1349
        if (null !== $this->dataLabels) {
1350
            ArrayUtility::set($output, "dataLabels", $this->dataLabels->toArray(), []);
1351
        }
1352
1353
        // Set the description.
1354
        ArrayUtility::set($output, "description", $this->description, [null]);
1355
1356
        // Set the enable mouse tracking.
1357
        ArrayUtility::set($output, "enableMouseTracking", $this->enableMouseTracking, [null]);
1358
1359
        // Set the events.
1360
        if (null !== $this->events) {
1361
            ArrayUtility::set($output, "events", $this->events->toArray(), []);
1362
        }
1363
1364
        // Set the expose element to a11y.
1365
        ArrayUtility::set($output, "exposeElementToA11y", $this->exposeElementToA11y, [null]);
1366
1367
        // Set the find nearest point by.
1368
        ArrayUtility::set($output, "findNearestPointBy", $this->findNearestPointBy, [null]);
1369
1370
        // Set the get extremes from all.
1371
        ArrayUtility::set($output, "getExtremesFromAll", $this->getExtremesFromAll, [null]);
1372
1373
        // Set the keys.
1374
        ArrayUtility::set($output, "keys", $this->keys, [null]);
1375
1376
        // Set the line width.
1377
        ArrayUtility::set($output, "lineWidth", $this->lineWidth, [null]);
1378
1379
        // Set the linked to.
1380
        ArrayUtility::set($output, "linkedTo", $this->linkedTo, [null]);
1381
1382
        // Set the marker.
1383
        if (null !== $this->marker) {
1384
            ArrayUtility::set($output, "marker", $this->marker->toArray(), []);
1385
        }
1386
1387
        // Set the negative color.
1388
        ArrayUtility::set($output, "negativeColor", $this->negativeColor, [null]);
1389
1390
        // Set the point.
1391
        if (null !== $this->point) {
1392
            ArrayUtility::set($output, "point", $this->point->toArray(), []);
1393
        }
1394
1395
        // Set the point description formatter.
1396
        ArrayUtility::set($output, "pointDescriptionFormatter", $this->pointDescriptionFormatter, [null]);
1397
1398
        // Set the point interval.
1399
        ArrayUtility::set($output, "pointInterval", $this->pointInterval, [null]);
1400
1401
        // Set the point interval unit.
1402
        ArrayUtility::set($output, "pointIntervalUnit", $this->pointIntervalUnit, [null]);
1403
1404
        // Set the point start.
1405
        ArrayUtility::set($output, "pointStart", $this->pointStart, [null]);
1406
1407
        // Set the selected.
1408
        ArrayUtility::set($output, "selected", $this->selected, [null]);
1409
1410
        // Set the shadow.
1411
        ArrayUtility::set($output, "shadow", $this->shadow, [null]);
1412
1413
        // Set the show checkbox.
1414
        ArrayUtility::set($output, "showCheckbox", $this->showCheckbox, [null]);
1415
1416
        // Set the show in legend.
1417
        ArrayUtility::set($output, "showInLegend", $this->showInLegend, [null]);
1418
1419
        // Set the skip keyboard navigation.
1420
        ArrayUtility::set($output, "skipKeyboardNavigation", $this->skipKeyboardNavigation, [null]);
1421
1422
        // Set the states.
1423
        if (null !== $this->states) {
1424
            ArrayUtility::set($output, "states", $this->states->toArray(), []);
1425
        }
1426
1427
        // Set the sticky tracking.
1428
        ArrayUtility::set($output, "stickyTracking", $this->stickyTracking, [null]);
1429
1430
        // Set the tooltip.
1431
        ArrayUtility::set($output, "tooltip", $this->tooltip, [null]);
1432
1433
        // Set the turbo threshold.
1434
        ArrayUtility::set($output, "turboThreshold", $this->turboThreshold, [null]);
1435
1436
        // Set the visible.
1437
        ArrayUtility::set($output, "visible", $this->visible, [null]);
1438
1439
        // Set the zone axis.
1440
        ArrayUtility::set($output, "zoneAxis", $this->zoneAxis, [null]);
1441
1442
        // Set the zones.
1443
        ArrayUtility::set($output, "zones", $this->zones, [null]);
1444
1445
        // Return the output.
1446
        return $output;
1447
    }
1448
1449
}
1450