HighchartsSpline   F
last analyzed

Complexity

Total Complexity 178

Size/Duplication

Total Lines 2031
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 6

Importance

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

119 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 2
B clear() 0 177 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 getConnectEnds() 0 3 1
A getConnectNulls() 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 getLinecap() 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 getPointPlacement() 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 getStack() 0 3 1
A getStacking() 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 setConnectEnds() 0 4 1
A setConnectNulls() 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 setLinecap() 0 9 3
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 setPointPlacement() 0 10 4
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 setStack() 0 4 1
A setStacking() 0 10 4
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 183 6

How to fix   Complexity   

Complex Class

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