HighchartsScatter   F
last analyzed

Complexity

Total Complexity 158

Size/Duplication

Total Lines 1812
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 6

Importance

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

107 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 2
B clear() 0 159 6
A getAllowPointSelect() 0 3 1
A getAnimation() 0 3 1
A getAnimationLimit() 0 3 1
A getClassName() 0 3 1
A getColor() 0 3 1
A getColorIndex() 0 3 1
A getCropThreshold() 0 3 1
A getCursor() 0 3 1
A getDashStyle() 0 3 1
A 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 getLineWidth() 0 3 1
A getLinkedTo() 0 3 1
A getMarker() 0 3 1
A getName() 0 3 1
A getNegativeColor() 0 3 1
A getPoint() 0 3 1
A getPointDescriptionFormatter() 0 3 1
A getPointInterval() 0 3 1
A getPointIntervalUnit() 0 3 1
A getPointStart() 0 3 1
A getSelected() 0 3 1
A getShadow() 0 3 1
A getShowCheckbox() 0 3 1
A getShowInLegend() 0 3 1
A getSkipKeyboardNavigation() 0 3 1
A getSoftThreshold() 0 3 1
A getStates() 0 3 1
A getStickyTracking() 0 3 1
A getThreshold() 0 3 1
A getTooltip() 0 3 1
A getTurboThreshold() 0 3 1
A getType() 0 3 1
A getVisible() 0 3 1
A getXAxis() 0 3 1
A getYAxis() 0 3 1
A getZIndex() 0 3 1
A getZoneAxis() 0 3 1
A getZones() 0 3 1
A jsonSerialize() 0 3 1
A newDataLabels() 0 4 1
A newEvents() 0 4 1
A newMarker() 0 4 1
A newPoint() 0 4 1
A newStates() 0 4 1
A setAllowPointSelect() 0 4 1
A setAnimation() 0 4 1
A setAnimationLimit() 0 4 1
A setClassName() 0 4 1
A setColor() 0 4 1
A setColorIndex() 0 4 1
A setCropThreshold() 0 4 1
B setCursor() 0 13 7
C setDashStyle() 0 18 12
A 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 setLineWidth() 0 4 1
A setLinkedTo() 0 4 1
A setMarker() 0 4 1
A setName() 0 4 1
A setNegativeColor() 0 4 1
A setPoint() 0 4 1
A setPointDescriptionFormatter() 0 4 1
A setPointInterval() 0 4 1
A setPointIntervalUnit() 0 11 5
A setPointStart() 0 4 1
A setSelected() 0 4 1
A setShadow() 0 4 1
A setShowCheckbox() 0 4 1
A setShowInLegend() 0 4 1
A setSkipKeyboardNavigation() 0 4 1
A setSoftThreshold() 0 4 1
A setStates() 0 4 1
A setStickyTracking() 0 4 1
A setThreshold() 0 4 1
A setTooltip() 0 4 1
A setTurboThreshold() 0 4 1
D setType() 0 24 18
A setVisible() 0 4 1
A setXAxis() 0 4 1
A setYAxis() 0 4 1
A setZIndex() 0 4 1
A setZoneAxis() 0 4 1
A setZones() 0 4 1
B toArray() 0 165 6

How to fix   Complexity   

Complex Class

Complex classes like HighchartsScatter 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 HighchartsScatter, 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 scatter.
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 HighchartsScatter implements JsonSerializable {
26
27
    /**
28
     * Allow point select.
29
     *
30
     * @var boolean
31
     * @since 1.2.0
32
     */
33
    private $allowPointSelect = false;
34
35
    /**
36
     * Animation.
37
     *
38
     * @var boolean
39
     */
40
    private $animation = true;
41
42
    /**
43
     * Animation limit.
44
     *
45
     * @var integer
46
     */
47
    private $animationLimit;
48
49
    /**
50
     * Class name.
51
     *
52
     * @var string
53
     * @since 5.0.0
54
     */
55
    private $className;
56
57
    /**
58
     * Color.
59
     *
60
     * @var string
61
     */
62
    private $color;
63
64
    /**
65
     * Color index.
66
     *
67
     * @var integer
68
     * @since 5.0.0
69
     */
70
    private $colorIndex;
71
72
    /**
73
     * Crop threshold.
74
     *
75
     * @var integer
76
     * @since 2.2
77
     */
78
    private $cropThreshold = 300;
79
80
    /**
81
     * Cursor.
82
     *
83
     * @var string
84
     */
85
    private $cursor;
86
87
    /**
88
     * Dash style.
89
     *
90
     * @var string
91
     * @since 2.1
92
     */
93
    private $dashStyle = "Solid";
94
95
    /**
96
     * Data.
97
     *
98
     * @var array
99
     */
100
    private $data;
101
102
    /**
103
     * Data labels.
104
     *
105
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsDataLabels
106
     */
107
    private $dataLabels;
108
109
    /**
110
     * Description.
111
     *
112
     * @var string
113
     * @since 5.0.0
114
     */
115
    private $description;
116
117
    /**
118
     * Enable mouse tracking.
119
     *
120
     * @var boolean
121
     */
122
    private $enableMouseTracking = true;
123
124
    /**
125
     * Events.
126
     *
127
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsEvents
128
     */
129
    private $events;
130
131
    /**
132
     * Expose element to a11y.
133
     *
134
     * @var boolean
135
     * @since 5.0.12
136
     */
137
    private $exposeElementToA11y;
138
139
    /**
140
     * Find nearest point by.
141
     *
142
     * @var string
143
     * @since 5.0.10
144
     */
145
    private $findNearestPointBy;
146
147
    /**
148
     * Get extremes from all.
149
     *
150
     * @var boolean
151
     * @since 4.1.6
152
     */
153
    private $getExtremesFromAll = false;
154
155
    /**
156
     * Id.
157
     *
158
     * @var string
159
     * @since 1.2.0
160
     */
161
    private $id;
162
163
    /**
164
     * Index.
165
     *
166
     * @var integer
167
     * @since 2.3.0
168
     */
169
    private $index;
170
171
    /**
172
     * Keys.
173
     *
174
     * @var array
175
     * @since 4.1.6
176
     */
177
    private $keys;
178
179
    /**
180
     * Legend index.
181
     *
182
     * @var integer
183
     */
184
    private $legendIndex;
185
186
    /**
187
     * Line width.
188
     *
189
     * @var integer
190
     */
191
    private $lineWidth = 0;
192
193
    /**
194
     * Linked to.
195
     *
196
     * @var string
197
     * @since 3.0
198
     */
199
    private $linkedTo;
200
201
    /**
202
     * Marker.
203
     *
204
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsMarker
205
     */
206
    private $marker;
207
208
    /**
209
     * Name.
210
     *
211
     * @var string
212
     */
213
    private $name;
214
215
    /**
216
     * Negative color.
217
     *
218
     * @var string
219
     * @since 3.0
220
     */
221
    private $negativeColor;
222
223
    /**
224
     * Point.
225
     *
226
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsPoint
227
     */
228
    private $point;
229
230
    /**
231
     * Point description formatter.
232
     *
233
     * @var string
234
     * @since 5.0.12
235
     */
236
    private $pointDescriptionFormatter;
237
238
    /**
239
     * Point interval.
240
     *
241
     * @var integer
242
     */
243
    private $pointInterval = 1;
244
245
    /**
246
     * Point interval unit.
247
     *
248
     * @var string
249
     * @since 4.1.0
250
     */
251
    private $pointIntervalUnit;
252
253
    /**
254
     * Point start.
255
     *
256
     * @var integer
257
     */
258
    private $pointStart = 0;
259
260
    /**
261
     * Selected.
262
     *
263
     * @var boolean
264
     * @since 1.2.0
265
     */
266
    private $selected = false;
267
268
    /**
269
     * Shadow.
270
     *
271
     * @var boolean|array
272
     */
273
    private $shadow = false;
274
275
    /**
276
     * Show checkbox.
277
     *
278
     * @var boolean
279
     * @since 1.2.0
280
     */
281
    private $showCheckbox = false;
282
283
    /**
284
     * Show in legend.
285
     *
286
     * @var boolean
287
     */
288
    private $showInLegend = true;
289
290
    /**
291
     * Skip keyboard navigation.
292
     *
293
     * @var boolean
294
     * @since 5.0.12
295
     */
296
    private $skipKeyboardNavigation;
297
298
    /**
299
     * Soft threshold.
300
     *
301
     * @var boolean
302
     * @since 4.1.9
303
     */
304
    private $softThreshold = true;
305
306
    /**
307
     * States.
308
     *
309
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsStates
310
     */
311
    private $states;
312
313
    /**
314
     * Sticky tracking.
315
     *
316
     * @var boolean
317
     */
318
    private $stickyTracking = false;
319
320
    /**
321
     * Threshold.
322
     *
323
     * @var integer
324
     * @since 3.0
325
     */
326
    private $threshold = 0;
327
328
    /**
329
     * Tooltip.
330
     *
331
     * @var array
332
     * @since 2.3
333
     */
334
    private $tooltip;
335
336
    /**
337
     * Turbo threshold.
338
     *
339
     * @var integer
340
     * @since 2.2
341
     */
342
    private $turboThreshold = 1000;
343
344
    /**
345
     * Type.
346
     *
347
     * @var string
348
     */
349
    private $type;
350
351
    /**
352
     * Visible.
353
     *
354
     * @var boolean
355
     */
356
    private $visible = true;
357
358
    /**
359
     * X axis.
360
     *
361
     * @var integer|string
362
     */
363
    private $xAxis = "0";
364
365
    /**
366
     * Y axis.
367
     *
368
     * @var integer|string
369
     */
370
    private $yAxis = "0";
371
372
    /**
373
     * Z index.
374
     *
375
     * @var integer
376
     */
377
    private $zIndex;
378
379
    /**
380
     * Zone axis.
381
     *
382
     * @var string
383
     * @since 4.1.0
384
     */
385
    private $zoneAxis = "y";
386
387
    /**
388
     * Zones.
389
     *
390
     * @var array
391
     * @since 4.1.0
392
     */
393
    private $zones;
394
395
    /**
396
     * Constructor.
397
     *
398
     * @param boolean $ignoreDefaultValues Ignore the default values.
399
     */
400
    public function __construct($ignoreDefaultValues = true) {
401
        if (true === $ignoreDefaultValues) {
402
            $this->clear();
403
        }
404
    }
405
406
    /**
407
     * Clear.
408
     *
409
     * @return void
410
     */
411
    public function clear() {
412
413
        // Clear the allow point select.
414
        $this->allowPointSelect = null;
415
416
        // Clear the animation.
417
        $this->animation = null;
418
419
        // Clear the animation limit.
420
        $this->animationLimit = null;
421
422
        // Clear the class name.
423
        $this->className = null;
424
425
        // Clear the color.
426
        $this->color = null;
427
428
        // Clear the color index.
429
        $this->colorIndex = null;
430
431
        // Clear the crop threshold.
432
        $this->cropThreshold = null;
433
434
        // Clear the cursor.
435
        $this->cursor = null;
436
437
        // Clear the dash style.
438
        $this->dashStyle = null;
439
440
        // Clear the data.
441
        $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...
442
443
        // Clear the data labels.
444
        if (null !== $this->dataLabels) {
445
            $this->dataLabels->clear();
446
        }
447
448
        // Clear the description.
449
        $this->description = null;
450
451
        // Clear the enable mouse tracking.
452
        $this->enableMouseTracking = null;
453
454
        // Clear the events.
455
        if (null !== $this->events) {
456
            $this->events->clear();
457
        }
458
459
        // Clear the expose element to a11y.
460
        $this->exposeElementToA11y = null;
461
462
        // Clear the find nearest point by.
463
        $this->findNearestPointBy = null;
464
465
        // Clear the get extremes from all.
466
        $this->getExtremesFromAll = null;
467
468
        // Clear the id.
469
        $this->id = null;
470
471
        // Clear the index.
472
        $this->index = null;
473
474
        // Clear the keys.
475
        $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...
476
477
        // Clear the legend index.
478
        $this->legendIndex = null;
479
480
        // Clear the line width.
481
        $this->lineWidth = null;
482
483
        // Clear the linked to.
484
        $this->linkedTo = null;
485
486
        // Clear the marker.
487
        if (null !== $this->marker) {
488
            $this->marker->clear();
489
        }
490
491
        // Clear the name.
492
        $this->name = null;
493
494
        // Clear the negative color.
495
        $this->negativeColor = null;
496
497
        // Clear the point.
498
        if (null !== $this->point) {
499
            $this->point->clear();
500
        }
501
502
        // Clear the point description formatter.
503
        $this->pointDescriptionFormatter = null;
504
505
        // Clear the point interval.
506
        $this->pointInterval = null;
507
508
        // Clear the point interval unit.
509
        $this->pointIntervalUnit = null;
510
511
        // Clear the point start.
512
        $this->pointStart = null;
513
514
        // Clear the selected.
515
        $this->selected = null;
516
517
        // Clear the shadow.
518
        $this->shadow = null;
519
520
        // Clear the show checkbox.
521
        $this->showCheckbox = null;
522
523
        // Clear the show in legend.
524
        $this->showInLegend = null;
525
526
        // Clear the skip keyboard navigation.
527
        $this->skipKeyboardNavigation = null;
528
529
        // Clear the soft threshold.
530
        $this->softThreshold = null;
531
532
        // Clear the states.
533
        if (null !== $this->states) {
534
            $this->states->clear();
535
        }
536
537
        // Clear the sticky tracking.
538
        $this->stickyTracking = null;
539
540
        // Clear the threshold.
541
        $this->threshold = null;
542
543
        // Clear the tooltip.
544
        $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...
545
546
        // Clear the turbo threshold.
547
        $this->turboThreshold = null;
548
549
        // Clear the type.
550
        $this->type = null;
551
552
        // Clear the visible.
553
        $this->visible = null;
554
555
        // Clear the x axis.
556
        $this->xAxis = null;
557
558
        // Clear the y axis.
559
        $this->yAxis = null;
560
561
        // Clear the z index.
562
        $this->zIndex = null;
563
564
        // Clear the zone axis.
565
        $this->zoneAxis = null;
566
567
        // Clear the zones.
568
        $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...
569
    }
570
571
    /**
572
     * Get the allow point select.
573
     *
574
     * @return boolean Returns the allow point select.
575
     */
576
    public function getAllowPointSelect() {
577
        return $this->allowPointSelect;
578
    }
579
580
    /**
581
     * Get the animation.
582
     *
583
     * @return boolean Returns the animation.
584
     */
585
    public function getAnimation() {
586
        return $this->animation;
587
    }
588
589
    /**
590
     * Get the animation limit.
591
     *
592
     * @return integer Returns the animation limit.
593
     */
594
    public function getAnimationLimit() {
595
        return $this->animationLimit;
596
    }
597
598
    /**
599
     * Get the class name.
600
     *
601
     * @return string Returns the class name.
602
     */
603
    public function getClassName() {
604
        return $this->className;
605
    }
606
607
    /**
608
     * Get the color.
609
     *
610
     * @return string Returns the color.
611
     */
612
    public function getColor() {
613
        return $this->color;
614
    }
615
616
    /**
617
     * Get the color index.
618
     *
619
     * @return integer Returns the color index.
620
     */
621
    public function getColorIndex() {
622
        return $this->colorIndex;
623
    }
624
625
    /**
626
     * Get the crop threshold.
627
     *
628
     * @return integer Returns the crop threshold.
629
     */
630
    public function getCropThreshold() {
631
        return $this->cropThreshold;
632
    }
633
634
    /**
635
     * Get the cursor.
636
     *
637
     * @return string Returns the cursor.
638
     */
639
    public function getCursor() {
640
        return $this->cursor;
641
    }
642
643
    /**
644
     * Get the dash style.
645
     *
646
     * @return string Returns the dash style.
647
     */
648
    public function getDashStyle() {
649
        return $this->dashStyle;
650
    }
651
652
    /**
653
     * Get the data.
654
     *
655
     * @return array Returns the data.
656
     */
657
    public function getData() {
658
        return $this->data;
659
    }
660
661
    /**
662
     * Get the data labels.
663
     *
664
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsDataLabels Returns the data labels.
665
     */
666
    public function getDataLabels() {
667
        return $this->dataLabels;
668
    }
669
670
    /**
671
     * Get the description.
672
     *
673
     * @return string Returns the description.
674
     */
675
    public function getDescription() {
676
        return $this->description;
677
    }
678
679
    /**
680
     * Get the enable mouse tracking.
681
     *
682
     * @return boolean Returns the enable mouse tracking.
683
     */
684
    public function getEnableMouseTracking() {
685
        return $this->enableMouseTracking;
686
    }
687
688
    /**
689
     * Get the events.
690
     *
691
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsEvents Returns the events.
692
     */
693
    public function getEvents() {
694
        return $this->events;
695
    }
696
697
    /**
698
     * Get the expose element to a11y.
699
     *
700
     * @return boolean Returns the expose element to a11y.
701
     */
702
    public function getExposeElementToA11y() {
703
        return $this->exposeElementToA11y;
704
    }
705
706
    /**
707
     * Get the find nearest point by.
708
     *
709
     * @return string Returns the find nearest point by.
710
     */
711
    public function getFindNearestPointBy() {
712
        return $this->findNearestPointBy;
713
    }
714
715
    /**
716
     * Get the get extremes from all.
717
     *
718
     * @return boolean Returns the get extremes from all.
719
     */
720
    public function getGetExtremesFromAll() {
721
        return $this->getExtremesFromAll;
722
    }
723
724
    /**
725
     * Get the id.
726
     *
727
     * @return string Returns the id.
728
     */
729
    public function getId() {
730
        return $this->id;
731
    }
732
733
    /**
734
     * Get the index.
735
     *
736
     * @return integer Returns the index.
737
     */
738
    public function getIndex() {
739
        return $this->index;
740
    }
741
742
    /**
743
     * Get the keys.
744
     *
745
     * @return array Returns the keys.
746
     */
747
    public function getKeys() {
748
        return $this->keys;
749
    }
750
751
    /**
752
     * Get the legend index.
753
     *
754
     * @return integer Returns the legend index.
755
     */
756
    public function getLegendIndex() {
757
        return $this->legendIndex;
758
    }
759
760
    /**
761
     * Get the line width.
762
     *
763
     * @return integer Returns the line width.
764
     */
765
    public function getLineWidth() {
766
        return $this->lineWidth;
767
    }
768
769
    /**
770
     * Get the linked to.
771
     *
772
     * @return string Returns the linked to.
773
     */
774
    public function getLinkedTo() {
775
        return $this->linkedTo;
776
    }
777
778
    /**
779
     * Get the marker.
780
     *
781
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsMarker Returns the marker.
782
     */
783
    public function getMarker() {
784
        return $this->marker;
785
    }
786
787
    /**
788
     * Get the name.
789
     *
790
     * @return string Returns the name.
791
     */
792
    public function getName() {
793
        return $this->name;
794
    }
795
796
    /**
797
     * Get the negative color.
798
     *
799
     * @return string Returns the negative color.
800
     */
801
    public function getNegativeColor() {
802
        return $this->negativeColor;
803
    }
804
805
    /**
806
     * Get the point.
807
     *
808
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsPoint Returns the point.
809
     */
810
    public function getPoint() {
811
        return $this->point;
812
    }
813
814
    /**
815
     * Get the point description formatter.
816
     *
817
     * @return string Returns the point description formatter.
818
     */
819
    public function getPointDescriptionFormatter() {
820
        return $this->pointDescriptionFormatter;
821
    }
822
823
    /**
824
     * Get the point interval.
825
     *
826
     * @return integer Returns the point interval.
827
     */
828
    public function getPointInterval() {
829
        return $this->pointInterval;
830
    }
831
832
    /**
833
     * Get the point interval unit.
834
     *
835
     * @return string Returns the point interval unit.
836
     */
837
    public function getPointIntervalUnit() {
838
        return $this->pointIntervalUnit;
839
    }
840
841
    /**
842
     * Get the point start.
843
     *
844
     * @return integer Returns the point start.
845
     */
846
    public function getPointStart() {
847
        return $this->pointStart;
848
    }
849
850
    /**
851
     * Get the selected.
852
     *
853
     * @return boolean Returns the selected.
854
     */
855
    public function getSelected() {
856
        return $this->selected;
857
    }
858
859
    /**
860
     * Get the shadow.
861
     *
862
     * @return boolean|array Returns the shadow.
863
     */
864
    public function getShadow() {
865
        return $this->shadow;
866
    }
867
868
    /**
869
     * Get the show checkbox.
870
     *
871
     * @return boolean Returns the show checkbox.
872
     */
873
    public function getShowCheckbox() {
874
        return $this->showCheckbox;
875
    }
876
877
    /**
878
     * Get the show in legend.
879
     *
880
     * @return boolean Returns the show in legend.
881
     */
882
    public function getShowInLegend() {
883
        return $this->showInLegend;
884
    }
885
886
    /**
887
     * Get the skip keyboard navigation.
888
     *
889
     * @return boolean Returns the skip keyboard navigation.
890
     */
891
    public function getSkipKeyboardNavigation() {
892
        return $this->skipKeyboardNavigation;
893
    }
894
895
    /**
896
     * Get the soft threshold.
897
     *
898
     * @return boolean Returns the soft threshold.
899
     */
900
    public function getSoftThreshold() {
901
        return $this->softThreshold;
902
    }
903
904
    /**
905
     * Get the states.
906
     *
907
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsStates Returns the states.
908
     */
909
    public function getStates() {
910
        return $this->states;
911
    }
912
913
    /**
914
     * Get the sticky tracking.
915
     *
916
     * @return boolean Returns the sticky tracking.
917
     */
918
    public function getStickyTracking() {
919
        return $this->stickyTracking;
920
    }
921
922
    /**
923
     * Get the threshold.
924
     *
925
     * @return integer Returns the threshold.
926
     */
927
    public function getThreshold() {
928
        return $this->threshold;
929
    }
930
931
    /**
932
     * Get the tooltip.
933
     *
934
     * @return array Returns the tooltip.
935
     */
936
    public function getTooltip() {
937
        return $this->tooltip;
938
    }
939
940
    /**
941
     * Get the turbo threshold.
942
     *
943
     * @return integer Returns the turbo threshold.
944
     */
945
    public function getTurboThreshold() {
946
        return $this->turboThreshold;
947
    }
948
949
    /**
950
     * Get the type.
951
     *
952
     * @return string Returns the type.
953
     */
954
    public function getType() {
955
        return $this->type;
956
    }
957
958
    /**
959
     * Get the visible.
960
     *
961
     * @return boolean Returns the visible.
962
     */
963
    public function getVisible() {
964
        return $this->visible;
965
    }
966
967
    /**
968
     * Get the x axis.
969
     *
970
     * @return integer|string Returns the x axis.
971
     */
972
    public function getXAxis() {
973
        return $this->xAxis;
974
    }
975
976
    /**
977
     * Get the y axis.
978
     *
979
     * @return integer|string Returns the y axis.
980
     */
981
    public function getYAxis() {
982
        return $this->yAxis;
983
    }
984
985
    /**
986
     * Get the z index.
987
     *
988
     * @return integer Returns the z index.
989
     */
990
    public function getZIndex() {
991
        return $this->zIndex;
992
    }
993
994
    /**
995
     * Get the zone axis.
996
     *
997
     * @return string Returns the zone axis.
998
     */
999
    public function getZoneAxis() {
1000
        return $this->zoneAxis;
1001
    }
1002
1003
    /**
1004
     * Get the zones.
1005
     *
1006
     * @return array Returns the zones.
1007
     */
1008
    public function getZones() {
1009
        return $this->zones;
1010
    }
1011
1012
    /**
1013
     * Serialize this instance.
1014
     *
1015
     * @return array Returns an array representing this instance.
1016
     */
1017
    public function jsonSerialize() {
1018
        return $this->toArray();
1019
    }
1020
1021
    /**
1022
     * Create a new data labels.
1023
     *
1024
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsDataLabels Returns the data labels.
1025
     */
1026
    public function newDataLabels() {
1027
        $this->dataLabels = new \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsDataLabels();
1028
        return $this->dataLabels;
1029
    }
1030
1031
    /**
1032
     * Create a new events.
1033
     *
1034
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsEvents Returns the events.
1035
     */
1036
    public function newEvents() {
1037
        $this->events = new \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsEvents();
1038
        return $this->events;
1039
    }
1040
1041
    /**
1042
     * Create a new marker.
1043
     *
1044
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsMarker Returns the marker.
1045
     */
1046
    public function newMarker() {
1047
        $this->marker = new \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsMarker();
1048
        return $this->marker;
1049
    }
1050
1051
    /**
1052
     * Create a new point.
1053
     *
1054
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsPoint Returns the point.
1055
     */
1056
    public function newPoint() {
1057
        $this->point = new \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsPoint();
1058
        return $this->point;
1059
    }
1060
1061
    /**
1062
     * Create a new states.
1063
     *
1064
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsStates Returns the states.
1065
     */
1066
    public function newStates() {
1067
        $this->states = new \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsStates();
1068
        return $this->states;
1069
    }
1070
1071
    /**
1072
     * Set the allow point select.
1073
     *
1074
     * @param boolean $allowPointSelect The allow point select.
1075
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1076
     */
1077
    public function setAllowPointSelect($allowPointSelect) {
1078
        $this->allowPointSelect = $allowPointSelect;
1079
        return $this;
1080
    }
1081
1082
    /**
1083
     * Set the animation.
1084
     *
1085
     * @param boolean $animation The animation.
1086
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1087
     */
1088
    public function setAnimation($animation) {
1089
        $this->animation = $animation;
1090
        return $this;
1091
    }
1092
1093
    /**
1094
     * Set the animation limit.
1095
     *
1096
     * @param integer $animationLimit The animation limit.
1097
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1098
     */
1099
    public function setAnimationLimit($animationLimit) {
1100
        $this->animationLimit = $animationLimit;
1101
        return $this;
1102
    }
1103
1104
    /**
1105
     * Set the class name.
1106
     *
1107
     * @param string $className The class name.
1108
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1109
     */
1110
    public function setClassName($className) {
1111
        $this->className = $className;
1112
        return $this;
1113
    }
1114
1115
    /**
1116
     * Set the color.
1117
     *
1118
     * @param string $color The color.
1119
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1120
     */
1121
    public function setColor($color) {
1122
        $this->color = $color;
1123
        return $this;
1124
    }
1125
1126
    /**
1127
     * Set the color index.
1128
     *
1129
     * @param integer $colorIndex The color index.
1130
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1131
     */
1132
    public function setColorIndex($colorIndex) {
1133
        $this->colorIndex = $colorIndex;
1134
        return $this;
1135
    }
1136
1137
    /**
1138
     * Set the crop threshold.
1139
     *
1140
     * @param integer $cropThreshold The crop threshold.
1141
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1142
     */
1143
    public function setCropThreshold($cropThreshold) {
1144
        $this->cropThreshold = $cropThreshold;
1145
        return $this;
1146
    }
1147
1148
    /**
1149
     * Set the cursor.
1150
     *
1151
     * @param string $cursor The cursor.
1152
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1153
     */
1154
    public function setCursor($cursor) {
1155
        switch ($cursor) {
1156
            case null:
1157
            case "crosshair":
1158
            case "default":
1159
            case "help":
1160
            case "none":
1161
            case "pointer":
1162
            $this->cursor = $cursor;
1163
            break;
1164
        }
1165
        return $this;
1166
    }
1167
1168
    /**
1169
     * Set the dash style.
1170
     *
1171
     * @param string $dashStyle The dash style.
1172
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1173
     */
1174
    public function setDashStyle($dashStyle) {
1175
        switch ($dashStyle) {
1176
            case "Dash":
1177
            case "DashDot":
1178
            case "Dot":
1179
            case "LongDash":
1180
            case "LongDashDot":
1181
            case "LongDashDotDot":
1182
            case "ShortDash":
1183
            case "ShortDashDot":
1184
            case "ShortDashDotDot":
1185
            case "ShortDot":
1186
            case "Solid":
1187
            $this->dashStyle = $dashStyle;
1188
            break;
1189
        }
1190
        return $this;
1191
    }
1192
1193
    /**
1194
     * Set the data.
1195
     *
1196
     * @param array $data The data.
1197
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1198
     */
1199
    public function setData(array $data = null) {
1200
        $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...
1201
        return $this;
1202
    }
1203
1204
    /**
1205
     * Set the data labels.
1206
     *
1207
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsDataLabels $dataLabels The data labels.
1208
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1209
     */
1210
    public function setDataLabels(\WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsDataLabels $dataLabels = null) {
1211
        $this->dataLabels = $dataLabels;
1212
        return $this;
1213
    }
1214
1215
    /**
1216
     * Set the description.
1217
     *
1218
     * @param string $description The description.
1219
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1220
     */
1221
    public function setDescription($description) {
1222
        $this->description = $description;
1223
        return $this;
1224
    }
1225
1226
    /**
1227
     * Set the enable mouse tracking.
1228
     *
1229
     * @param boolean $enableMouseTracking The enable mouse tracking.
1230
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1231
     */
1232
    public function setEnableMouseTracking($enableMouseTracking) {
1233
        $this->enableMouseTracking = $enableMouseTracking;
1234
        return $this;
1235
    }
1236
1237
    /**
1238
     * Set the events.
1239
     *
1240
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsEvents $events The events.
1241
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1242
     */
1243
    public function setEvents(\WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsEvents $events = null) {
1244
        $this->events = $events;
1245
        return $this;
1246
    }
1247
1248
    /**
1249
     * Set the expose element to a11y.
1250
     *
1251
     * @param boolean $exposeElementToA11y The expose element to a11y.
1252
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1253
     */
1254
    public function setExposeElementToA11y($exposeElementToA11y) {
1255
        $this->exposeElementToA11y = $exposeElementToA11y;
1256
        return $this;
1257
    }
1258
1259
    /**
1260
     * Set the find nearest point by.
1261
     *
1262
     * @param string $findNearestPointBy The find nearest point by.
1263
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1264
     */
1265
    public function setFindNearestPointBy($findNearestPointBy) {
1266
        switch ($findNearestPointBy) {
1267
            case "x":
1268
            case "xy":
1269
            $this->findNearestPointBy = $findNearestPointBy;
1270
            break;
1271
        }
1272
        return $this;
1273
    }
1274
1275
    /**
1276
     * Set the get extremes from all.
1277
     *
1278
     * @param boolean $getExtremesFromAll The get extremes from all.
1279
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1280
     */
1281
    public function setGetExtremesFromAll($getExtremesFromAll) {
1282
        $this->getExtremesFromAll = $getExtremesFromAll;
1283
        return $this;
1284
    }
1285
1286
    /**
1287
     * Set the id.
1288
     *
1289
     * @param string $id The id.
1290
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1291
     */
1292
    public function setId($id) {
1293
        $this->id = $id;
1294
        return $this;
1295
    }
1296
1297
    /**
1298
     * Set the index.
1299
     *
1300
     * @param integer $index The index.
1301
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1302
     */
1303
    public function setIndex($index) {
1304
        $this->index = $index;
1305
        return $this;
1306
    }
1307
1308
    /**
1309
     * Set the keys.
1310
     *
1311
     * @param array $keys The keys.
1312
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1313
     */
1314
    public function setKeys(array $keys = null) {
1315
        $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...
1316
        return $this;
1317
    }
1318
1319
    /**
1320
     * Set the legend index.
1321
     *
1322
     * @param integer $legendIndex The legend index.
1323
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1324
     */
1325
    public function setLegendIndex($legendIndex) {
1326
        $this->legendIndex = $legendIndex;
1327
        return $this;
1328
    }
1329
1330
    /**
1331
     * Set the line width.
1332
     *
1333
     * @param integer $lineWidth The line width.
1334
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1335
     */
1336
    public function setLineWidth($lineWidth) {
1337
        $this->lineWidth = $lineWidth;
1338
        return $this;
1339
    }
1340
1341
    /**
1342
     * Set the linked to.
1343
     *
1344
     * @param string $linkedTo The linked to.
1345
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1346
     */
1347
    public function setLinkedTo($linkedTo) {
1348
        $this->linkedTo = $linkedTo;
1349
        return $this;
1350
    }
1351
1352
    /**
1353
     * Set the marker.
1354
     *
1355
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsMarker $marker The marker.
1356
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1357
     */
1358
    public function setMarker(\WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsMarker $marker = null) {
1359
        $this->marker = $marker;
1360
        return $this;
1361
    }
1362
1363
    /**
1364
     * Set the name.
1365
     *
1366
     * @param string $name The name.
1367
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1368
     */
1369
    public function setName($name) {
1370
        $this->name = $name;
1371
        return $this;
1372
    }
1373
1374
    /**
1375
     * Set the negative color.
1376
     *
1377
     * @param string $negativeColor The negative color.
1378
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1379
     */
1380
    public function setNegativeColor($negativeColor) {
1381
        $this->negativeColor = $negativeColor;
1382
        return $this;
1383
    }
1384
1385
    /**
1386
     * Set the point.
1387
     *
1388
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsPoint $point The point.
1389
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1390
     */
1391
    public function setPoint(\WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsPoint $point = null) {
1392
        $this->point = $point;
1393
        return $this;
1394
    }
1395
1396
    /**
1397
     * Set the point description formatter.
1398
     *
1399
     * @param string $pointDescriptionFormatter The point description formatter.
1400
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1401
     */
1402
    public function setPointDescriptionFormatter($pointDescriptionFormatter) {
1403
        $this->pointDescriptionFormatter = $pointDescriptionFormatter;
1404
        return $this;
1405
    }
1406
1407
    /**
1408
     * Set the point interval.
1409
     *
1410
     * @param integer $pointInterval The point interval.
1411
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1412
     */
1413
    public function setPointInterval($pointInterval) {
1414
        $this->pointInterval = $pointInterval;
1415
        return $this;
1416
    }
1417
1418
    /**
1419
     * Set the point interval unit.
1420
     *
1421
     * @param string $pointIntervalUnit The point interval unit.
1422
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1423
     */
1424
    public function setPointIntervalUnit($pointIntervalUnit) {
1425
        switch ($pointIntervalUnit) {
1426
            case null:
1427
            case "day":
1428
            case "month":
1429
            case "year":
1430
            $this->pointIntervalUnit = $pointIntervalUnit;
1431
            break;
1432
        }
1433
        return $this;
1434
    }
1435
1436
    /**
1437
     * Set the point start.
1438
     *
1439
     * @param integer $pointStart The point start.
1440
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1441
     */
1442
    public function setPointStart($pointStart) {
1443
        $this->pointStart = $pointStart;
1444
        return $this;
1445
    }
1446
1447
    /**
1448
     * Set the selected.
1449
     *
1450
     * @param boolean $selected The selected.
1451
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1452
     */
1453
    public function setSelected($selected) {
1454
        $this->selected = $selected;
1455
        return $this;
1456
    }
1457
1458
    /**
1459
     * Set the shadow.
1460
     *
1461
     * @param boolean|array $shadow The shadow.
1462
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1463
     */
1464
    public function setShadow($shadow) {
1465
        $this->shadow = $shadow;
1466
        return $this;
1467
    }
1468
1469
    /**
1470
     * Set the show checkbox.
1471
     *
1472
     * @param boolean $showCheckbox The show checkbox.
1473
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1474
     */
1475
    public function setShowCheckbox($showCheckbox) {
1476
        $this->showCheckbox = $showCheckbox;
1477
        return $this;
1478
    }
1479
1480
    /**
1481
     * Set the show in legend.
1482
     *
1483
     * @param boolean $showInLegend The show in legend.
1484
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1485
     */
1486
    public function setShowInLegend($showInLegend) {
1487
        $this->showInLegend = $showInLegend;
1488
        return $this;
1489
    }
1490
1491
    /**
1492
     * Set the skip keyboard navigation.
1493
     *
1494
     * @param boolean $skipKeyboardNavigation The skip keyboard navigation.
1495
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1496
     */
1497
    public function setSkipKeyboardNavigation($skipKeyboardNavigation) {
1498
        $this->skipKeyboardNavigation = $skipKeyboardNavigation;
1499
        return $this;
1500
    }
1501
1502
    /**
1503
     * Set the soft threshold.
1504
     *
1505
     * @param boolean $softThreshold The soft threshold.
1506
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1507
     */
1508
    public function setSoftThreshold($softThreshold) {
1509
        $this->softThreshold = $softThreshold;
1510
        return $this;
1511
    }
1512
1513
    /**
1514
     * Set the states.
1515
     *
1516
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsStates $states The states.
1517
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1518
     */
1519
    public function setStates(\WBW\Bundle\HighchartsBundle\API\Chart\Series\Scatter\HighchartsStates $states = null) {
1520
        $this->states = $states;
1521
        return $this;
1522
    }
1523
1524
    /**
1525
     * Set the sticky tracking.
1526
     *
1527
     * @param boolean $stickyTracking The sticky tracking.
1528
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1529
     */
1530
    public function setStickyTracking($stickyTracking) {
1531
        $this->stickyTracking = $stickyTracking;
1532
        return $this;
1533
    }
1534
1535
    /**
1536
     * Set the threshold.
1537
     *
1538
     * @param integer $threshold The threshold.
1539
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1540
     */
1541
    public function setThreshold($threshold) {
1542
        $this->threshold = $threshold;
1543
        return $this;
1544
    }
1545
1546
    /**
1547
     * Set the tooltip.
1548
     *
1549
     * @param array $tooltip The tooltip.
1550
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1551
     */
1552
    public function setTooltip(array $tooltip = null) {
1553
        $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...
1554
        return $this;
1555
    }
1556
1557
    /**
1558
     * Set the turbo threshold.
1559
     *
1560
     * @param integer $turboThreshold The turbo threshold.
1561
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1562
     */
1563
    public function setTurboThreshold($turboThreshold) {
1564
        $this->turboThreshold = $turboThreshold;
1565
        return $this;
1566
    }
1567
1568
    /**
1569
     * Set the type.
1570
     *
1571
     * @param string $type The type.
1572
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1573
     */
1574
    public function setType($type) {
1575
        switch ($type) {
1576
            case null:
1577
            case "area":
1578
            case "arearange":
1579
            case "areaspline":
1580
            case "areasplinerange":
1581
            case "boxplot":
1582
            case "bubble":
1583
            case "column":
1584
            case "columnrange":
1585
            case "errorbar":
1586
            case "funnel":
1587
            case "gauge":
1588
            case "line":
1589
            case "pie":
1590
            case "scatter":
1591
            case "spline":
1592
            case "waterfall":
1593
            $this->type = $type;
1594
            break;
1595
        }
1596
        return $this;
1597
    }
1598
1599
    /**
1600
     * Set the visible.
1601
     *
1602
     * @param boolean $visible The visible.
1603
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1604
     */
1605
    public function setVisible($visible) {
1606
        $this->visible = $visible;
1607
        return $this;
1608
    }
1609
1610
    /**
1611
     * Set the x axis.
1612
     *
1613
     * @param integer|string $xAxis The x axis.
1614
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1615
     */
1616
    public function setXAxis($xAxis) {
1617
        $this->xAxis = $xAxis;
1618
        return $this;
1619
    }
1620
1621
    /**
1622
     * Set the y axis.
1623
     *
1624
     * @param integer|string $yAxis The y axis.
1625
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1626
     */
1627
    public function setYAxis($yAxis) {
1628
        $this->yAxis = $yAxis;
1629
        return $this;
1630
    }
1631
1632
    /**
1633
     * Set the z index.
1634
     *
1635
     * @param integer $zIndex The z index.
1636
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1637
     */
1638
    public function setZIndex($zIndex) {
1639
        $this->zIndex = $zIndex;
1640
        return $this;
1641
    }
1642
1643
    /**
1644
     * Set the zone axis.
1645
     *
1646
     * @param string $zoneAxis The zone axis.
1647
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1648
     */
1649
    public function setZoneAxis($zoneAxis) {
1650
        $this->zoneAxis = $zoneAxis;
1651
        return $this;
1652
    }
1653
1654
    /**
1655
     * Set the zones.
1656
     *
1657
     * @param array $zones The zones.
1658
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\Series\HighchartsScatter Returns the highcharts scatter.
1659
     */
1660
    public function setZones(array $zones = null) {
1661
        $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...
1662
        return $this;
1663
    }
1664
1665
    /**
1666
     * Convert into an array representing this instance.
1667
     *
1668
     * @return array Returns an array representing this instance.
1669
     */
1670
    public function toArray() {
1671
1672
        // Initialize the output.
1673
        $output = [];
1674
1675
        // Set the allow point select.
1676
        ArrayUtility::set($output, "allowPointSelect", $this->allowPointSelect, [null]);
1677
1678
        // Set the animation.
1679
        ArrayUtility::set($output, "animation", $this->animation, [null]);
1680
1681
        // Set the animation limit.
1682
        ArrayUtility::set($output, "animationLimit", $this->animationLimit, [null]);
1683
1684
        // Set the class name.
1685
        ArrayUtility::set($output, "className", $this->className, [null]);
1686
1687
        // Set the color.
1688
        ArrayUtility::set($output, "color", $this->color, [null]);
1689
1690
        // Set the color index.
1691
        ArrayUtility::set($output, "colorIndex", $this->colorIndex, [null]);
1692
1693
        // Set the crop threshold.
1694
        ArrayUtility::set($output, "cropThreshold", $this->cropThreshold, [null]);
1695
1696
        // Set the cursor.
1697
        ArrayUtility::set($output, "cursor", $this->cursor, [null]);
1698
1699
        // Set the dash style.
1700
        ArrayUtility::set($output, "dashStyle", $this->dashStyle, [null]);
1701
1702
        // Set the data.
1703
        ArrayUtility::set($output, "data", $this->data, [null]);
1704
1705
        // Set the data labels.
1706
        if (null !== $this->dataLabels) {
1707
            ArrayUtility::set($output, "dataLabels", $this->dataLabels->toArray(), []);
1708
        }
1709
1710
        // Set the description.
1711
        ArrayUtility::set($output, "description", $this->description, [null]);
1712
1713
        // Set the enable mouse tracking.
1714
        ArrayUtility::set($output, "enableMouseTracking", $this->enableMouseTracking, [null]);
1715
1716
        // Set the events.
1717
        if (null !== $this->events) {
1718
            ArrayUtility::set($output, "events", $this->events->toArray(), []);
1719
        }
1720
1721
        // Set the expose element to a11y.
1722
        ArrayUtility::set($output, "exposeElementToA11y", $this->exposeElementToA11y, [null]);
1723
1724
        // Set the find nearest point by.
1725
        ArrayUtility::set($output, "findNearestPointBy", $this->findNearestPointBy, [null]);
1726
1727
        // Set the get extremes from all.
1728
        ArrayUtility::set($output, "getExtremesFromAll", $this->getExtremesFromAll, [null]);
1729
1730
        // Set the id.
1731
        ArrayUtility::set($output, "id", $this->id, [null]);
1732
1733
        // Set the index.
1734
        ArrayUtility::set($output, "index", $this->index, [null]);
1735
1736
        // Set the keys.
1737
        ArrayUtility::set($output, "keys", $this->keys, [null]);
1738
1739
        // Set the legend index.
1740
        ArrayUtility::set($output, "legendIndex", $this->legendIndex, [null]);
1741
1742
        // Set the line width.
1743
        ArrayUtility::set($output, "lineWidth", $this->lineWidth, [null]);
1744
1745
        // Set the linked to.
1746
        ArrayUtility::set($output, "linkedTo", $this->linkedTo, [null]);
1747
1748
        // Set the marker.
1749
        if (null !== $this->marker) {
1750
            ArrayUtility::set($output, "marker", $this->marker->toArray(), []);
1751
        }
1752
1753
        // Set the name.
1754
        ArrayUtility::set($output, "name", $this->name, [null]);
1755
1756
        // Set the negative color.
1757
        ArrayUtility::set($output, "negativeColor", $this->negativeColor, [null]);
1758
1759
        // Set the point.
1760
        if (null !== $this->point) {
1761
            ArrayUtility::set($output, "point", $this->point->toArray(), []);
1762
        }
1763
1764
        // Set the point description formatter.
1765
        ArrayUtility::set($output, "pointDescriptionFormatter", $this->pointDescriptionFormatter, [null]);
1766
1767
        // Set the point interval.
1768
        ArrayUtility::set($output, "pointInterval", $this->pointInterval, [null]);
1769
1770
        // Set the point interval unit.
1771
        ArrayUtility::set($output, "pointIntervalUnit", $this->pointIntervalUnit, [null]);
1772
1773
        // Set the point start.
1774
        ArrayUtility::set($output, "pointStart", $this->pointStart, [null]);
1775
1776
        // Set the selected.
1777
        ArrayUtility::set($output, "selected", $this->selected, [null]);
1778
1779
        // Set the shadow.
1780
        ArrayUtility::set($output, "shadow", $this->shadow, [null]);
1781
1782
        // Set the show checkbox.
1783
        ArrayUtility::set($output, "showCheckbox", $this->showCheckbox, [null]);
1784
1785
        // Set the show in legend.
1786
        ArrayUtility::set($output, "showInLegend", $this->showInLegend, [null]);
1787
1788
        // Set the skip keyboard navigation.
1789
        ArrayUtility::set($output, "skipKeyboardNavigation", $this->skipKeyboardNavigation, [null]);
1790
1791
        // Set the soft threshold.
1792
        ArrayUtility::set($output, "softThreshold", $this->softThreshold, [null]);
1793
1794
        // Set the states.
1795
        if (null !== $this->states) {
1796
            ArrayUtility::set($output, "states", $this->states->toArray(), []);
1797
        }
1798
1799
        // Set the sticky tracking.
1800
        ArrayUtility::set($output, "stickyTracking", $this->stickyTracking, [null]);
1801
1802
        // Set the threshold.
1803
        ArrayUtility::set($output, "threshold", $this->threshold, [null]);
1804
1805
        // Set the tooltip.
1806
        ArrayUtility::set($output, "tooltip", $this->tooltip, [null]);
1807
1808
        // Set the turbo threshold.
1809
        ArrayUtility::set($output, "turboThreshold", $this->turboThreshold, [null]);
1810
1811
        // Set the type.
1812
        ArrayUtility::set($output, "type", $this->type, [null]);
1813
1814
        // Set the visible.
1815
        ArrayUtility::set($output, "visible", $this->visible, [null]);
1816
1817
        // Set the x axis.
1818
        ArrayUtility::set($output, "xAxis", $this->xAxis, [null]);
1819
1820
        // Set the y axis.
1821
        ArrayUtility::set($output, "yAxis", $this->yAxis, [null]);
1822
1823
        // Set the z index.
1824
        ArrayUtility::set($output, "zIndex", $this->zIndex, [null]);
1825
1826
        // Set the zone axis.
1827
        ArrayUtility::set($output, "zoneAxis", $this->zoneAxis, [null]);
1828
1829
        // Set the zones.
1830
        ArrayUtility::set($output, "zones", $this->zones, [null]);
1831
1832
        // Return the output.
1833
        return $output;
1834
    }
1835
1836
}
1837