HighchartsFunnel   F
last analyzed

Complexity

Total Complexity 101

Size/Duplication

Total Lines 1392
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Importance

Changes 0
Metric Value
wmc 101
lcom 1
cbo 5
dl 0
loc 1392
rs 0.8
c 0
b 0
f 0

84 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 2
B clear() 0 124 5
A getAllowPointSelect() 0 3 1
A getAnimationLimit() 0 3 1
A getBorderColor() 0 3 1
A getBorderWidth() 0 3 1
A getCenter() 0 3 1
A getClassName() 0 3 1
A getColorIndex() 0 3 1
A getColors() 0 3 1
A getCursor() 0 3 1
A getDataLabels() 0 3 1
A getDepth() 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 getHeight() 0 3 1
A getKeys() 0 3 1
A getLinkedTo() 0 3 1
A getMinSize() 0 3 1
A getNeckHeight() 0 3 1
A getNeckWidth() 0 3 1
A getPoint() 0 3 1
A getPointDescriptionFormatter() 0 3 1
A getReversed() 0 3 1
A getSelected() 0 3 1
A getShadow() 0 3 1
A getShowInLegend() 0 3 1
A getSkipKeyboardNavigation() 0 3 1
A getSlicedOffset() 0 3 1
A getStates() 0 3 1
A getStickyTracking() 0 3 1
A getTooltip() 0 3 1
A getVisible() 0 3 1
A getWidth() 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 newPoint() 0 4 1
A newStates() 0 4 1
A setAllowPointSelect() 0 4 1
A setAnimationLimit() 0 4 1
A setBorderColor() 0 4 1
A setBorderWidth() 0 4 1
A setCenter() 0 4 1
A setClassName() 0 4 1
A setColorIndex() 0 4 1
A setColors() 0 4 1
B setCursor() 0 13 7
A setDataLabels() 0 4 1
A setDepth() 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 setHeight() 0 4 1
A setKeys() 0 4 1
A setLinkedTo() 0 4 1
A setMinSize() 0 4 1
A setNeckHeight() 0 4 1
A setNeckWidth() 0 4 1
A setPoint() 0 4 1
A setPointDescriptionFormatter() 0 4 1
A setReversed() 0 4 1
A setSelected() 0 4 1
A setShadow() 0 4 1
A setShowInLegend() 0 4 1
A setSkipKeyboardNavigation() 0 4 1
A setSlicedOffset() 0 4 1
A setStates() 0 4 1
A setStickyTracking() 0 4 1
A setTooltip() 0 4 1
A setVisible() 0 4 1
A setWidth() 0 4 1
A setZoneAxis() 0 4 1
A setZones() 0 4 1
B toArray() 0 130 5

How to fix   Complexity   

Complex Class

Complex classes like HighchartsFunnel 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 HighchartsFunnel, 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 funnel.
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 HighchartsFunnel 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 limit.
37
     *
38
     * @var integer
39
     */
40
    private $animationLimit;
41
42
    /**
43
     * Border color.
44
     *
45
     * @var string
46
     */
47
    private $borderColor = "#ffffff";
48
49
    /**
50
     * Border width.
51
     *
52
     * @var integer
53
     */
54
    private $borderWidth = 1;
55
56
    /**
57
     * Center.
58
     *
59
     * @var array
60
     * @since 3.0
61
     */
62
    private $center = ["50%", "50%"];
63
64
    /**
65
     * Class name.
66
     *
67
     * @var string
68
     * @since 5.0.0
69
     */
70
    private $className;
71
72
    /**
73
     * Color index.
74
     *
75
     * @var integer
76
     * @since 5.0.0
77
     */
78
    private $colorIndex;
79
80
    /**
81
     * Colors.
82
     *
83
     * @var array
84
     * @since 3.0
85
     */
86
    private $colors;
87
88
    /**
89
     * Cursor.
90
     *
91
     * @var string
92
     */
93
    private $cursor;
94
95
    /**
96
     * Data labels.
97
     *
98
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsDataLabels
99
     */
100
    private $dataLabels;
101
102
    /**
103
     * Depth.
104
     *
105
     * @var integer
106
     * @since 4.0
107
     */
108
    private $depth = 0;
109
110
    /**
111
     * Description.
112
     *
113
     * @var string
114
     * @since 5.0.0
115
     */
116
    private $description;
117
118
    /**
119
     * Enable mouse tracking.
120
     *
121
     * @var boolean
122
     */
123
    private $enableMouseTracking = true;
124
125
    /**
126
     * Events.
127
     *
128
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsEvents
129
     */
130
    private $events;
131
132
    /**
133
     * Expose element to a11y.
134
     *
135
     * @var boolean
136
     * @since 5.0.12
137
     */
138
    private $exposeElementToA11y;
139
140
    /**
141
     * Find nearest point by.
142
     *
143
     * @var string
144
     * @since 5.0.10
145
     */
146
    private $findNearestPointBy;
147
148
    /**
149
     * Get extremes from all.
150
     *
151
     * @var boolean
152
     * @since 4.1.6
153
     */
154
    private $getExtremesFromAll = false;
155
156
    /**
157
     * Height.
158
     *
159
     * @var integer|string
160
     * @since 3.0
161
     */
162
    private $height;
163
164
    /**
165
     * Keys.
166
     *
167
     * @var array
168
     * @since 4.1.6
169
     */
170
    private $keys;
171
172
    /**
173
     * Linked to.
174
     *
175
     * @var string
176
     * @since 3.0
177
     */
178
    private $linkedTo;
179
180
    /**
181
     * Min size.
182
     *
183
     * @var integer
184
     * @since 3.0
185
     */
186
    private $minSize = 80;
187
188
    /**
189
     * Neck height.
190
     *
191
     * @var integer|string
192
     */
193
    private $neckHeight = "25%";
194
195
    /**
196
     * Neck width.
197
     *
198
     * @var integer|string
199
     * @since 3.0
200
     */
201
    private $neckWidth = "30%";
202
203
    /**
204
     * Point.
205
     *
206
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsPoint
207
     */
208
    private $point;
209
210
    /**
211
     * Point description formatter.
212
     *
213
     * @var string
214
     * @since 5.0.12
215
     */
216
    private $pointDescriptionFormatter;
217
218
    /**
219
     * Reversed.
220
     *
221
     * @var boolean
222
     * @since 3.0.10
223
     */
224
    private $reversed = false;
225
226
    /**
227
     * Selected.
228
     *
229
     * @var boolean
230
     * @since 1.2.0
231
     */
232
    private $selected = false;
233
234
    /**
235
     * Shadow.
236
     *
237
     * @var boolean|array
238
     */
239
    private $shadow = false;
240
241
    /**
242
     * Show in legend.
243
     *
244
     * @var boolean
245
     */
246
    private $showInLegend = false;
247
248
    /**
249
     * Skip keyboard navigation.
250
     *
251
     * @var boolean
252
     * @since 5.0.12
253
     */
254
    private $skipKeyboardNavigation;
255
256
    /**
257
     * Sliced offset.
258
     *
259
     * @var integer
260
     */
261
    private $slicedOffset = 10;
262
263
    /**
264
     * States.
265
     *
266
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsStates
267
     */
268
    private $states;
269
270
    /**
271
     * Sticky tracking.
272
     *
273
     * @var boolean
274
     */
275
    private $stickyTracking = false;
276
277
    /**
278
     * Tooltip.
279
     *
280
     * @var array
281
     * @since 2.3
282
     */
283
    private $tooltip;
284
285
    /**
286
     * Visible.
287
     *
288
     * @var boolean
289
     */
290
    private $visible = true;
291
292
    /**
293
     * Width.
294
     *
295
     * @var integer|string
296
     * @since 3.0
297
     */
298
    private $width = "90%";
299
300
    /**
301
     * Zone axis.
302
     *
303
     * @var string
304
     * @since 4.1.0
305
     */
306
    private $zoneAxis = "y";
307
308
    /**
309
     * Zones.
310
     *
311
     * @var array
312
     * @since 4.1.0
313
     */
314
    private $zones;
315
316
    /**
317
     * Constructor.
318
     *
319
     * @param boolean $ignoreDefaultValues Ignore the default values.
320
     */
321
    public function __construct($ignoreDefaultValues = true) {
322
        if (true === $ignoreDefaultValues) {
323
            $this->clear();
324
        }
325
    }
326
327
    /**
328
     * Clear.
329
     *
330
     * @return void
331
     */
332
    public function clear() {
333
334
        // Clear the allow point select.
335
        $this->allowPointSelect = null;
336
337
        // Clear the animation limit.
338
        $this->animationLimit = null;
339
340
        // Clear the border color.
341
        $this->borderColor = null;
342
343
        // Clear the border width.
344
        $this->borderWidth = null;
345
346
        // Clear the center.
347
        $this->center = 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 $center.

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...
348
349
        // Clear the class name.
350
        $this->className = null;
351
352
        // Clear the color index.
353
        $this->colorIndex = null;
354
355
        // Clear the colors.
356
        $this->colors = 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 $colors.

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...
357
358
        // Clear the cursor.
359
        $this->cursor = null;
360
361
        // Clear the data labels.
362
        if (null !== $this->dataLabels) {
363
            $this->dataLabels->clear();
364
        }
365
366
        // Clear the depth.
367
        $this->depth = null;
368
369
        // Clear the description.
370
        $this->description = null;
371
372
        // Clear the enable mouse tracking.
373
        $this->enableMouseTracking = null;
374
375
        // Clear the events.
376
        if (null !== $this->events) {
377
            $this->events->clear();
378
        }
379
380
        // Clear the expose element to a11y.
381
        $this->exposeElementToA11y = null;
382
383
        // Clear the find nearest point by.
384
        $this->findNearestPointBy = null;
385
386
        // Clear the get extremes from all.
387
        $this->getExtremesFromAll = null;
388
389
        // Clear the height.
390
        $this->height = null;
391
392
        // Clear the keys.
393
        $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...
394
395
        // Clear the linked to.
396
        $this->linkedTo = null;
397
398
        // Clear the min size.
399
        $this->minSize = null;
400
401
        // Clear the neck height.
402
        $this->neckHeight = null;
403
404
        // Clear the neck width.
405
        $this->neckWidth = null;
406
407
        // Clear the point.
408
        if (null !== $this->point) {
409
            $this->point->clear();
410
        }
411
412
        // Clear the point description formatter.
413
        $this->pointDescriptionFormatter = null;
414
415
        // Clear the reversed.
416
        $this->reversed = null;
417
418
        // Clear the selected.
419
        $this->selected = null;
420
421
        // Clear the shadow.
422
        $this->shadow = null;
423
424
        // Clear the show in legend.
425
        $this->showInLegend = null;
426
427
        // Clear the skip keyboard navigation.
428
        $this->skipKeyboardNavigation = null;
429
430
        // Clear the sliced offset.
431
        $this->slicedOffset = 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 visible.
445
        $this->visible = null;
446
447
        // Clear the width.
448
        $this->width = 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 limit.
468
     *
469
     * @return integer Returns the animation limit.
470
     */
471
    public function getAnimationLimit() {
472
        return $this->animationLimit;
473
    }
474
475
    /**
476
     * Get the border color.
477
     *
478
     * @return string Returns the border color.
479
     */
480
    public function getBorderColor() {
481
        return $this->borderColor;
482
    }
483
484
    /**
485
     * Get the border width.
486
     *
487
     * @return integer Returns the border width.
488
     */
489
    public function getBorderWidth() {
490
        return $this->borderWidth;
491
    }
492
493
    /**
494
     * Get the center.
495
     *
496
     * @return array Returns the center.
497
     */
498
    public function getCenter() {
499
        return $this->center;
500
    }
501
502
    /**
503
     * Get the class name.
504
     *
505
     * @return string Returns the class name.
506
     */
507
    public function getClassName() {
508
        return $this->className;
509
    }
510
511
    /**
512
     * Get the color index.
513
     *
514
     * @return integer Returns the color index.
515
     */
516
    public function getColorIndex() {
517
        return $this->colorIndex;
518
    }
519
520
    /**
521
     * Get the colors.
522
     *
523
     * @return array Returns the colors.
524
     */
525
    public function getColors() {
526
        return $this->colors;
527
    }
528
529
    /**
530
     * Get the cursor.
531
     *
532
     * @return string Returns the cursor.
533
     */
534
    public function getCursor() {
535
        return $this->cursor;
536
    }
537
538
    /**
539
     * Get the data labels.
540
     *
541
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsDataLabels Returns the data labels.
542
     */
543
    public function getDataLabels() {
544
        return $this->dataLabels;
545
    }
546
547
    /**
548
     * Get the depth.
549
     *
550
     * @return integer Returns the depth.
551
     */
552
    public function getDepth() {
553
        return $this->depth;
554
    }
555
556
    /**
557
     * Get the description.
558
     *
559
     * @return string Returns the description.
560
     */
561
    public function getDescription() {
562
        return $this->description;
563
    }
564
565
    /**
566
     * Get the enable mouse tracking.
567
     *
568
     * @return boolean Returns the enable mouse tracking.
569
     */
570
    public function getEnableMouseTracking() {
571
        return $this->enableMouseTracking;
572
    }
573
574
    /**
575
     * Get the events.
576
     *
577
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsEvents Returns the events.
578
     */
579
    public function getEvents() {
580
        return $this->events;
581
    }
582
583
    /**
584
     * Get the expose element to a11y.
585
     *
586
     * @return boolean Returns the expose element to a11y.
587
     */
588
    public function getExposeElementToA11y() {
589
        return $this->exposeElementToA11y;
590
    }
591
592
    /**
593
     * Get the find nearest point by.
594
     *
595
     * @return string Returns the find nearest point by.
596
     */
597
    public function getFindNearestPointBy() {
598
        return $this->findNearestPointBy;
599
    }
600
601
    /**
602
     * Get the get extremes from all.
603
     *
604
     * @return boolean Returns the get extremes from all.
605
     */
606
    public function getGetExtremesFromAll() {
607
        return $this->getExtremesFromAll;
608
    }
609
610
    /**
611
     * Get the height.
612
     *
613
     * @return integer|string Returns the height.
614
     */
615
    public function getHeight() {
616
        return $this->height;
617
    }
618
619
    /**
620
     * Get the keys.
621
     *
622
     * @return array Returns the keys.
623
     */
624
    public function getKeys() {
625
        return $this->keys;
626
    }
627
628
    /**
629
     * Get the linked to.
630
     *
631
     * @return string Returns the linked to.
632
     */
633
    public function getLinkedTo() {
634
        return $this->linkedTo;
635
    }
636
637
    /**
638
     * Get the min size.
639
     *
640
     * @return integer Returns the min size.
641
     */
642
    public function getMinSize() {
643
        return $this->minSize;
644
    }
645
646
    /**
647
     * Get the neck height.
648
     *
649
     * @return integer|string Returns the neck height.
650
     */
651
    public function getNeckHeight() {
652
        return $this->neckHeight;
653
    }
654
655
    /**
656
     * Get the neck width.
657
     *
658
     * @return integer|string Returns the neck width.
659
     */
660
    public function getNeckWidth() {
661
        return $this->neckWidth;
662
    }
663
664
    /**
665
     * Get the point.
666
     *
667
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsPoint Returns the point.
668
     */
669
    public function getPoint() {
670
        return $this->point;
671
    }
672
673
    /**
674
     * Get the point description formatter.
675
     *
676
     * @return string Returns the point description formatter.
677
     */
678
    public function getPointDescriptionFormatter() {
679
        return $this->pointDescriptionFormatter;
680
    }
681
682
    /**
683
     * Get the reversed.
684
     *
685
     * @return boolean Returns the reversed.
686
     */
687
    public function getReversed() {
688
        return $this->reversed;
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 in legend.
711
     *
712
     * @return boolean Returns the show in legend.
713
     */
714
    public function getShowInLegend() {
715
        return $this->showInLegend;
716
    }
717
718
    /**
719
     * Get the skip keyboard navigation.
720
     *
721
     * @return boolean Returns the skip keyboard navigation.
722
     */
723
    public function getSkipKeyboardNavigation() {
724
        return $this->skipKeyboardNavigation;
725
    }
726
727
    /**
728
     * Get the sliced offset.
729
     *
730
     * @return integer Returns the sliced offset.
731
     */
732
    public function getSlicedOffset() {
733
        return $this->slicedOffset;
734
    }
735
736
    /**
737
     * Get the states.
738
     *
739
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\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 visible.
765
     *
766
     * @return boolean Returns the visible.
767
     */
768
    public function getVisible() {
769
        return $this->visible;
770
    }
771
772
    /**
773
     * Get the width.
774
     *
775
     * @return integer|string Returns the width.
776
     */
777
    public function getWidth() {
778
        return $this->width;
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\Funnel\HighchartsDataLabels Returns the data labels.
812
     */
813
    public function newDataLabels() {
814
        $this->dataLabels = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsDataLabels();
815
        return $this->dataLabels;
816
    }
817
818
    /**
819
     * Create a new events.
820
     *
821
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsEvents Returns the events.
822
     */
823
    public function newEvents() {
824
        $this->events = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsEvents();
825
        return $this->events;
826
    }
827
828
    /**
829
     * Create a new point.
830
     *
831
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsPoint Returns the point.
832
     */
833
    public function newPoint() {
834
        $this->point = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsPoint();
835
        return $this->point;
836
    }
837
838
    /**
839
     * Create a new states.
840
     *
841
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsStates Returns the states.
842
     */
843
    public function newStates() {
844
        $this->states = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsStates();
845
        return $this->states;
846
    }
847
848
    /**
849
     * Set the allow point select.
850
     *
851
     * @param boolean $allowPointSelect The allow point select.
852
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
853
     */
854
    public function setAllowPointSelect($allowPointSelect) {
855
        $this->allowPointSelect = $allowPointSelect;
856
        return $this;
857
    }
858
859
    /**
860
     * Set the animation limit.
861
     *
862
     * @param integer $animationLimit The animation limit.
863
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
864
     */
865
    public function setAnimationLimit($animationLimit) {
866
        $this->animationLimit = $animationLimit;
867
        return $this;
868
    }
869
870
    /**
871
     * Set the border color.
872
     *
873
     * @param string $borderColor The border color.
874
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
875
     */
876
    public function setBorderColor($borderColor) {
877
        $this->borderColor = $borderColor;
878
        return $this;
879
    }
880
881
    /**
882
     * Set the border width.
883
     *
884
     * @param integer $borderWidth The border width.
885
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
886
     */
887
    public function setBorderWidth($borderWidth) {
888
        $this->borderWidth = $borderWidth;
889
        return $this;
890
    }
891
892
    /**
893
     * Set the center.
894
     *
895
     * @param array $center The center.
896
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
897
     */
898
    public function setCenter(array $center = null) {
899
        $this->center = $center;
0 ignored issues
show
Documentation Bug introduced by
It seems like $center can be null. However, the property $center 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...
900
        return $this;
901
    }
902
903
    /**
904
     * Set the class name.
905
     *
906
     * @param string $className The class name.
907
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
908
     */
909
    public function setClassName($className) {
910
        $this->className = $className;
911
        return $this;
912
    }
913
914
    /**
915
     * Set the color index.
916
     *
917
     * @param integer $colorIndex The color index.
918
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
919
     */
920
    public function setColorIndex($colorIndex) {
921
        $this->colorIndex = $colorIndex;
922
        return $this;
923
    }
924
925
    /**
926
     * Set the colors.
927
     *
928
     * @param array $colors The colors.
929
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
930
     */
931
    public function setColors(array $colors = null) {
932
        $this->colors = $colors;
0 ignored issues
show
Documentation Bug introduced by
It seems like $colors can be null. However, the property $colors 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...
933
        return $this;
934
    }
935
936
    /**
937
     * Set the cursor.
938
     *
939
     * @param string $cursor The cursor.
940
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
941
     */
942
    public function setCursor($cursor) {
943
        switch ($cursor) {
944
            case null:
945
            case "crosshair":
946
            case "default":
947
            case "help":
948
            case "none":
949
            case "pointer":
950
            $this->cursor = $cursor;
951
            break;
952
        }
953
        return $this;
954
    }
955
956
    /**
957
     * Set the data labels.
958
     *
959
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsDataLabels $dataLabels The data labels.
960
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
961
     */
962
    public function setDataLabels(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsDataLabels $dataLabels = null) {
963
        $this->dataLabels = $dataLabels;
964
        return $this;
965
    }
966
967
    /**
968
     * Set the depth.
969
     *
970
     * @param integer $depth The depth.
971
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
972
     */
973
    public function setDepth($depth) {
974
        $this->depth = $depth;
975
        return $this;
976
    }
977
978
    /**
979
     * Set the description.
980
     *
981
     * @param string $description The description.
982
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
983
     */
984
    public function setDescription($description) {
985
        $this->description = $description;
986
        return $this;
987
    }
988
989
    /**
990
     * Set the enable mouse tracking.
991
     *
992
     * @param boolean $enableMouseTracking The enable mouse tracking.
993
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
994
     */
995
    public function setEnableMouseTracking($enableMouseTracking) {
996
        $this->enableMouseTracking = $enableMouseTracking;
997
        return $this;
998
    }
999
1000
    /**
1001
     * Set the events.
1002
     *
1003
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsEvents $events The events.
1004
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1005
     */
1006
    public function setEvents(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsEvents $events = null) {
1007
        $this->events = $events;
1008
        return $this;
1009
    }
1010
1011
    /**
1012
     * Set the expose element to a11y.
1013
     *
1014
     * @param boolean $exposeElementToA11y The expose element to a11y.
1015
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1016
     */
1017
    public function setExposeElementToA11y($exposeElementToA11y) {
1018
        $this->exposeElementToA11y = $exposeElementToA11y;
1019
        return $this;
1020
    }
1021
1022
    /**
1023
     * Set the find nearest point by.
1024
     *
1025
     * @param string $findNearestPointBy The find nearest point by.
1026
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1027
     */
1028
    public function setFindNearestPointBy($findNearestPointBy) {
1029
        switch ($findNearestPointBy) {
1030
            case "x":
1031
            case "xy":
1032
            $this->findNearestPointBy = $findNearestPointBy;
1033
            break;
1034
        }
1035
        return $this;
1036
    }
1037
1038
    /**
1039
     * Set the get extremes from all.
1040
     *
1041
     * @param boolean $getExtremesFromAll The get extremes from all.
1042
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1043
     */
1044
    public function setGetExtremesFromAll($getExtremesFromAll) {
1045
        $this->getExtremesFromAll = $getExtremesFromAll;
1046
        return $this;
1047
    }
1048
1049
    /**
1050
     * Set the height.
1051
     *
1052
     * @param integer|string $height The height.
1053
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1054
     */
1055
    public function setHeight($height) {
1056
        $this->height = $height;
1057
        return $this;
1058
    }
1059
1060
    /**
1061
     * Set the keys.
1062
     *
1063
     * @param array $keys The keys.
1064
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1065
     */
1066
    public function setKeys(array $keys = null) {
1067
        $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...
1068
        return $this;
1069
    }
1070
1071
    /**
1072
     * Set the linked to.
1073
     *
1074
     * @param string $linkedTo The linked to.
1075
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1076
     */
1077
    public function setLinkedTo($linkedTo) {
1078
        $this->linkedTo = $linkedTo;
1079
        return $this;
1080
    }
1081
1082
    /**
1083
     * Set the min size.
1084
     *
1085
     * @param integer $minSize The min size.
1086
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1087
     */
1088
    public function setMinSize($minSize) {
1089
        $this->minSize = $minSize;
1090
        return $this;
1091
    }
1092
1093
    /**
1094
     * Set the neck height.
1095
     *
1096
     * @param integer|string $neckHeight The neck height.
1097
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1098
     */
1099
    public function setNeckHeight($neckHeight) {
1100
        $this->neckHeight = $neckHeight;
1101
        return $this;
1102
    }
1103
1104
    /**
1105
     * Set the neck width.
1106
     *
1107
     * @param integer|string $neckWidth The neck width.
1108
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1109
     */
1110
    public function setNeckWidth($neckWidth) {
1111
        $this->neckWidth = $neckWidth;
1112
        return $this;
1113
    }
1114
1115
    /**
1116
     * Set the point.
1117
     *
1118
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsPoint $point The point.
1119
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1120
     */
1121
    public function setPoint(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsPoint $point = null) {
1122
        $this->point = $point;
1123
        return $this;
1124
    }
1125
1126
    /**
1127
     * Set the point description formatter.
1128
     *
1129
     * @param string $pointDescriptionFormatter The point description formatter.
1130
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1131
     */
1132
    public function setPointDescriptionFormatter($pointDescriptionFormatter) {
1133
        $this->pointDescriptionFormatter = $pointDescriptionFormatter;
1134
        return $this;
1135
    }
1136
1137
    /**
1138
     * Set the reversed.
1139
     *
1140
     * @param boolean $reversed The reversed.
1141
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1142
     */
1143
    public function setReversed($reversed) {
1144
        $this->reversed = $reversed;
1145
        return $this;
1146
    }
1147
1148
    /**
1149
     * Set the selected.
1150
     *
1151
     * @param boolean $selected The selected.
1152
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1153
     */
1154
    public function setSelected($selected) {
1155
        $this->selected = $selected;
1156
        return $this;
1157
    }
1158
1159
    /**
1160
     * Set the shadow.
1161
     *
1162
     * @param boolean|array $shadow The shadow.
1163
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1164
     */
1165
    public function setShadow($shadow) {
1166
        $this->shadow = $shadow;
1167
        return $this;
1168
    }
1169
1170
    /**
1171
     * Set the show in legend.
1172
     *
1173
     * @param boolean $showInLegend The show in legend.
1174
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1175
     */
1176
    public function setShowInLegend($showInLegend) {
1177
        $this->showInLegend = $showInLegend;
1178
        return $this;
1179
    }
1180
1181
    /**
1182
     * Set the skip keyboard navigation.
1183
     *
1184
     * @param boolean $skipKeyboardNavigation The skip keyboard navigation.
1185
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1186
     */
1187
    public function setSkipKeyboardNavigation($skipKeyboardNavigation) {
1188
        $this->skipKeyboardNavigation = $skipKeyboardNavigation;
1189
        return $this;
1190
    }
1191
1192
    /**
1193
     * Set the sliced offset.
1194
     *
1195
     * @param integer $slicedOffset The sliced offset.
1196
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1197
     */
1198
    public function setSlicedOffset($slicedOffset) {
1199
        $this->slicedOffset = $slicedOffset;
1200
        return $this;
1201
    }
1202
1203
    /**
1204
     * Set the states.
1205
     *
1206
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsStates $states The states.
1207
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1208
     */
1209
    public function setStates(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\Funnel\HighchartsStates $states = null) {
1210
        $this->states = $states;
1211
        return $this;
1212
    }
1213
1214
    /**
1215
     * Set the sticky tracking.
1216
     *
1217
     * @param boolean $stickyTracking The sticky tracking.
1218
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1219
     */
1220
    public function setStickyTracking($stickyTracking) {
1221
        $this->stickyTracking = $stickyTracking;
1222
        return $this;
1223
    }
1224
1225
    /**
1226
     * Set the tooltip.
1227
     *
1228
     * @param array $tooltip The tooltip.
1229
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1230
     */
1231
    public function setTooltip(array $tooltip = null) {
1232
        $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...
1233
        return $this;
1234
    }
1235
1236
    /**
1237
     * Set the visible.
1238
     *
1239
     * @param boolean $visible The visible.
1240
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1241
     */
1242
    public function setVisible($visible) {
1243
        $this->visible = $visible;
1244
        return $this;
1245
    }
1246
1247
    /**
1248
     * Set the width.
1249
     *
1250
     * @param integer|string $width The width.
1251
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1252
     */
1253
    public function setWidth($width) {
1254
        $this->width = $width;
1255
        return $this;
1256
    }
1257
1258
    /**
1259
     * Set the zone axis.
1260
     *
1261
     * @param string $zoneAxis The zone axis.
1262
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1263
     */
1264
    public function setZoneAxis($zoneAxis) {
1265
        $this->zoneAxis = $zoneAxis;
1266
        return $this;
1267
    }
1268
1269
    /**
1270
     * Set the zones.
1271
     *
1272
     * @param array $zones The zones.
1273
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsFunnel Returns the highcharts funnel.
1274
     */
1275
    public function setZones(array $zones = null) {
1276
        $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...
1277
        return $this;
1278
    }
1279
1280
    /**
1281
     * Convert into an array representing this instance.
1282
     *
1283
     * @return array Returns an array representing this instance.
1284
     */
1285
    public function toArray() {
1286
1287
        // Initialize the output.
1288
        $output = [];
1289
1290
        // Set the allow point select.
1291
        ArrayUtility::set($output, "allowPointSelect", $this->allowPointSelect, [null]);
1292
1293
        // Set the animation limit.
1294
        ArrayUtility::set($output, "animationLimit", $this->animationLimit, [null]);
1295
1296
        // Set the border color.
1297
        ArrayUtility::set($output, "borderColor", $this->borderColor, [null]);
1298
1299
        // Set the border width.
1300
        ArrayUtility::set($output, "borderWidth", $this->borderWidth, [null]);
1301
1302
        // Set the center.
1303
        ArrayUtility::set($output, "center", $this->center, [null]);
1304
1305
        // Set the class name.
1306
        ArrayUtility::set($output, "className", $this->className, [null]);
1307
1308
        // Set the color index.
1309
        ArrayUtility::set($output, "colorIndex", $this->colorIndex, [null]);
1310
1311
        // Set the colors.
1312
        ArrayUtility::set($output, "colors", $this->colors, [null]);
1313
1314
        // Set the cursor.
1315
        ArrayUtility::set($output, "cursor", $this->cursor, [null]);
1316
1317
        // Set the data labels.
1318
        if (null !== $this->dataLabels) {
1319
            ArrayUtility::set($output, "dataLabels", $this->dataLabels->toArray(), []);
1320
        }
1321
1322
        // Set the depth.
1323
        ArrayUtility::set($output, "depth", $this->depth, [null]);
1324
1325
        // Set the description.
1326
        ArrayUtility::set($output, "description", $this->description, [null]);
1327
1328
        // Set the enable mouse tracking.
1329
        ArrayUtility::set($output, "enableMouseTracking", $this->enableMouseTracking, [null]);
1330
1331
        // Set the events.
1332
        if (null !== $this->events) {
1333
            ArrayUtility::set($output, "events", $this->events->toArray(), []);
1334
        }
1335
1336
        // Set the expose element to a11y.
1337
        ArrayUtility::set($output, "exposeElementToA11y", $this->exposeElementToA11y, [null]);
1338
1339
        // Set the find nearest point by.
1340
        ArrayUtility::set($output, "findNearestPointBy", $this->findNearestPointBy, [null]);
1341
1342
        // Set the get extremes from all.
1343
        ArrayUtility::set($output, "getExtremesFromAll", $this->getExtremesFromAll, [null]);
1344
1345
        // Set the height.
1346
        ArrayUtility::set($output, "height", $this->height, [null]);
1347
1348
        // Set the keys.
1349
        ArrayUtility::set($output, "keys", $this->keys, [null]);
1350
1351
        // Set the linked to.
1352
        ArrayUtility::set($output, "linkedTo", $this->linkedTo, [null]);
1353
1354
        // Set the min size.
1355
        ArrayUtility::set($output, "minSize", $this->minSize, [null]);
1356
1357
        // Set the neck height.
1358
        ArrayUtility::set($output, "neckHeight", $this->neckHeight, [null]);
1359
1360
        // Set the neck width.
1361
        ArrayUtility::set($output, "neckWidth", $this->neckWidth, [null]);
1362
1363
        // Set the point.
1364
        if (null !== $this->point) {
1365
            ArrayUtility::set($output, "point", $this->point->toArray(), []);
1366
        }
1367
1368
        // Set the point description formatter.
1369
        ArrayUtility::set($output, "pointDescriptionFormatter", $this->pointDescriptionFormatter, [null]);
1370
1371
        // Set the reversed.
1372
        ArrayUtility::set($output, "reversed", $this->reversed, [null]);
1373
1374
        // Set the selected.
1375
        ArrayUtility::set($output, "selected", $this->selected, [null]);
1376
1377
        // Set the shadow.
1378
        ArrayUtility::set($output, "shadow", $this->shadow, [null]);
1379
1380
        // Set the show in legend.
1381
        ArrayUtility::set($output, "showInLegend", $this->showInLegend, [null]);
1382
1383
        // Set the skip keyboard navigation.
1384
        ArrayUtility::set($output, "skipKeyboardNavigation", $this->skipKeyboardNavigation, [null]);
1385
1386
        // Set the sliced offset.
1387
        ArrayUtility::set($output, "slicedOffset", $this->slicedOffset, [null]);
1388
1389
        // Set the states.
1390
        if (null !== $this->states) {
1391
            ArrayUtility::set($output, "states", $this->states->toArray(), []);
1392
        }
1393
1394
        // Set the sticky tracking.
1395
        ArrayUtility::set($output, "stickyTracking", $this->stickyTracking, [null]);
1396
1397
        // Set the tooltip.
1398
        ArrayUtility::set($output, "tooltip", $this->tooltip, [null]);
1399
1400
        // Set the visible.
1401
        ArrayUtility::set($output, "visible", $this->visible, [null]);
1402
1403
        // Set the width.
1404
        ArrayUtility::set($output, "width", $this->width, [null]);
1405
1406
        // Set the zone axis.
1407
        ArrayUtility::set($output, "zoneAxis", $this->zoneAxis, [null]);
1408
1409
        // Set the zones.
1410
        ArrayUtility::set($output, "zones", $this->zones, [null]);
1411
1412
        // Return the output.
1413
        return $output;
1414
    }
1415
1416
}
1417