HighchartsSpline   F
last analyzed

Complexity

Total Complexity 141

Size/Duplication

Total Lines 1678
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 6

Importance

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

99 Methods

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