HighchartsPlotOptions   F
last analyzed

Complexity

Total Complexity 84

Size/Duplication

Total Lines 972
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 12

Importance

Changes 0
Metric Value
wmc 84
lcom 1
cbo 12
dl 0
loc 972
rs 1.6279
c 0
b 0
f 0

61 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 2
F clear() 0 93 12
A getArea() 0 3 1
A getArearange() 0 3 1
A getAreaspline() 0 3 1
A getAreasplinerange() 0 3 1
A getBar() 0 3 1
A getBoxplot() 0 3 1
A getBubble() 0 3 1
A getColumn() 0 3 1
A getColumnrange() 0 3 1
A getErrorbar() 0 3 1
A getFunnel() 0 3 1
A getGauge() 0 3 1
A getHeatmap() 0 3 1
A getLine() 0 3 1
A getPie() 0 3 1
A getPolygon() 0 3 1
A getPyramid() 0 3 1
A getScatter() 0 3 1
A getSeries() 0 3 1
A getSolidgauge() 0 3 1
A getSpline() 0 3 1
A getTreemap() 0 3 1
A getWaterfall() 0 3 1
A jsonSerialize() 0 3 1
A newArea() 0 4 1
A newArearange() 0 4 1
A newAreaspline() 0 4 1
A newAreasplinerange() 0 4 1
A newBar() 0 4 1
A newColumn() 0 4 1
A newLine() 0 4 1
A newPie() 0 4 1
A newScatter() 0 4 1
A newSeries() 0 4 1
A newSpline() 0 4 1
A setArea() 0 4 1
A setArearange() 0 4 1
A setAreaspline() 0 4 1
A setAreasplinerange() 0 4 1
A setBar() 0 4 1
A setBoxplot() 0 4 1
A setBubble() 0 4 1
A setColumn() 0 4 1
A setColumnrange() 0 4 1
A setErrorbar() 0 4 1
A setFunnel() 0 4 1
A setGauge() 0 4 1
A setHeatmap() 0 4 1
A setLine() 0 4 1
A setPie() 0 4 1
A setPolygon() 0 4 1
A setPyramid() 0 4 1
A setScatter() 0 4 1
A setSeries() 0 4 1
A setSolidgauge() 0 4 1
A setSpline() 0 4 1
A setTreemap() 0 4 1
A setWaterfall() 0 4 1
F toArray() 0 99 12

How to fix   Complexity   

Complex Class

Complex classes like HighchartsPlotOptions 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 HighchartsPlotOptions, 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;
13
14
use JsonSerializable;
15
use WBW\Library\Core\Utility\Argument\ArrayUtility;
16
17
/**
18
 * Highcharts plot options.
19
 *
20
 * @author webeweb <https://github.com/webeweb/>
21
 * @package WBW\Bundle\HighchartsBundle\API\Chart
22
 * @version 5.0.14
23
 * @final
24
 */
25
final class HighchartsPlotOptions implements JsonSerializable {
26
27
    /**
28
     * Area.
29
     *
30
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsArea
31
     */
32
    private $area;
33
34
    /**
35
     * Arearange.
36
     *
37
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsArearange
38
     * @since 2.3.0
39
     */
40
    private $arearange;
41
42
    /**
43
     * Areaspline.
44
     *
45
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsAreaspline
46
     */
47
    private $areaspline;
48
49
    /**
50
     * Areasplinerange.
51
     *
52
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsAreasplinerange
53
     * @since 2.3.0
54
     */
55
    private $areasplinerange;
56
57
    /**
58
     * Bar.
59
     *
60
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsBar
61
     */
62
    private $bar;
63
64
    /**
65
     * Boxplot.
66
     *
67
     * @var array
68
     * @since 3.0
69
     */
70
    private $boxplot;
71
72
    /**
73
     * Bubble.
74
     *
75
     * @var array
76
     * @since 3.0
77
     */
78
    private $bubble;
79
80
    /**
81
     * Column.
82
     *
83
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsColumn
84
     */
85
    private $column;
86
87
    /**
88
     * Columnrange.
89
     *
90
     * @var array
91
     * @since 2.3.0
92
     */
93
    private $columnrange;
94
95
    /**
96
     * Errorbar.
97
     *
98
     * @var array
99
     * @since 3.0
100
     */
101
    private $errorbar;
102
103
    /**
104
     * Funnel.
105
     *
106
     * @var array
107
     * @since 3.0
108
     */
109
    private $funnel;
110
111
    /**
112
     * Gauge.
113
     *
114
     * @var array
115
     * @since 2.3.0
116
     */
117
    private $gauge;
118
119
    /**
120
     * Heatmap.
121
     *
122
     * @var array
123
     * @since 4.0
124
     */
125
    private $heatmap;
126
127
    /**
128
     * Line.
129
     *
130
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsLine
131
     */
132
    private $line;
133
134
    /**
135
     * Pie.
136
     *
137
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPie
138
     */
139
    private $pie;
140
141
    /**
142
     * Polygon.
143
     *
144
     * @var array
145
     * @since 4.1.0
146
     */
147
    private $polygon;
148
149
    /**
150
     * Pyramid.
151
     *
152
     * @var array
153
     * @since 3.0.10
154
     */
155
    private $pyramid;
156
157
    /**
158
     * Scatter.
159
     *
160
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsScatter
161
     */
162
    private $scatter;
163
164
    /**
165
     * Series.
166
     *
167
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsSeries
168
     */
169
    private $series;
170
171
    /**
172
     * Solidgauge.
173
     *
174
     * @var array
175
     * @since 4.0
176
     */
177
    private $solidgauge;
178
179
    /**
180
     * Spline.
181
     *
182
     * @var \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsSpline
183
     */
184
    private $spline;
185
186
    /**
187
     * Treemap.
188
     *
189
     * @var array
190
     * @since 4.1.0
191
     */
192
    private $treemap;
193
194
    /**
195
     * Waterfall.
196
     *
197
     * @var array
198
     * @since 3.0
199
     */
200
    private $waterfall;
201
202
    /**
203
     * Constructor.
204
     *
205
     * @param boolean $ignoreDefaultValues Ignore the default values.
206
     */
207
    public function __construct($ignoreDefaultValues = true) {
208
        if (true === $ignoreDefaultValues) {
209
            $this->clear();
210
        }
211
    }
212
213
    /**
214
     * Clear.
215
     *
216
     * @return void
217
     */
218
    public function clear() {
219
220
        // Clear the area.
221
        if (null !== $this->area) {
222
            $this->area->clear();
223
        }
224
225
        // Clear the arearange.
226
        if (null !== $this->arearange) {
227
            $this->arearange->clear();
228
        }
229
230
        // Clear the areaspline.
231
        if (null !== $this->areaspline) {
232
            $this->areaspline->clear();
233
        }
234
235
        // Clear the areasplinerange.
236
        if (null !== $this->areasplinerange) {
237
            $this->areasplinerange->clear();
238
        }
239
240
        // Clear the bar.
241
        if (null !== $this->bar) {
242
            $this->bar->clear();
243
        }
244
245
        // Clear the boxplot.
246
        $this->boxplot = 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 $boxplot.

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...
247
248
        // Clear the bubble.
249
        $this->bubble = 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 $bubble.

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...
250
251
        // Clear the column.
252
        if (null !== $this->column) {
253
            $this->column->clear();
254
        }
255
256
        // Clear the columnrange.
257
        $this->columnrange = 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 $columnrange.

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...
258
259
        // Clear the errorbar.
260
        $this->errorbar = 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 $errorbar.

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...
261
262
        // Clear the funnel.
263
        $this->funnel = 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 $funnel.

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...
264
265
        // Clear the gauge.
266
        $this->gauge = 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 $gauge.

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...
267
268
        // Clear the heatmap.
269
        $this->heatmap = 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 $heatmap.

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...
270
271
        // Clear the line.
272
        if (null !== $this->line) {
273
            $this->line->clear();
274
        }
275
276
        // Clear the pie.
277
        if (null !== $this->pie) {
278
            $this->pie->clear();
279
        }
280
281
        // Clear the polygon.
282
        $this->polygon = 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 $polygon.

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...
283
284
        // Clear the pyramid.
285
        $this->pyramid = 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 $pyramid.

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...
286
287
        // Clear the scatter.
288
        if (null !== $this->scatter) {
289
            $this->scatter->clear();
290
        }
291
292
        // Clear the series.
293
        if (null !== $this->series) {
294
            $this->series->clear();
295
        }
296
297
        // Clear the solidgauge.
298
        $this->solidgauge = 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 $solidgauge.

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...
299
300
        // Clear the spline.
301
        if (null !== $this->spline) {
302
            $this->spline->clear();
303
        }
304
305
        // Clear the treemap.
306
        $this->treemap = 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 $treemap.

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...
307
308
        // Clear the waterfall.
309
        $this->waterfall = 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 $waterfall.

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...
310
    }
311
312
    /**
313
     * Get the area.
314
     *
315
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsArea Returns the area.
316
     */
317
    public function getArea() {
318
        return $this->area;
319
    }
320
321
    /**
322
     * Get the arearange.
323
     *
324
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsArearange Returns the arearange.
325
     */
326
    public function getArearange() {
327
        return $this->arearange;
328
    }
329
330
    /**
331
     * Get the areaspline.
332
     *
333
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsAreaspline Returns the areaspline.
334
     */
335
    public function getAreaspline() {
336
        return $this->areaspline;
337
    }
338
339
    /**
340
     * Get the areasplinerange.
341
     *
342
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsAreasplinerange Returns the areasplinerange.
343
     */
344
    public function getAreasplinerange() {
345
        return $this->areasplinerange;
346
    }
347
348
    /**
349
     * Get the bar.
350
     *
351
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsBar Returns the bar.
352
     */
353
    public function getBar() {
354
        return $this->bar;
355
    }
356
357
    /**
358
     * Get the boxplot.
359
     *
360
     * @return array Returns the boxplot.
361
     */
362
    public function getBoxplot() {
363
        return $this->boxplot;
364
    }
365
366
    /**
367
     * Get the bubble.
368
     *
369
     * @return array Returns the bubble.
370
     */
371
    public function getBubble() {
372
        return $this->bubble;
373
    }
374
375
    /**
376
     * Get the column.
377
     *
378
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsColumn Returns the column.
379
     */
380
    public function getColumn() {
381
        return $this->column;
382
    }
383
384
    /**
385
     * Get the columnrange.
386
     *
387
     * @return array Returns the columnrange.
388
     */
389
    public function getColumnrange() {
390
        return $this->columnrange;
391
    }
392
393
    /**
394
     * Get the errorbar.
395
     *
396
     * @return array Returns the errorbar.
397
     */
398
    public function getErrorbar() {
399
        return $this->errorbar;
400
    }
401
402
    /**
403
     * Get the funnel.
404
     *
405
     * @return array Returns the funnel.
406
     */
407
    public function getFunnel() {
408
        return $this->funnel;
409
    }
410
411
    /**
412
     * Get the gauge.
413
     *
414
     * @return array Returns the gauge.
415
     */
416
    public function getGauge() {
417
        return $this->gauge;
418
    }
419
420
    /**
421
     * Get the heatmap.
422
     *
423
     * @return array Returns the heatmap.
424
     */
425
    public function getHeatmap() {
426
        return $this->heatmap;
427
    }
428
429
    /**
430
     * Get the line.
431
     *
432
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsLine Returns the line.
433
     */
434
    public function getLine() {
435
        return $this->line;
436
    }
437
438
    /**
439
     * Get the pie.
440
     *
441
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPie Returns the pie.
442
     */
443
    public function getPie() {
444
        return $this->pie;
445
    }
446
447
    /**
448
     * Get the polygon.
449
     *
450
     * @return array Returns the polygon.
451
     */
452
    public function getPolygon() {
453
        return $this->polygon;
454
    }
455
456
    /**
457
     * Get the pyramid.
458
     *
459
     * @return array Returns the pyramid.
460
     */
461
    public function getPyramid() {
462
        return $this->pyramid;
463
    }
464
465
    /**
466
     * Get the scatter.
467
     *
468
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsScatter Returns the scatter.
469
     */
470
    public function getScatter() {
471
        return $this->scatter;
472
    }
473
474
    /**
475
     * Get the series.
476
     *
477
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsSeries Returns the series.
478
     */
479
    public function getSeries() {
480
        return $this->series;
481
    }
482
483
    /**
484
     * Get the solidgauge.
485
     *
486
     * @return array Returns the solidgauge.
487
     */
488
    public function getSolidgauge() {
489
        return $this->solidgauge;
490
    }
491
492
    /**
493
     * Get the spline.
494
     *
495
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsSpline Returns the spline.
496
     */
497
    public function getSpline() {
498
        return $this->spline;
499
    }
500
501
    /**
502
     * Get the treemap.
503
     *
504
     * @return array Returns the treemap.
505
     */
506
    public function getTreemap() {
507
        return $this->treemap;
508
    }
509
510
    /**
511
     * Get the waterfall.
512
     *
513
     * @return array Returns the waterfall.
514
     */
515
    public function getWaterfall() {
516
        return $this->waterfall;
517
    }
518
519
    /**
520
     * Serialize this instance.
521
     *
522
     * @return array Returns an array representing this instance.
523
     */
524
    public function jsonSerialize() {
525
        return $this->toArray();
526
    }
527
528
    /**
529
     * Create a new area.
530
     *
531
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsArea Returns the area.
532
     */
533
    public function newArea() {
534
        $this->area = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsArea();
535
        return $this->area;
536
    }
537
538
    /**
539
     * Create a new arearange.
540
     *
541
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsArearange Returns the arearange.
542
     */
543
    public function newArearange() {
544
        $this->arearange = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsArearange();
545
        return $this->arearange;
546
    }
547
548
    /**
549
     * Create a new areaspline.
550
     *
551
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsAreaspline Returns the areaspline.
552
     */
553
    public function newAreaspline() {
554
        $this->areaspline = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsAreaspline();
555
        return $this->areaspline;
556
    }
557
558
    /**
559
     * Create a new areasplinerange.
560
     *
561
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsAreasplinerange Returns the areasplinerange.
562
     */
563
    public function newAreasplinerange() {
564
        $this->areasplinerange = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsAreasplinerange();
565
        return $this->areasplinerange;
566
    }
567
568
    /**
569
     * Create a new bar.
570
     *
571
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsBar Returns the bar.
572
     */
573
    public function newBar() {
574
        $this->bar = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsBar();
575
        return $this->bar;
576
    }
577
578
    /**
579
     * Create a new column.
580
     *
581
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsColumn Returns the column.
582
     */
583
    public function newColumn() {
584
        $this->column = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsColumn();
585
        return $this->column;
586
    }
587
588
    /**
589
     * Create a new line.
590
     *
591
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsLine Returns the line.
592
     */
593
    public function newLine() {
594
        $this->line = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsLine();
595
        return $this->line;
596
    }
597
598
    /**
599
     * Create a new pie.
600
     *
601
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPie Returns the pie.
602
     */
603
    public function newPie() {
604
        $this->pie = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPie();
605
        return $this->pie;
606
    }
607
608
    /**
609
     * Create a new scatter.
610
     *
611
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsScatter Returns the scatter.
612
     */
613
    public function newScatter() {
614
        $this->scatter = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsScatter();
615
        return $this->scatter;
616
    }
617
618
    /**
619
     * Create a new series.
620
     *
621
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsSeries Returns the series.
622
     */
623
    public function newSeries() {
624
        $this->series = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsSeries();
625
        return $this->series;
626
    }
627
628
    /**
629
     * Create a new spline.
630
     *
631
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsSpline Returns the spline.
632
     */
633
    public function newSpline() {
634
        $this->spline = new \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsSpline();
635
        return $this->spline;
636
    }
637
638
    /**
639
     * Set the area.
640
     *
641
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsArea $area The area.
642
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
643
     */
644
    public function setArea(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsArea $area = null) {
645
        $this->area = $area;
646
        return $this;
647
    }
648
649
    /**
650
     * Set the arearange.
651
     *
652
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsArearange $arearange The arearange.
653
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
654
     */
655
    public function setArearange(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsArearange $arearange = null) {
656
        $this->arearange = $arearange;
657
        return $this;
658
    }
659
660
    /**
661
     * Set the areaspline.
662
     *
663
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsAreaspline $areaspline The areaspline.
664
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
665
     */
666
    public function setAreaspline(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsAreaspline $areaspline = null) {
667
        $this->areaspline = $areaspline;
668
        return $this;
669
    }
670
671
    /**
672
     * Set the areasplinerange.
673
     *
674
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsAreasplinerange $areasplinerange The areasplinerange.
675
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
676
     */
677
    public function setAreasplinerange(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsAreasplinerange $areasplinerange = null) {
678
        $this->areasplinerange = $areasplinerange;
679
        return $this;
680
    }
681
682
    /**
683
     * Set the bar.
684
     *
685
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsBar $bar The bar.
686
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
687
     */
688
    public function setBar(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsBar $bar = null) {
689
        $this->bar = $bar;
690
        return $this;
691
    }
692
693
    /**
694
     * Set the boxplot.
695
     *
696
     * @param array $boxplot The boxplot.
697
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
698
     */
699
    public function setBoxplot(array $boxplot = null) {
700
        $this->boxplot = $boxplot;
0 ignored issues
show
Documentation Bug introduced by
It seems like $boxplot can be null. However, the property $boxplot 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...
701
        return $this;
702
    }
703
704
    /**
705
     * Set the bubble.
706
     *
707
     * @param array $bubble The bubble.
708
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
709
     */
710
    public function setBubble(array $bubble = null) {
711
        $this->bubble = $bubble;
0 ignored issues
show
Documentation Bug introduced by
It seems like $bubble can be null. However, the property $bubble 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...
712
        return $this;
713
    }
714
715
    /**
716
     * Set the column.
717
     *
718
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsColumn $column The column.
719
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
720
     */
721
    public function setColumn(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsColumn $column = null) {
722
        $this->column = $column;
723
        return $this;
724
    }
725
726
    /**
727
     * Set the columnrange.
728
     *
729
     * @param array $columnrange The columnrange.
730
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
731
     */
732
    public function setColumnrange(array $columnrange = null) {
733
        $this->columnrange = $columnrange;
0 ignored issues
show
Documentation Bug introduced by
It seems like $columnrange can be null. However, the property $columnrange 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...
734
        return $this;
735
    }
736
737
    /**
738
     * Set the errorbar.
739
     *
740
     * @param array $errorbar The errorbar.
741
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
742
     */
743
    public function setErrorbar(array $errorbar = null) {
744
        $this->errorbar = $errorbar;
0 ignored issues
show
Documentation Bug introduced by
It seems like $errorbar can be null. However, the property $errorbar 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...
745
        return $this;
746
    }
747
748
    /**
749
     * Set the funnel.
750
     *
751
     * @param array $funnel The funnel.
752
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
753
     */
754
    public function setFunnel(array $funnel = null) {
755
        $this->funnel = $funnel;
0 ignored issues
show
Documentation Bug introduced by
It seems like $funnel can be null. However, the property $funnel 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...
756
        return $this;
757
    }
758
759
    /**
760
     * Set the gauge.
761
     *
762
     * @param array $gauge The gauge.
763
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
764
     */
765
    public function setGauge(array $gauge = null) {
766
        $this->gauge = $gauge;
0 ignored issues
show
Documentation Bug introduced by
It seems like $gauge can be null. However, the property $gauge 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...
767
        return $this;
768
    }
769
770
    /**
771
     * Set the heatmap.
772
     *
773
     * @param array $heatmap The heatmap.
774
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
775
     */
776
    public function setHeatmap(array $heatmap = null) {
777
        $this->heatmap = $heatmap;
0 ignored issues
show
Documentation Bug introduced by
It seems like $heatmap can be null. However, the property $heatmap 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...
778
        return $this;
779
    }
780
781
    /**
782
     * Set the line.
783
     *
784
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsLine $line The line.
785
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
786
     */
787
    public function setLine(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsLine $line = null) {
788
        $this->line = $line;
789
        return $this;
790
    }
791
792
    /**
793
     * Set the pie.
794
     *
795
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPie $pie The pie.
796
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
797
     */
798
    public function setPie(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsPie $pie = null) {
799
        $this->pie = $pie;
800
        return $this;
801
    }
802
803
    /**
804
     * Set the polygon.
805
     *
806
     * @param array $polygon The polygon.
807
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
808
     */
809
    public function setPolygon(array $polygon = null) {
810
        $this->polygon = $polygon;
0 ignored issues
show
Documentation Bug introduced by
It seems like $polygon can be null. However, the property $polygon 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...
811
        return $this;
812
    }
813
814
    /**
815
     * Set the pyramid.
816
     *
817
     * @param array $pyramid The pyramid.
818
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
819
     */
820
    public function setPyramid(array $pyramid = null) {
821
        $this->pyramid = $pyramid;
0 ignored issues
show
Documentation Bug introduced by
It seems like $pyramid can be null. However, the property $pyramid 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...
822
        return $this;
823
    }
824
825
    /**
826
     * Set the scatter.
827
     *
828
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsScatter $scatter The scatter.
829
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
830
     */
831
    public function setScatter(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsScatter $scatter = null) {
832
        $this->scatter = $scatter;
833
        return $this;
834
    }
835
836
    /**
837
     * Set the series.
838
     *
839
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsSeries $series The series.
840
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
841
     */
842
    public function setSeries(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsSeries $series = null) {
843
        $this->series = $series;
844
        return $this;
845
    }
846
847
    /**
848
     * Set the solidgauge.
849
     *
850
     * @param array $solidgauge The solidgauge.
851
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
852
     */
853
    public function setSolidgauge(array $solidgauge = null) {
854
        $this->solidgauge = $solidgauge;
0 ignored issues
show
Documentation Bug introduced by
It seems like $solidgauge can be null. However, the property $solidgauge 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...
855
        return $this;
856
    }
857
858
    /**
859
     * Set the spline.
860
     *
861
     * @param \WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsSpline $spline The spline.
862
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
863
     */
864
    public function setSpline(\WBW\Bundle\HighchartsBundle\API\Chart\PlotOptions\HighchartsSpline $spline = null) {
865
        $this->spline = $spline;
866
        return $this;
867
    }
868
869
    /**
870
     * Set the treemap.
871
     *
872
     * @param array $treemap The treemap.
873
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
874
     */
875
    public function setTreemap(array $treemap = null) {
876
        $this->treemap = $treemap;
0 ignored issues
show
Documentation Bug introduced by
It seems like $treemap can be null. However, the property $treemap 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...
877
        return $this;
878
    }
879
880
    /**
881
     * Set the waterfall.
882
     *
883
     * @param array $waterfall The waterfall.
884
     * @return \WBW\Bundle\HighchartsBundle\API\Chart\HighchartsPlotOptions Returns the highcharts plot options.
885
     */
886
    public function setWaterfall(array $waterfall = null) {
887
        $this->waterfall = $waterfall;
0 ignored issues
show
Documentation Bug introduced by
It seems like $waterfall can be null. However, the property $waterfall 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...
888
        return $this;
889
    }
890
891
    /**
892
     * Convert into an array representing this instance.
893
     *
894
     * @return array Returns an array representing this instance.
895
     */
896
    public function toArray() {
897
898
        // Initialize the output.
899
        $output = [];
900
901
        // Set the area.
902
        if (null !== $this->area) {
903
            ArrayUtility::set($output, "area", $this->area->toArray(), []);
904
        }
905
906
        // Set the arearange.
907
        if (null !== $this->arearange) {
908
            ArrayUtility::set($output, "arearange", $this->arearange->toArray(), []);
909
        }
910
911
        // Set the areaspline.
912
        if (null !== $this->areaspline) {
913
            ArrayUtility::set($output, "areaspline", $this->areaspline->toArray(), []);
914
        }
915
916
        // Set the areasplinerange.
917
        if (null !== $this->areasplinerange) {
918
            ArrayUtility::set($output, "areasplinerange", $this->areasplinerange->toArray(), []);
919
        }
920
921
        // Set the bar.
922
        if (null !== $this->bar) {
923
            ArrayUtility::set($output, "bar", $this->bar->toArray(), []);
924
        }
925
926
        // Set the boxplot.
927
        ArrayUtility::set($output, "boxplot", $this->boxplot, [null]);
928
929
        // Set the bubble.
930
        ArrayUtility::set($output, "bubble", $this->bubble, [null]);
931
932
        // Set the column.
933
        if (null !== $this->column) {
934
            ArrayUtility::set($output, "column", $this->column->toArray(), []);
935
        }
936
937
        // Set the columnrange.
938
        ArrayUtility::set($output, "columnrange", $this->columnrange, [null]);
939
940
        // Set the errorbar.
941
        ArrayUtility::set($output, "errorbar", $this->errorbar, [null]);
942
943
        // Set the funnel.
944
        ArrayUtility::set($output, "funnel", $this->funnel, [null]);
945
946
        // Set the gauge.
947
        ArrayUtility::set($output, "gauge", $this->gauge, [null]);
948
949
        // Set the heatmap.
950
        ArrayUtility::set($output, "heatmap", $this->heatmap, [null]);
951
952
        // Set the line.
953
        if (null !== $this->line) {
954
            ArrayUtility::set($output, "line", $this->line->toArray(), []);
955
        }
956
957
        // Set the pie.
958
        if (null !== $this->pie) {
959
            ArrayUtility::set($output, "pie", $this->pie->toArray(), []);
960
        }
961
962
        // Set the polygon.
963
        ArrayUtility::set($output, "polygon", $this->polygon, [null]);
964
965
        // Set the pyramid.
966
        ArrayUtility::set($output, "pyramid", $this->pyramid, [null]);
967
968
        // Set the scatter.
969
        if (null !== $this->scatter) {
970
            ArrayUtility::set($output, "scatter", $this->scatter->toArray(), []);
971
        }
972
973
        // Set the series.
974
        if (null !== $this->series) {
975
            ArrayUtility::set($output, "series", $this->series->toArray(), []);
976
        }
977
978
        // Set the solidgauge.
979
        ArrayUtility::set($output, "solidgauge", $this->solidgauge, [null]);
980
981
        // Set the spline.
982
        if (null !== $this->spline) {
983
            ArrayUtility::set($output, "spline", $this->spline->toArray(), []);
984
        }
985
986
        // Set the treemap.
987
        ArrayUtility::set($output, "treemap", $this->treemap, [null]);
988
989
        // Set the waterfall.
990
        ArrayUtility::set($output, "waterfall", $this->waterfall, [null]);
991
992
        // Return the output.
993
        return $output;
994
    }
995
996
}
997