HighchartsSolidgauge   F
last analyzed

Complexity

Total Complexity 112

Size/Duplication

Total Lines 1327
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 0
Metric Value
wmc 112
lcom 1
cbo 3
dl 0
loc 1327
rs 0.8
c 0
b 0
f 0

78 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 2
B clear() 0 114 3
A getAnimation() 0 3 1
A getAnimationLimit() 0 3 1
A getClassName() 0 3 1
A getColorIndex() 0 3 1
A getCursor() 0 3 1
A getData() 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 getId() 0 3 1
A getIndex() 0 3 1
A getKeys() 0 3 1
A getLegendIndex() 0 3 1
A getLinecap() 0 3 1
A getName() 0 3 1
A getOvershoot() 0 3 1
A getPoint() 0 3 1
A getPointDescriptionFormatter() 0 3 1
A getRounded() 0 3 1
A getSelected() 0 3 1
A getShowCheckbox() 0 3 1
A getShowInLegend() 0 3 1
A getSkipKeyboardNavigation() 0 3 1
A getStickyTracking() 0 3 1
A getThreshold() 0 3 1
A getTooltip() 0 3 1
A getType() 0 3 1
A getVisible() 0 3 1
A getWrap() 0 3 1
A getXAxis() 0 3 1
A getYAxis() 0 3 1
A getZIndex() 0 3 1
A jsonSerialize() 0 3 1
A newEvents() 0 4 1
A newPoint() 0 4 1
A setAnimation() 0 4 1
A setAnimationLimit() 0 4 1
A setClassName() 0 4 1
A setColorIndex() 0 4 1
B setCursor() 0 13 7
A setData() 0 4 1
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 setId() 0 4 1
A setIndex() 0 4 1
A setKeys() 0 4 1
A setLegendIndex() 0 4 1
A setLinecap() 0 9 3
A setName() 0 4 1
A setOvershoot() 0 4 1
A setPoint() 0 4 1
A setPointDescriptionFormatter() 0 4 1
A setRounded() 0 9 3
A setSelected() 0 4 1
A setShowCheckbox() 0 4 1
A setShowInLegend() 0 4 1
A setSkipKeyboardNavigation() 0 4 1
A setStickyTracking() 0 4 1
A setThreshold() 0 4 1
A setTooltip() 0 4 1
D setType() 0 24 18
A setVisible() 0 4 1
A setWrap() 0 4 1
A setXAxis() 0 4 1
A setYAxis() 0 4 1
A setZIndex() 0 4 1
B toArray() 0 120 3

How to fix   Complexity   

Complex Class

Complex classes like HighchartsSolidgauge 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 HighchartsSolidgauge, 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\Series;
13
14
use JsonSerializable;
15
use WBW\Library\Core\Utility\Argument\ArrayUtility;
16
17
/**
18
 * Highcharts solidgauge.
19
 *
20
 * @author webeweb <https://github.com/webeweb/>
21
 * @package WBW\Bundle\HighchartsBundle\API\Chart\Series
22
 * @version 5.0.14
23
 * @final
24
 */
25
final class HighchartsSolidgauge implements JsonSerializable {
26
27
    /**
28
     * Animation.
29
     *
30
     * @var boolean
31
     */
32
    private $animation = true;
33
34
    /**
35
     * Animation limit.
36
     *
37
     * @var integer
38
     */
39
    private $animationLimit;
40
41
    /**
42
     * Class name.
43
     *
44
     * @var string
45
     * @since 5.0.0
46
     */
47
    private $className;
48
49
    /**
50
     * Color index.
51
     *
52
     * @var integer
53
     * @since 5.0.0
54
     */
55
    private $colorIndex;
56
57
    /**
58
     * Cursor.
59
     *
60
     * @var string
61
     */
62
    private $cursor;
63
64
    /**
65
     * Data.
66
     *
67
     * @var array
68
     */
69
    private $data;
70
71
    /**
72
     * Data labels.
73
     *
74
     * @var array
75
     * @since 2.3.0
76
     */
77
    private $dataLabels;
78
79
    /**
80
     * Description.
81
     *
82
     * @var string
83
     * @since 5.0.0
84
     */
85
    private $description;
86
87
    /**
88
     * Enable mouse tracking.
89
     *
90
     * @var boolean
91
     */
92
    private $enableMouseTracking = true;
93
94
    /**
95
     * Events.
96
     *
97
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\Series\Solidgauge\HighchartsEvents
98
     */
99
    private $events;
100
101
    /**
102
     * Expose element to a11y.
103
     *
104
     * @var boolean
105
     * @since 5.0.12
106
     */
107
    private $exposeElementToA11y;
108
109
    /**
110
     * Find nearest point by.
111
     *
112
     * @var string
113
     * @since 5.0.10
114
     */
115
    private $findNearestPointBy;
116
117
    /**
118
     * Get extremes from all.
119
     *
120
     * @var boolean
121
     * @since 4.1.6
122
     */
123
    private $getExtremesFromAll = false;
124
125
    /**
126
     * Id.
127
     *
128
     * @var string
129
     * @since 1.2.0
130
     */
131
    private $id;
132
133
    /**
134
     * Index.
135
     *
136
     * @var integer
137
     * @since 2.3.0
138
     */
139
    private $index;
140
141
    /**
142
     * Keys.
143
     *
144
     * @var array
145
     * @since 4.1.6
146
     */
147
    private $keys;
148
149
    /**
150
     * Legend index.
151
     *
152
     * @var integer
153
     */
154
    private $legendIndex;
155
156
    /**
157
     * Linecap.
158
     *
159
     * @var string
160
     * @since 4.2.2
161
     */
162
    private $linecap = "round";
163
164
    /**
165
     * Name.
166
     *
167
     * @var string
168
     */
169
    private $name;
170
171
    /**
172
     * Overshoot.
173
     *
174
     * @var integer
175
     * @since 3.0.10
176
     */
177
    private $overshoot = 0;
178
179
    /**
180
     * Point.
181
     *
182
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\Series\Solidgauge\HighchartsPoint
183
     */
184
    private $point;
185
186
    /**
187
     * Point description formatter.
188
     *
189
     * @var string
190
     * @since 5.0.12
191
     */
192
    private $pointDescriptionFormatter;
193
194
    /**
195
     * Rounded.
196
     *
197
     * @var boolean
198
     * @since 5.0.11
199
     */
200
    private $rounded = false;
201
202
    /**
203
     * Selected.
204
     *
205
     * @var boolean
206
     * @since 1.2.0
207
     */
208
    private $selected = false;
209
210
    /**
211
     * Show checkbox.
212
     *
213
     * @var boolean
214
     * @since 1.2.0
215
     */
216
    private $showCheckbox = false;
217
218
    /**
219
     * Show in legend.
220
     *
221
     * @var boolean
222
     * @since 2.3.0
223
     */
224
    private $showInLegend;
225
226
    /**
227
     * Skip keyboard navigation.
228
     *
229
     * @var boolean
230
     * @since 5.0.12
231
     */
232
    private $skipKeyboardNavigation;
233
234
    /**
235
     * Sticky tracking.
236
     *
237
     * @var boolean
238
     * @since 2.0
239
     */
240
    private $stickyTracking = true;
241
242
    /**
243
     * Threshold.
244
     *
245
     * @var integer
246
     * @since 5.0.3
247
     */
248
    private $threshold;
249
250
    /**
251
     * Tooltip.
252
     *
253
     * @var array
254
     * @since 2.3
255
     */
256
    private $tooltip;
257
258
    /**
259
     * Type.
260
     *
261
     * @var string
262
     */
263
    private $type;
264
265
    /**
266
     * Visible.
267
     *
268
     * @var boolean
269
     */
270
    private $visible = true;
271
272
    /**
273
     * Wrap.
274
     *
275
     * @var boolean
276
     * @since 3.0
277
     */
278
    private $wrap = true;
279
280
    /**
281
     * X axis.
282
     *
283
     * @var integer|string
284
     */
285
    private $xAxis = "0";
286
287
    /**
288
     * Y axis.
289
     *
290
     * @var integer|string
291
     */
292
    private $yAxis = "0";
293
294
    /**
295
     * Z index.
296
     *
297
     * @var integer
298
     */
299
    private $zIndex;
300
301
    /**
302
     * Constructor.
303
     *
304
     * @param boolean $ignoreDefaultValues Ignore the default values.
305
     */
306
    public function __construct($ignoreDefaultValues = true) {
307
        if (true === $ignoreDefaultValues) {
308
            $this->clear();
309
        }
310
    }
311
312
    /**
313
     * Clear.
314
     *
315
     * @return void
316
     */
317
    public function clear() {
318
319
        // Clear the animation.
320
        $this->animation = null;
321
322
        // Clear the animation limit.
323
        $this->animationLimit = null;
324
325
        // Clear the class name.
326
        $this->className = null;
327
328
        // Clear the color index.
329
        $this->colorIndex = null;
330
331
        // Clear the cursor.
332
        $this->cursor = null;
333
334
        // Clear the data.
335
        $this->data = 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 $data.

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...
336
337
        // Clear the data labels.
338
        $this->dataLabels = 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 $dataLabels.

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...
339
340
        // Clear the description.
341
        $this->description = null;
342
343
        // Clear the enable mouse tracking.
344
        $this->enableMouseTracking = null;
345
346
        // Clear the events.
347
        if (null !== $this->events) {
348
            $this->events->clear();
349
        }
350
351
        // Clear the expose element to a11y.
352
        $this->exposeElementToA11y = null;
353
354
        // Clear the find nearest point by.
355
        $this->findNearestPointBy = null;
356
357
        // Clear the get extremes from all.
358
        $this->getExtremesFromAll = null;
359
360
        // Clear the id.
361
        $this->id = null;
362
363
        // Clear the index.
364
        $this->index = null;
365
366
        // Clear the keys.
367
        $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...
368
369
        // Clear the legend index.
370
        $this->legendIndex = null;
371
372
        // Clear the linecap.
373
        $this->linecap = null;
374
375
        // Clear the name.
376
        $this->name = null;
377
378
        // Clear the overshoot.
379
        $this->overshoot = null;
380
381
        // Clear the point.
382
        if (null !== $this->point) {
383
            $this->point->clear();
384
        }
385
386
        // Clear the point description formatter.
387
        $this->pointDescriptionFormatter = null;
388
389
        // Clear the rounded.
390
        $this->rounded = null;
391
392
        // Clear the selected.
393
        $this->selected = null;
394
395
        // Clear the show checkbox.
396
        $this->showCheckbox = null;
397
398
        // Clear the show in legend.
399
        $this->showInLegend = null;
400
401
        // Clear the skip keyboard navigation.
402
        $this->skipKeyboardNavigation = null;
403
404
        // Clear the sticky tracking.
405
        $this->stickyTracking = null;
406
407
        // Clear the threshold.
408
        $this->threshold = null;
409
410
        // Clear the tooltip.
411
        $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...
412
413
        // Clear the type.
414
        $this->type = null;
415
416
        // Clear the visible.
417
        $this->visible = null;
418
419
        // Clear the wrap.
420
        $this->wrap = null;
421
422
        // Clear the x axis.
423
        $this->xAxis = null;
424
425
        // Clear the y axis.
426
        $this->yAxis = null;
427
428
        // Clear the z index.
429
        $this->zIndex = null;
430
    }
431
432
    /**
433
     * Get the animation.
434
     *
435
     * @return boolean Returns the animation.
436
     */
437
    public function getAnimation() {
438
        return $this->animation;
439
    }
440
441
    /**
442
     * Get the animation limit.
443
     *
444
     * @return integer Returns the animation limit.
445
     */
446
    public function getAnimationLimit() {
447
        return $this->animationLimit;
448
    }
449
450
    /**
451
     * Get the class name.
452
     *
453
     * @return string Returns the class name.
454
     */
455
    public function getClassName() {
456
        return $this->className;
457
    }
458
459
    /**
460
     * Get the color index.
461
     *
462
     * @return integer Returns the color index.
463
     */
464
    public function getColorIndex() {
465
        return $this->colorIndex;
466
    }
467
468
    /**
469
     * Get the cursor.
470
     *
471
     * @return string Returns the cursor.
472
     */
473
    public function getCursor() {
474
        return $this->cursor;
475
    }
476
477
    /**
478
     * Get the data.
479
     *
480
     * @return array Returns the data.
481
     */
482
    public function getData() {
483
        return $this->data;
484
    }
485
486
    /**
487
     * Get the data labels.
488
     *
489
     * @return array Returns the data labels.
490
     */
491
    public function getDataLabels() {
492
        return $this->dataLabels;
493
    }
494
495
    /**
496
     * Get the description.
497
     *
498
     * @return string Returns the description.
499
     */
500
    public function getDescription() {
501
        return $this->description;
502
    }
503
504
    /**
505
     * Get the enable mouse tracking.
506
     *
507
     * @return boolean Returns the enable mouse tracking.
508
     */
509
    public function getEnableMouseTracking() {
510
        return $this->enableMouseTracking;
511
    }
512
513
    /**
514
     * Get the events.
515
     *
516
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\Solidgauge\HighchartsEvents Returns the events.
517
     */
518
    public function getEvents() {
519
        return $this->events;
520
    }
521
522
    /**
523
     * Get the expose element to a11y.
524
     *
525
     * @return boolean Returns the expose element to a11y.
526
     */
527
    public function getExposeElementToA11y() {
528
        return $this->exposeElementToA11y;
529
    }
530
531
    /**
532
     * Get the find nearest point by.
533
     *
534
     * @return string Returns the find nearest point by.
535
     */
536
    public function getFindNearestPointBy() {
537
        return $this->findNearestPointBy;
538
    }
539
540
    /**
541
     * Get the get extremes from all.
542
     *
543
     * @return boolean Returns the get extremes from all.
544
     */
545
    public function getGetExtremesFromAll() {
546
        return $this->getExtremesFromAll;
547
    }
548
549
    /**
550
     * Get the id.
551
     *
552
     * @return string Returns the id.
553
     */
554
    public function getId() {
555
        return $this->id;
556
    }
557
558
    /**
559
     * Get the index.
560
     *
561
     * @return integer Returns the index.
562
     */
563
    public function getIndex() {
564
        return $this->index;
565
    }
566
567
    /**
568
     * Get the keys.
569
     *
570
     * @return array Returns the keys.
571
     */
572
    public function getKeys() {
573
        return $this->keys;
574
    }
575
576
    /**
577
     * Get the legend index.
578
     *
579
     * @return integer Returns the legend index.
580
     */
581
    public function getLegendIndex() {
582
        return $this->legendIndex;
583
    }
584
585
    /**
586
     * Get the linecap.
587
     *
588
     * @return string Returns the linecap.
589
     */
590
    public function getLinecap() {
591
        return $this->linecap;
592
    }
593
594
    /**
595
     * Get the name.
596
     *
597
     * @return string Returns the name.
598
     */
599
    public function getName() {
600
        return $this->name;
601
    }
602
603
    /**
604
     * Get the overshoot.
605
     *
606
     * @return integer Returns the overshoot.
607
     */
608
    public function getOvershoot() {
609
        return $this->overshoot;
610
    }
611
612
    /**
613
     * Get the point.
614
     *
615
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\Solidgauge\HighchartsPoint Returns the point.
616
     */
617
    public function getPoint() {
618
        return $this->point;
619
    }
620
621
    /**
622
     * Get the point description formatter.
623
     *
624
     * @return string Returns the point description formatter.
625
     */
626
    public function getPointDescriptionFormatter() {
627
        return $this->pointDescriptionFormatter;
628
    }
629
630
    /**
631
     * Get the rounded.
632
     *
633
     * @return boolean Returns the rounded.
634
     */
635
    public function getRounded() {
636
        return $this->rounded;
637
    }
638
639
    /**
640
     * Get the selected.
641
     *
642
     * @return boolean Returns the selected.
643
     */
644
    public function getSelected() {
645
        return $this->selected;
646
    }
647
648
    /**
649
     * Get the show checkbox.
650
     *
651
     * @return boolean Returns the show checkbox.
652
     */
653
    public function getShowCheckbox() {
654
        return $this->showCheckbox;
655
    }
656
657
    /**
658
     * Get the show in legend.
659
     *
660
     * @return boolean Returns the show in legend.
661
     */
662
    public function getShowInLegend() {
663
        return $this->showInLegend;
664
    }
665
666
    /**
667
     * Get the skip keyboard navigation.
668
     *
669
     * @return boolean Returns the skip keyboard navigation.
670
     */
671
    public function getSkipKeyboardNavigation() {
672
        return $this->skipKeyboardNavigation;
673
    }
674
675
    /**
676
     * Get the sticky tracking.
677
     *
678
     * @return boolean Returns the sticky tracking.
679
     */
680
    public function getStickyTracking() {
681
        return $this->stickyTracking;
682
    }
683
684
    /**
685
     * Get the threshold.
686
     *
687
     * @return integer Returns the threshold.
688
     */
689
    public function getThreshold() {
690
        return $this->threshold;
691
    }
692
693
    /**
694
     * Get the tooltip.
695
     *
696
     * @return array Returns the tooltip.
697
     */
698
    public function getTooltip() {
699
        return $this->tooltip;
700
    }
701
702
    /**
703
     * Get the type.
704
     *
705
     * @return string Returns the type.
706
     */
707
    public function getType() {
708
        return $this->type;
709
    }
710
711
    /**
712
     * Get the visible.
713
     *
714
     * @return boolean Returns the visible.
715
     */
716
    public function getVisible() {
717
        return $this->visible;
718
    }
719
720
    /**
721
     * Get the wrap.
722
     *
723
     * @return boolean Returns the wrap.
724
     */
725
    public function getWrap() {
726
        return $this->wrap;
727
    }
728
729
    /**
730
     * Get the x axis.
731
     *
732
     * @return integer|string Returns the x axis.
733
     */
734
    public function getXAxis() {
735
        return $this->xAxis;
736
    }
737
738
    /**
739
     * Get the y axis.
740
     *
741
     * @return integer|string Returns the y axis.
742
     */
743
    public function getYAxis() {
744
        return $this->yAxis;
745
    }
746
747
    /**
748
     * Get the z index.
749
     *
750
     * @return integer Returns the z index.
751
     */
752
    public function getZIndex() {
753
        return $this->zIndex;
754
    }
755
756
    /**
757
     * Serialize this instance.
758
     *
759
     * @return array Returns an array representing this instance.
760
     */
761
    public function jsonSerialize() {
762
        return $this->toArray();
763
    }
764
765
    /**
766
     * Create a new events.
767
     *
768
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\Solidgauge\HighchartsEvents Returns the events.
769
     */
770
    public function newEvents() {
771
        $this->events = new \WBW\Bundle\HighchartsBundle\API\Chart\Series\Solidgauge\HighchartsEvents();
772
        return $this->events;
773
    }
774
775
    /**
776
     * Create a new point.
777
     *
778
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\Solidgauge\HighchartsPoint Returns the point.
779
     */
780
    public function newPoint() {
781
        $this->point = new \WBW\Bundle\HighchartsBundle\API\Chart\Series\Solidgauge\HighchartsPoint();
782
        return $this->point;
783
    }
784
785
    /**
786
     * Set the animation.
787
     *
788
     * @param boolean $animation The animation.
789
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
790
     */
791
    public function setAnimation($animation) {
792
        $this->animation = $animation;
793
        return $this;
794
    }
795
796
    /**
797
     * Set the animation limit.
798
     *
799
     * @param integer $animationLimit The animation limit.
800
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
801
     */
802
    public function setAnimationLimit($animationLimit) {
803
        $this->animationLimit = $animationLimit;
804
        return $this;
805
    }
806
807
    /**
808
     * Set the class name.
809
     *
810
     * @param string $className The class name.
811
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
812
     */
813
    public function setClassName($className) {
814
        $this->className = $className;
815
        return $this;
816
    }
817
818
    /**
819
     * Set the color index.
820
     *
821
     * @param integer $colorIndex The color index.
822
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
823
     */
824
    public function setColorIndex($colorIndex) {
825
        $this->colorIndex = $colorIndex;
826
        return $this;
827
    }
828
829
    /**
830
     * Set the cursor.
831
     *
832
     * @param string $cursor The cursor.
833
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
834
     */
835
    public function setCursor($cursor) {
836
        switch ($cursor) {
837
            case null:
838
            case "crosshair":
839
            case "default":
840
            case "help":
841
            case "none":
842
            case "pointer":
843
            $this->cursor = $cursor;
844
            break;
845
        }
846
        return $this;
847
    }
848
849
    /**
850
     * Set the data.
851
     *
852
     * @param array $data The data.
853
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
854
     */
855
    public function setData(array $data = null) {
856
        $this->data = $data;
0 ignored issues
show
Documentation Bug introduced by
It seems like $data can be null. However, the property $data 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...
857
        return $this;
858
    }
859
860
    /**
861
     * Set the data labels.
862
     *
863
     * @param array $dataLabels The data labels.
864
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
865
     */
866
    public function setDataLabels(array $dataLabels = null) {
867
        $this->dataLabels = $dataLabels;
0 ignored issues
show
Documentation Bug introduced by
It seems like $dataLabels can be null. However, the property $dataLabels 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...
868
        return $this;
869
    }
870
871
    /**
872
     * Set the description.
873
     *
874
     * @param string $description The description.
875
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
876
     */
877
    public function setDescription($description) {
878
        $this->description = $description;
879
        return $this;
880
    }
881
882
    /**
883
     * Set the enable mouse tracking.
884
     *
885
     * @param boolean $enableMouseTracking The enable mouse tracking.
886
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
887
     */
888
    public function setEnableMouseTracking($enableMouseTracking) {
889
        $this->enableMouseTracking = $enableMouseTracking;
890
        return $this;
891
    }
892
893
    /**
894
     * Set the events.
895
     *
896
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\Series\Solidgauge\HighchartsEvents $events The events.
897
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
898
     */
899
    public function setEvents(\WBW\Bundle\HighchartsBundle\API\Chart\Series\Solidgauge\HighchartsEvents $events = null) {
900
        $this->events = $events;
901
        return $this;
902
    }
903
904
    /**
905
     * Set the expose element to a11y.
906
     *
907
     * @param boolean $exposeElementToA11y The expose element to a11y.
908
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
909
     */
910
    public function setExposeElementToA11y($exposeElementToA11y) {
911
        $this->exposeElementToA11y = $exposeElementToA11y;
912
        return $this;
913
    }
914
915
    /**
916
     * Set the find nearest point by.
917
     *
918
     * @param string $findNearestPointBy The find nearest point by.
919
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
920
     */
921
    public function setFindNearestPointBy($findNearestPointBy) {
922
        switch ($findNearestPointBy) {
923
            case "x":
924
            case "xy":
925
            $this->findNearestPointBy = $findNearestPointBy;
926
            break;
927
        }
928
        return $this;
929
    }
930
931
    /**
932
     * Set the get extremes from all.
933
     *
934
     * @param boolean $getExtremesFromAll The get extremes from all.
935
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
936
     */
937
    public function setGetExtremesFromAll($getExtremesFromAll) {
938
        $this->getExtremesFromAll = $getExtremesFromAll;
939
        return $this;
940
    }
941
942
    /**
943
     * Set the id.
944
     *
945
     * @param string $id The id.
946
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
947
     */
948
    public function setId($id) {
949
        $this->id = $id;
950
        return $this;
951
    }
952
953
    /**
954
     * Set the index.
955
     *
956
     * @param integer $index The index.
957
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
958
     */
959
    public function setIndex($index) {
960
        $this->index = $index;
961
        return $this;
962
    }
963
964
    /**
965
     * Set the keys.
966
     *
967
     * @param array $keys The keys.
968
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
969
     */
970
    public function setKeys(array $keys = null) {
971
        $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...
972
        return $this;
973
    }
974
975
    /**
976
     * Set the legend index.
977
     *
978
     * @param integer $legendIndex The legend index.
979
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
980
     */
981
    public function setLegendIndex($legendIndex) {
982
        $this->legendIndex = $legendIndex;
983
        return $this;
984
    }
985
986
    /**
987
     * Set the linecap.
988
     *
989
     * @param string $linecap The linecap.
990
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
991
     */
992
    public function setLinecap($linecap) {
993
        switch ($linecap) {
994
            case "round":
995
            case "square":
996
            $this->linecap = $linecap;
997
            break;
998
        }
999
        return $this;
1000
    }
1001
1002
    /**
1003
     * Set the name.
1004
     *
1005
     * @param string $name The name.
1006
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
1007
     */
1008
    public function setName($name) {
1009
        $this->name = $name;
1010
        return $this;
1011
    }
1012
1013
    /**
1014
     * Set the overshoot.
1015
     *
1016
     * @param integer $overshoot The overshoot.
1017
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
1018
     */
1019
    public function setOvershoot($overshoot) {
1020
        $this->overshoot = $overshoot;
1021
        return $this;
1022
    }
1023
1024
    /**
1025
     * Set the point.
1026
     *
1027
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\Series\Solidgauge\HighchartsPoint $point The point.
1028
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
1029
     */
1030
    public function setPoint(\WBW\Bundle\HighchartsBundle\API\Chart\Series\Solidgauge\HighchartsPoint $point = null) {
1031
        $this->point = $point;
1032
        return $this;
1033
    }
1034
1035
    /**
1036
     * Set the point description formatter.
1037
     *
1038
     * @param string $pointDescriptionFormatter The point description formatter.
1039
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
1040
     */
1041
    public function setPointDescriptionFormatter($pointDescriptionFormatter) {
1042
        $this->pointDescriptionFormatter = $pointDescriptionFormatter;
1043
        return $this;
1044
    }
1045
1046
    /**
1047
     * Set the rounded.
1048
     *
1049
     * @param boolean $rounded The rounded.
1050
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
1051
     */
1052
    public function setRounded($rounded) {
1053
        switch ($rounded) {
1054
            case false:
1055
            case true:
1056
            $this->rounded = $rounded;
1057
            break;
1058
        }
1059
        return $this;
1060
    }
1061
1062
    /**
1063
     * Set the selected.
1064
     *
1065
     * @param boolean $selected The selected.
1066
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
1067
     */
1068
    public function setSelected($selected) {
1069
        $this->selected = $selected;
1070
        return $this;
1071
    }
1072
1073
    /**
1074
     * Set the show checkbox.
1075
     *
1076
     * @param boolean $showCheckbox The show checkbox.
1077
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
1078
     */
1079
    public function setShowCheckbox($showCheckbox) {
1080
        $this->showCheckbox = $showCheckbox;
1081
        return $this;
1082
    }
1083
1084
    /**
1085
     * Set the show in legend.
1086
     *
1087
     * @param boolean $showInLegend The show in legend.
1088
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
1089
     */
1090
    public function setShowInLegend($showInLegend) {
1091
        $this->showInLegend = $showInLegend;
1092
        return $this;
1093
    }
1094
1095
    /**
1096
     * Set the skip keyboard navigation.
1097
     *
1098
     * @param boolean $skipKeyboardNavigation The skip keyboard navigation.
1099
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
1100
     */
1101
    public function setSkipKeyboardNavigation($skipKeyboardNavigation) {
1102
        $this->skipKeyboardNavigation = $skipKeyboardNavigation;
1103
        return $this;
1104
    }
1105
1106
    /**
1107
     * Set the sticky tracking.
1108
     *
1109
     * @param boolean $stickyTracking The sticky tracking.
1110
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
1111
     */
1112
    public function setStickyTracking($stickyTracking) {
1113
        $this->stickyTracking = $stickyTracking;
1114
        return $this;
1115
    }
1116
1117
    /**
1118
     * Set the threshold.
1119
     *
1120
     * @param integer $threshold The threshold.
1121
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
1122
     */
1123
    public function setThreshold($threshold) {
1124
        $this->threshold = $threshold;
1125
        return $this;
1126
    }
1127
1128
    /**
1129
     * Set the tooltip.
1130
     *
1131
     * @param array $tooltip The tooltip.
1132
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
1133
     */
1134
    public function setTooltip(array $tooltip = null) {
1135
        $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...
1136
        return $this;
1137
    }
1138
1139
    /**
1140
     * Set the type.
1141
     *
1142
     * @param string $type The type.
1143
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
1144
     */
1145
    public function setType($type) {
1146
        switch ($type) {
1147
            case null:
1148
            case "area":
1149
            case "arearange":
1150
            case "areaspline":
1151
            case "areasplinerange":
1152
            case "boxplot":
1153
            case "bubble":
1154
            case "column":
1155
            case "columnrange":
1156
            case "errorbar":
1157
            case "funnel":
1158
            case "gauge":
1159
            case "line":
1160
            case "pie":
1161
            case "scatter":
1162
            case "spline":
1163
            case "waterfall":
1164
            $this->type = $type;
1165
            break;
1166
        }
1167
        return $this;
1168
    }
1169
1170
    /**
1171
     * Set the visible.
1172
     *
1173
     * @param boolean $visible The visible.
1174
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
1175
     */
1176
    public function setVisible($visible) {
1177
        $this->visible = $visible;
1178
        return $this;
1179
    }
1180
1181
    /**
1182
     * Set the wrap.
1183
     *
1184
     * @param boolean $wrap The wrap.
1185
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
1186
     */
1187
    public function setWrap($wrap) {
1188
        $this->wrap = $wrap;
1189
        return $this;
1190
    }
1191
1192
    /**
1193
     * Set the x axis.
1194
     *
1195
     * @param integer|string $xAxis The x axis.
1196
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
1197
     */
1198
    public function setXAxis($xAxis) {
1199
        $this->xAxis = $xAxis;
1200
        return $this;
1201
    }
1202
1203
    /**
1204
     * Set the y axis.
1205
     *
1206
     * @param integer|string $yAxis The y axis.
1207
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
1208
     */
1209
    public function setYAxis($yAxis) {
1210
        $this->yAxis = $yAxis;
1211
        return $this;
1212
    }
1213
1214
    /**
1215
     * Set the z index.
1216
     *
1217
     * @param integer $zIndex The z index.
1218
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsSolidgauge Returns the highcharts solidgauge.
1219
     */
1220
    public function setZIndex($zIndex) {
1221
        $this->zIndex = $zIndex;
1222
        return $this;
1223
    }
1224
1225
    /**
1226
     * Convert into an array representing this instance.
1227
     *
1228
     * @return array Returns an array representing this instance.
1229
     */
1230
    public function toArray() {
1231
1232
        // Initialize the output.
1233
        $output = [];
1234
1235
        // Set the animation.
1236
        ArrayUtility::set($output, "animation", $this->animation, [null]);
1237
1238
        // Set the animation limit.
1239
        ArrayUtility::set($output, "animationLimit", $this->animationLimit, [null]);
1240
1241
        // Set the class name.
1242
        ArrayUtility::set($output, "className", $this->className, [null]);
1243
1244
        // Set the color index.
1245
        ArrayUtility::set($output, "colorIndex", $this->colorIndex, [null]);
1246
1247
        // Set the cursor.
1248
        ArrayUtility::set($output, "cursor", $this->cursor, [null]);
1249
1250
        // Set the data.
1251
        ArrayUtility::set($output, "data", $this->data, [null]);
1252
1253
        // Set the data labels.
1254
        ArrayUtility::set($output, "dataLabels", $this->dataLabels, [null]);
1255
1256
        // Set the description.
1257
        ArrayUtility::set($output, "description", $this->description, [null]);
1258
1259
        // Set the enable mouse tracking.
1260
        ArrayUtility::set($output, "enableMouseTracking", $this->enableMouseTracking, [null]);
1261
1262
        // Set the events.
1263
        if (null !== $this->events) {
1264
            ArrayUtility::set($output, "events", $this->events->toArray(), []);
1265
        }
1266
1267
        // Set the expose element to a11y.
1268
        ArrayUtility::set($output, "exposeElementToA11y", $this->exposeElementToA11y, [null]);
1269
1270
        // Set the find nearest point by.
1271
        ArrayUtility::set($output, "findNearestPointBy", $this->findNearestPointBy, [null]);
1272
1273
        // Set the get extremes from all.
1274
        ArrayUtility::set($output, "getExtremesFromAll", $this->getExtremesFromAll, [null]);
1275
1276
        // Set the id.
1277
        ArrayUtility::set($output, "id", $this->id, [null]);
1278
1279
        // Set the index.
1280
        ArrayUtility::set($output, "index", $this->index, [null]);
1281
1282
        // Set the keys.
1283
        ArrayUtility::set($output, "keys", $this->keys, [null]);
1284
1285
        // Set the legend index.
1286
        ArrayUtility::set($output, "legendIndex", $this->legendIndex, [null]);
1287
1288
        // Set the linecap.
1289
        ArrayUtility::set($output, "linecap", $this->linecap, [null]);
1290
1291
        // Set the name.
1292
        ArrayUtility::set($output, "name", $this->name, [null]);
1293
1294
        // Set the overshoot.
1295
        ArrayUtility::set($output, "overshoot", $this->overshoot, [null]);
1296
1297
        // Set the point.
1298
        if (null !== $this->point) {
1299
            ArrayUtility::set($output, "point", $this->point->toArray(), []);
1300
        }
1301
1302
        // Set the point description formatter.
1303
        ArrayUtility::set($output, "pointDescriptionFormatter", $this->pointDescriptionFormatter, [null]);
1304
1305
        // Set the rounded.
1306
        ArrayUtility::set($output, "rounded", $this->rounded, [null]);
1307
1308
        // Set the selected.
1309
        ArrayUtility::set($output, "selected", $this->selected, [null]);
1310
1311
        // Set the show checkbox.
1312
        ArrayUtility::set($output, "showCheckbox", $this->showCheckbox, [null]);
1313
1314
        // Set the show in legend.
1315
        ArrayUtility::set($output, "showInLegend", $this->showInLegend, [null]);
1316
1317
        // Set the skip keyboard navigation.
1318
        ArrayUtility::set($output, "skipKeyboardNavigation", $this->skipKeyboardNavigation, [null]);
1319
1320
        // Set the sticky tracking.
1321
        ArrayUtility::set($output, "stickyTracking", $this->stickyTracking, [null]);
1322
1323
        // Set the threshold.
1324
        ArrayUtility::set($output, "threshold", $this->threshold, [null]);
1325
1326
        // Set the tooltip.
1327
        ArrayUtility::set($output, "tooltip", $this->tooltip, [null]);
1328
1329
        // Set the type.
1330
        ArrayUtility::set($output, "type", $this->type, [null]);
1331
1332
        // Set the visible.
1333
        ArrayUtility::set($output, "visible", $this->visible, [null]);
1334
1335
        // Set the wrap.
1336
        ArrayUtility::set($output, "wrap", $this->wrap, [null]);
1337
1338
        // Set the x axis.
1339
        ArrayUtility::set($output, "xAxis", $this->xAxis, [null]);
1340
1341
        // Set the y axis.
1342
        ArrayUtility::set($output, "yAxis", $this->yAxis, [null]);
1343
1344
        // Set the z index.
1345
        ArrayUtility::set($output, "zIndex", $this->zIndex, [null]);
1346
1347
        // Return the output.
1348
        return $output;
1349
    }
1350
1351
}
1352