Passed
Push — master ( c03365...9d1091 )
by Alex
07:25
created

TTwoChildrenExpressionType   F

Complexity

Total Complexity 180

Size/Duplication

Total Lines 2265
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 289
dl 0
loc 2265
rs 2
c 0
b 0
f 0
wmc 180

180 Methods

Rating   Name   Duplication   Size   Complexity  
A setBinary() 0 4 1
A issetGe() 0 3 1
A unsetCollection() 0 3 1
A unsetPropertyPath() 0 3 1
A setNot() 0 4 1
A issetTimeOfDay() 0 3 1
A setFloat() 0 4 1
A getGe() 0 3 1
A issetOr() 0 3 1
A unsetGuid() 0 3 1
A issetDuration() 0 3 1
A setPath() 0 4 1
A issetApply() 0 3 1
A unsetOr() 0 3 1
A addToString() 0 4 1
A setAnnotationPath() 0 4 1
A addToNavigationPropertyPath() 0 4 1
A getIf() 0 3 1
A issetEq() 0 3 1
A addToLt() 0 4 1
A addToGuid() 0 4 1
A getGuid() 0 3 1
A issetIf() 0 3 1
A addToGt() 0 4 1
A issetNull() 0 3 1
A setTimeOfDay() 0 4 1
A issetBool() 0 3 1
A getCollection() 0 3 1
A getLabeledElement() 0 3 1
A issetAnnotation() 0 3 1
A unsetInt() 0 3 1
A unsetString() 0 3 1
A addToBool() 0 4 1
A setCast() 0 4 1
A unsetTimeOfDay() 0 3 1
A issetDateTimeOffset() 0 3 1
A addToGe() 0 4 1
A unsetIsOf() 0 3 1
A unsetNe() 0 3 1
A setIsOf() 0 4 1
A issetNe() 0 3 1
A issetRecord() 0 3 1
A getNot() 0 3 1
A issetCollection() 0 3 1
A getAnnotationPath() 0 3 1
A addToEnumMember() 0 4 1
A getLt() 0 3 1
A unsetFloat() 0 3 1
A issetUrlRef() 0 3 1
A setDuration() 0 4 1
A setUrlRef() 0 4 1
A addToIsOf() 0 4 1
A setGt() 0 4 1
A issetAnnotationPath() 0 3 1
A addToApply() 0 4 1
A setNull() 0 4 1
A getDate() 0 3 1
A setCollection() 0 4 1
A setString() 0 4 1
A unsetAnnotation() 0 3 1
A issetGuid() 0 3 1
A setRecord() 0 4 1
A unsetAnnotationPath() 0 3 1
A issetLt() 0 3 1
A unsetNavigationPropertyPath() 0 3 1
A issetDecimal() 0 3 1
A issetLabeledElement() 0 3 1
A setPropertyPath() 0 4 1
A addToTimeOfDay() 0 4 1
A getLe() 0 3 1
A unsetRecord() 0 3 1
A getDecimal() 0 3 1
A getGt() 0 3 1
A addToEq() 0 4 1
A getEq() 0 3 1
A addToBinary() 0 4 1
A addToOr() 0 4 1
A unsetUrlRef() 0 3 1
A unsetLabeledElementReference() 0 3 1
A unsetBinary() 0 3 1
A setGe() 0 4 1
A unsetApply() 0 3 1
A setEq() 0 4 1
A issetBinary() 0 3 1
A getBinary() 0 3 1
A issetPropertyPath() 0 3 1
A issetCast() 0 3 1
A setDate() 0 4 1
A addToUrlRef() 0 4 1
A getFloat() 0 3 1
A getLabeledElementReference() 0 3 1
A setAnd() 0 4 1
A addToLabeledElementReference() 0 4 1
A getTimeOfDay() 0 3 1
A unsetEnumMember() 0 3 1
A addToCollection() 0 4 1
A unsetEq() 0 3 1
A addToAnnotation() 0 4 1
A issetLe() 0 3 1
A getNavigationPropertyPath() 0 3 1
A addToLabeledElement() 0 4 1
A setLabeledElementReference() 0 4 1
A setBool() 0 4 1
A getUrlRef() 0 3 1
A setAnnotation() 0 4 1
A unsetPath() 0 3 1
A issetEnumMember() 0 3 1
A getRecord() 0 3 1
A addToPath() 0 4 1
A setInt() 0 4 1
A unsetDuration() 0 3 1
A issetString() 0 3 1
A addToInt() 0 4 1
A addToDuration() 0 4 1
A addToAnd() 0 4 1
A unsetGt() 0 3 1
A issetInt() 0 3 1
A setLabeledElement() 0 4 1
A setIf() 0 4 1
A addToDateTimeOffset() 0 4 1
A addToNull() 0 4 1
A getAnnotation() 0 3 1
A issetLabeledElementReference() 0 3 1
A unsetLe() 0 3 1
A unsetGe() 0 3 1
A unsetDate() 0 3 1
A getOr() 0 3 1
A issetDate() 0 3 1
A unsetDateTimeOffset() 0 3 1
A unsetCast() 0 3 1
A unsetLabeledElement() 0 3 1
A issetFloat() 0 3 1
A setLt() 0 4 1
A setEnumMember() 0 4 1
A getPropertyPath() 0 3 1
A getNull() 0 3 1
A getBool() 0 3 1
A getCast() 0 3 1
A addToRecord() 0 4 1
A unsetIf() 0 3 1
A addToNot() 0 4 1
A unsetNot() 0 3 1
A addToDecimal() 0 4 1
A getString() 0 3 1
A addToFloat() 0 4 1
A setGuid() 0 4 1
A getApply() 0 3 1
A addToLe() 0 4 1
A issetGt() 0 3 1
A getNe() 0 3 1
A setNavigationPropertyPath() 0 4 1
A getIsOf() 0 3 1
A unsetBool() 0 3 1
A issetNavigationPropertyPath() 0 3 1
A getAnd() 0 3 1
A issetNot() 0 3 1
A addToNe() 0 4 1
A getDuration() 0 3 1
A addToAnnotationPath() 0 4 1
A setNe() 0 4 1
A getDateTimeOffset() 0 3 1
A unsetLt() 0 3 1
A setDecimal() 0 4 1
A addToCast() 0 4 1
A getInt() 0 3 1
A addToPropertyPath() 0 4 1
A setApply() 0 4 1
A issetPath() 0 3 1
A unsetNull() 0 3 1
A setDateTimeOffset() 0 4 1
A issetAnd() 0 3 1
A setOr() 0 4 1
A unsetDecimal() 0 3 1
A unsetAnd() 0 3 1
A addToDate() 0 4 1
A setLe() 0 4 1
A issetIsOf() 0 3 1
A getEnumMember() 0 3 1
A getPath() 0 3 1
A addToIf() 0 4 1

How to fix   Complexity   

Complex Class

Complex classes like TTwoChildrenExpressionType 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.

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 TTwoChildrenExpressionType, and based on these observations, apply Extract Interface, too.

1
<?php
2
3
namespace AlgoWeb\ODataMetadata\MetadataV4\edm;
4
5
/**
6
 * Class representing TTwoChildrenExpressionType
7
 *
8
 *
9
 * XSD Type: TTwoChildrenExpression
10
 */
11
class TTwoChildrenExpressionType
12
{
13
14
    /**
15
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\Annotation[] $annotation
16
     */
17
    private $annotation = array(
18
        
19
    );
20
21
    /**
22
     * @property string[] $binary
23
     */
24
    private $binary = array(
25
        
26
    );
27
28
    /**
29
     * @property boolean[] $bool
30
     */
31
    private $bool = array(
32
        
33
    );
34
35
    /**
36
     * @property \DateTime[] $date
37
     */
38
    private $date = array(
39
        
40
    );
41
42
    /**
43
     * @property \DateTime[] $dateTimeOffset
44
     */
45
    private $dateTimeOffset = array(
46
        
47
    );
48
49
    /**
50
     * @property float[] $decimal
51
     */
52
    private $decimal = array(
53
        
54
    );
55
56
    /**
57
     * @property \DateInterval[] $duration
58
     */
59
    private $duration = array(
60
        
61
    );
62
63
    /**
64
     * @property string[] $enumMember
65
     */
66
    private $enumMember = null;
67
68
    /**
69
     * @property float[] $float
70
     */
71
    private $float = array(
72
        
73
    );
74
75
    /**
76
     * @property string[] $guid
77
     */
78
    private $guid = array(
79
        
80
    );
81
82
    /**
83
     * @property integer[] $int
84
     */
85
    private $int = array(
86
        
87
    );
88
89
    /**
90
     * @property string[] $string
91
     */
92
    private $string = array(
93
        
94
    );
95
96
    /**
97
     * @property \DateTime[] $timeOfDay
98
     */
99
    private $timeOfDay = array(
100
        
101
    );
102
103
    /**
104
     * @property string[] $annotationPath
105
     */
106
    private $annotationPath = array(
107
        
108
    );
109
110
    /**
111
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\TApplyExpressionType[] $apply
112
     */
113
    private $apply = array(
114
        
115
    );
116
117
    /**
118
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\TCastOrIsOfExpressionType[] $cast
119
     */
120
    private $cast = array(
121
        
122
    );
123
124
    /**
125
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\TCollectionExpressionType[] $collection
126
     */
127
    private $collection = array(
128
        
129
    );
130
131
    /**
132
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\TIfExpressionType[] $if
133
     */
134
    private $if = array(
135
        
136
    );
137
138
    /**
139
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[] $eq
140
     */
141
    private $eq = array(
142
        
143
    );
144
145
    /**
146
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[] $ne
147
     */
148
    private $ne = array(
149
        
150
    );
151
152
    /**
153
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[] $ge
154
     */
155
    private $ge = array(
156
        
157
    );
158
159
    /**
160
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[] $gt
161
     */
162
    private $gt = array(
163
        
164
    );
165
166
    /**
167
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[] $le
168
     */
169
    private $le = array(
170
        
171
    );
172
173
    /**
174
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[] $lt
175
     */
176
    private $lt = array(
177
        
178
    );
179
180
    /**
181
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[] $and
182
     */
183
    private $and = array(
184
        
185
    );
186
187
    /**
188
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[] $or
189
     */
190
    private $or = array(
191
        
192
    );
193
194
    /**
195
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\TOneChildExpressionType[] $not
196
     */
197
    private $not = array(
198
        
199
    );
200
201
    /**
202
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\TCastOrIsOfExpressionType[] $isOf
203
     */
204
    private $isOf = array(
205
        
206
    );
207
208
    /**
209
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\TLabeledElementExpressionType[] $labeledElement
210
     */
211
    private $labeledElement = array(
212
        
213
    );
214
215
    /**
216
     * @property string[] $labeledElementReference
217
     */
218
    private $labeledElementReference = array(
219
        
220
    );
221
222
    /**
223
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\Annotation[] $null
224
     */
225
    private $null = null;
226
227
    /**
228
     * @property string[] $navigationPropertyPath
229
     */
230
    private $navigationPropertyPath = array(
231
        
232
    );
233
234
    /**
235
     * @property string[] $path
236
     */
237
    private $path = array(
238
        
239
    );
240
241
    /**
242
     * @property string[] $propertyPath
243
     */
244
    private $propertyPath = array(
245
        
246
    );
247
248
    /**
249
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\TRecordExpressionType[] $record
250
     */
251
    private $record = array(
252
        
253
    );
254
255
    /**
256
     * @property \AlgoWeb\ODataMetadata\MetadataV4\edm\TOneChildExpressionType[] $urlRef
257
     */
258
    private $urlRef = array(
259
        
260
    );
261
262
    /**
263
     * Adds as annotation
264
     *
265
     * @return self
266
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\Annotation $annotation
267
     */
268
    public function addToAnnotation(Annotation $annotation)
269
    {
270
        $this->annotation[] = $annotation;
271
        return $this;
272
    }
273
274
    /**
275
     * isset annotation
276
     *
277
     * @param scalar $index
278
     * @return boolean
279
     */
280
    public function issetAnnotation($index)
281
    {
282
        return isset($this->annotation[$index]);
283
    }
284
285
    /**
286
     * unset annotation
287
     *
288
     * @param scalar $index
289
     * @return void
290
     */
291
    public function unsetAnnotation($index)
292
    {
293
        unset($this->annotation[$index]);
294
    }
295
296
    /**
297
     * Gets as annotation
298
     *
299
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\Annotation[]
300
     */
301
    public function getAnnotation()
302
    {
303
        return $this->annotation;
304
    }
305
306
    /**
307
     * Sets a new annotation
308
     *
309
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\Annotation[] $annotation
310
     * @return self
311
     */
312
    public function setAnnotation(array $annotation)
313
    {
314
        $this->annotation = $annotation;
315
        return $this;
316
    }
317
318
    /**
319
     * Adds as binary
320
     *
321
     * @return self
322
     * @param string $binary
323
     */
324
    public function addToBinary($binary)
325
    {
326
        $this->binary[] = $binary;
327
        return $this;
328
    }
329
330
    /**
331
     * isset binary
332
     *
333
     * @param scalar $index
334
     * @return boolean
335
     */
336
    public function issetBinary($index)
337
    {
338
        return isset($this->binary[$index]);
339
    }
340
341
    /**
342
     * unset binary
343
     *
344
     * @param scalar $index
345
     * @return void
346
     */
347
    public function unsetBinary($index)
348
    {
349
        unset($this->binary[$index]);
350
    }
351
352
    /**
353
     * Gets as binary
354
     *
355
     * @return string[]
356
     */
357
    public function getBinary()
358
    {
359
        return $this->binary;
360
    }
361
362
    /**
363
     * Sets a new binary
364
     *
365
     * @param string $binary
366
     * @return self
367
     */
368
    public function setBinary(array $binary)
369
    {
370
        $this->binary = $binary;
371
        return $this;
372
    }
373
374
    /**
375
     * Adds as bool
376
     *
377
     * @return self
378
     * @param boolean $bool
379
     */
380
    public function addToBool($bool)
381
    {
382
        $this->bool[] = $bool;
383
        return $this;
384
    }
385
386
    /**
387
     * isset bool
388
     *
389
     * @param scalar $index
390
     * @return boolean
391
     */
392
    public function issetBool($index)
393
    {
394
        return isset($this->bool[$index]);
395
    }
396
397
    /**
398
     * unset bool
399
     *
400
     * @param scalar $index
401
     * @return void
402
     */
403
    public function unsetBool($index)
404
    {
405
        unset($this->bool[$index]);
406
    }
407
408
    /**
409
     * Gets as bool
410
     *
411
     * @return boolean[]
412
     */
413
    public function getBool()
414
    {
415
        return $this->bool;
416
    }
417
418
    /**
419
     * Sets a new bool
420
     *
421
     * @param boolean $bool
422
     * @return self
423
     */
424
    public function setBool(array $bool)
425
    {
426
        $this->bool = $bool;
427
        return $this;
428
    }
429
430
    /**
431
     * Adds as date
432
     *
433
     * @return self
434
     * @param \DateTime $date
435
     */
436
    public function addToDate(\DateTime $date)
437
    {
438
        $this->date[] = $date;
439
        return $this;
440
    }
441
442
    /**
443
     * isset date
444
     *
445
     * @param scalar $index
446
     * @return boolean
447
     */
448
    public function issetDate($index)
449
    {
450
        return isset($this->date[$index]);
451
    }
452
453
    /**
454
     * unset date
455
     *
456
     * @param scalar $index
457
     * @return void
458
     */
459
    public function unsetDate($index)
460
    {
461
        unset($this->date[$index]);
462
    }
463
464
    /**
465
     * Gets as date
466
     *
467
     * @return \DateTime[]
468
     */
469
    public function getDate()
470
    {
471
        return $this->date;
472
    }
473
474
    /**
475
     * Sets a new date
476
     *
477
     * @param \DateTime $date
478
     * @return self
479
     */
480
    public function setDate(array $date)
481
    {
482
        $this->date = $date;
483
        return $this;
484
    }
485
486
    /**
487
     * Adds as dateTimeOffset
488
     *
489
     * @return self
490
     * @param \DateTime $dateTimeOffset
491
     */
492
    public function addToDateTimeOffset(\DateTime $dateTimeOffset)
493
    {
494
        $this->dateTimeOffset[] = $dateTimeOffset;
495
        return $this;
496
    }
497
498
    /**
499
     * isset dateTimeOffset
500
     *
501
     * @param scalar $index
502
     * @return boolean
503
     */
504
    public function issetDateTimeOffset($index)
505
    {
506
        return isset($this->dateTimeOffset[$index]);
507
    }
508
509
    /**
510
     * unset dateTimeOffset
511
     *
512
     * @param scalar $index
513
     * @return void
514
     */
515
    public function unsetDateTimeOffset($index)
516
    {
517
        unset($this->dateTimeOffset[$index]);
518
    }
519
520
    /**
521
     * Gets as dateTimeOffset
522
     *
523
     * @return \DateTime[]
524
     */
525
    public function getDateTimeOffset()
526
    {
527
        return $this->dateTimeOffset;
528
    }
529
530
    /**
531
     * Sets a new dateTimeOffset
532
     *
533
     * @param \DateTime $dateTimeOffset
534
     * @return self
535
     */
536
    public function setDateTimeOffset(array $dateTimeOffset)
537
    {
538
        $this->dateTimeOffset = $dateTimeOffset;
539
        return $this;
540
    }
541
542
    /**
543
     * Adds as decimal
544
     *
545
     * @return self
546
     * @param float $decimal
547
     */
548
    public function addToDecimal($decimal)
549
    {
550
        $this->decimal[] = $decimal;
551
        return $this;
552
    }
553
554
    /**
555
     * isset decimal
556
     *
557
     * @param scalar $index
558
     * @return boolean
559
     */
560
    public function issetDecimal($index)
561
    {
562
        return isset($this->decimal[$index]);
563
    }
564
565
    /**
566
     * unset decimal
567
     *
568
     * @param scalar $index
569
     * @return void
570
     */
571
    public function unsetDecimal($index)
572
    {
573
        unset($this->decimal[$index]);
574
    }
575
576
    /**
577
     * Gets as decimal
578
     *
579
     * @return float[]
580
     */
581
    public function getDecimal()
582
    {
583
        return $this->decimal;
584
    }
585
586
    /**
587
     * Sets a new decimal
588
     *
589
     * @param float $decimal
590
     * @return self
591
     */
592
    public function setDecimal(array $decimal)
593
    {
594
        $this->decimal = $decimal;
595
        return $this;
596
    }
597
598
    /**
599
     * Adds as duration
600
     *
601
     * @return self
602
     * @param \DateInterval $duration
603
     */
604
    public function addToDuration(\DateInterval $duration)
605
    {
606
        $this->duration[] = $duration;
607
        return $this;
608
    }
609
610
    /**
611
     * isset duration
612
     *
613
     * @param scalar $index
614
     * @return boolean
615
     */
616
    public function issetDuration($index)
617
    {
618
        return isset($this->duration[$index]);
619
    }
620
621
    /**
622
     * unset duration
623
     *
624
     * @param scalar $index
625
     * @return void
626
     */
627
    public function unsetDuration($index)
628
    {
629
        unset($this->duration[$index]);
630
    }
631
632
    /**
633
     * Gets as duration
634
     *
635
     * @return \DateInterval[]
636
     */
637
    public function getDuration()
638
    {
639
        return $this->duration;
640
    }
641
642
    /**
643
     * Sets a new duration
644
     *
645
     * @param \DateInterval $duration
646
     * @return self
647
     */
648
    public function setDuration(array $duration)
649
    {
650
        $this->duration = $duration;
651
        return $this;
652
    }
653
654
    /**
655
     * Adds as enumMember
656
     *
657
     * @return self
658
     * @param string $enumMember
659
     */
660
    public function addToEnumMember($enumMember)
661
    {
662
        $this->enumMember[] = $enumMember;
663
        return $this;
664
    }
665
666
    /**
667
     * isset enumMember
668
     *
669
     * @param scalar $index
670
     * @return boolean
671
     */
672
    public function issetEnumMember($index)
673
    {
674
        return isset($this->enumMember[$index]);
675
    }
676
677
    /**
678
     * unset enumMember
679
     *
680
     * @param scalar $index
681
     * @return void
682
     */
683
    public function unsetEnumMember($index)
684
    {
685
        unset($this->enumMember[$index]);
686
    }
687
688
    /**
689
     * Gets as enumMember
690
     *
691
     * @return string[]
692
     */
693
    public function getEnumMember()
694
    {
695
        return $this->enumMember;
696
    }
697
698
    /**
699
     * Sets a new enumMember
700
     *
701
     * @param string $enumMember
702
     * @return self
703
     */
704
    public function setEnumMember(array $enumMember)
705
    {
706
        $this->enumMember = $enumMember;
707
        return $this;
708
    }
709
710
    /**
711
     * Adds as float
712
     *
713
     * @return self
714
     * @param float $float
715
     */
716
    public function addToFloat($float)
717
    {
718
        $this->float[] = $float;
719
        return $this;
720
    }
721
722
    /**
723
     * isset float
724
     *
725
     * @param scalar $index
726
     * @return boolean
727
     */
728
    public function issetFloat($index)
729
    {
730
        return isset($this->float[$index]);
731
    }
732
733
    /**
734
     * unset float
735
     *
736
     * @param scalar $index
737
     * @return void
738
     */
739
    public function unsetFloat($index)
740
    {
741
        unset($this->float[$index]);
742
    }
743
744
    /**
745
     * Gets as float
746
     *
747
     * @return float[]
748
     */
749
    public function getFloat()
750
    {
751
        return $this->float;
752
    }
753
754
    /**
755
     * Sets a new float
756
     *
757
     * @param float $float
758
     * @return self
759
     */
760
    public function setFloat(array $float)
761
    {
762
        $this->float = $float;
763
        return $this;
764
    }
765
766
    /**
767
     * Adds as guid
768
     *
769
     * @return self
770
     * @param string $guid
771
     */
772
    public function addToGuid($guid)
773
    {
774
        $this->guid[] = $guid;
775
        return $this;
776
    }
777
778
    /**
779
     * isset guid
780
     *
781
     * @param scalar $index
782
     * @return boolean
783
     */
784
    public function issetGuid($index)
785
    {
786
        return isset($this->guid[$index]);
787
    }
788
789
    /**
790
     * unset guid
791
     *
792
     * @param scalar $index
793
     * @return void
794
     */
795
    public function unsetGuid($index)
796
    {
797
        unset($this->guid[$index]);
798
    }
799
800
    /**
801
     * Gets as guid
802
     *
803
     * @return string[]
804
     */
805
    public function getGuid()
806
    {
807
        return $this->guid;
808
    }
809
810
    /**
811
     * Sets a new guid
812
     *
813
     * @param string $guid
814
     * @return self
815
     */
816
    public function setGuid(array $guid)
817
    {
818
        $this->guid = $guid;
819
        return $this;
820
    }
821
822
    /**
823
     * Adds as int
824
     *
825
     * @return self
826
     * @param integer $int
827
     */
828
    public function addToInt($int)
829
    {
830
        $this->int[] = $int;
831
        return $this;
832
    }
833
834
    /**
835
     * isset int
836
     *
837
     * @param scalar $index
838
     * @return boolean
839
     */
840
    public function issetInt($index)
841
    {
842
        return isset($this->int[$index]);
843
    }
844
845
    /**
846
     * unset int
847
     *
848
     * @param scalar $index
849
     * @return void
850
     */
851
    public function unsetInt($index)
852
    {
853
        unset($this->int[$index]);
854
    }
855
856
    /**
857
     * Gets as int
858
     *
859
     * @return integer[]
860
     */
861
    public function getInt()
862
    {
863
        return $this->int;
864
    }
865
866
    /**
867
     * Sets a new int
868
     *
869
     * @param integer $int
870
     * @return self
871
     */
872
    public function setInt(array $int)
873
    {
874
        $this->int = $int;
875
        return $this;
876
    }
877
878
    /**
879
     * Adds as string
880
     *
881
     * @return self
882
     * @param string $string
883
     */
884
    public function addToString($string)
885
    {
886
        $this->string[] = $string;
887
        return $this;
888
    }
889
890
    /**
891
     * isset string
892
     *
893
     * @param scalar $index
894
     * @return boolean
895
     */
896
    public function issetString($index)
897
    {
898
        return isset($this->string[$index]);
899
    }
900
901
    /**
902
     * unset string
903
     *
904
     * @param scalar $index
905
     * @return void
906
     */
907
    public function unsetString($index)
908
    {
909
        unset($this->string[$index]);
910
    }
911
912
    /**
913
     * Gets as string
914
     *
915
     * @return string[]
916
     */
917
    public function getString()
918
    {
919
        return $this->string;
920
    }
921
922
    /**
923
     * Sets a new string
924
     *
925
     * @param string $string
926
     * @return self
927
     */
928
    public function setString(array $string)
929
    {
930
        $this->string = $string;
931
        return $this;
932
    }
933
934
    /**
935
     * Adds as timeOfDay
936
     *
937
     * @return self
938
     * @param \DateTime $timeOfDay
939
     */
940
    public function addToTimeOfDay(\DateTime $timeOfDay)
941
    {
942
        $this->timeOfDay[] = $timeOfDay;
943
        return $this;
944
    }
945
946
    /**
947
     * isset timeOfDay
948
     *
949
     * @param scalar $index
950
     * @return boolean
951
     */
952
    public function issetTimeOfDay($index)
953
    {
954
        return isset($this->timeOfDay[$index]);
955
    }
956
957
    /**
958
     * unset timeOfDay
959
     *
960
     * @param scalar $index
961
     * @return void
962
     */
963
    public function unsetTimeOfDay($index)
964
    {
965
        unset($this->timeOfDay[$index]);
966
    }
967
968
    /**
969
     * Gets as timeOfDay
970
     *
971
     * @return \DateTime[]
972
     */
973
    public function getTimeOfDay()
974
    {
975
        return $this->timeOfDay;
976
    }
977
978
    /**
979
     * Sets a new timeOfDay
980
     *
981
     * @param \DateTime $timeOfDay
982
     * @return self
983
     */
984
    public function setTimeOfDay(array $timeOfDay)
985
    {
986
        $this->timeOfDay = $timeOfDay;
987
        return $this;
988
    }
989
990
    /**
991
     * Adds as annotationPath
992
     *
993
     * @return self
994
     * @param string $annotationPath
995
     */
996
    public function addToAnnotationPath($annotationPath)
997
    {
998
        $this->annotationPath[] = $annotationPath;
999
        return $this;
1000
    }
1001
1002
    /**
1003
     * isset annotationPath
1004
     *
1005
     * @param scalar $index
1006
     * @return boolean
1007
     */
1008
    public function issetAnnotationPath($index)
1009
    {
1010
        return isset($this->annotationPath[$index]);
1011
    }
1012
1013
    /**
1014
     * unset annotationPath
1015
     *
1016
     * @param scalar $index
1017
     * @return void
1018
     */
1019
    public function unsetAnnotationPath($index)
1020
    {
1021
        unset($this->annotationPath[$index]);
1022
    }
1023
1024
    /**
1025
     * Gets as annotationPath
1026
     *
1027
     * @return string[]
1028
     */
1029
    public function getAnnotationPath()
1030
    {
1031
        return $this->annotationPath;
1032
    }
1033
1034
    /**
1035
     * Sets a new annotationPath
1036
     *
1037
     * @param string $annotationPath
1038
     * @return self
1039
     */
1040
    public function setAnnotationPath(array $annotationPath)
1041
    {
1042
        $this->annotationPath = $annotationPath;
1043
        return $this;
1044
    }
1045
1046
    /**
1047
     * Adds as apply
1048
     *
1049
     * @return self
1050
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TApplyExpressionType $apply
1051
     */
1052
    public function addToApply(TApplyExpressionType $apply)
1053
    {
1054
        $this->apply[] = $apply;
1055
        return $this;
1056
    }
1057
1058
    /**
1059
     * isset apply
1060
     *
1061
     * @param scalar $index
1062
     * @return boolean
1063
     */
1064
    public function issetApply($index)
1065
    {
1066
        return isset($this->apply[$index]);
1067
    }
1068
1069
    /**
1070
     * unset apply
1071
     *
1072
     * @param scalar $index
1073
     * @return void
1074
     */
1075
    public function unsetApply($index)
1076
    {
1077
        unset($this->apply[$index]);
1078
    }
1079
1080
    /**
1081
     * Gets as apply
1082
     *
1083
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\TApplyExpressionType[]
1084
     */
1085
    public function getApply()
1086
    {
1087
        return $this->apply;
1088
    }
1089
1090
    /**
1091
     * Sets a new apply
1092
     *
1093
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TApplyExpressionType[] $apply
1094
     * @return self
1095
     */
1096
    public function setApply(array $apply)
1097
    {
1098
        $this->apply = $apply;
1099
        return $this;
1100
    }
1101
1102
    /**
1103
     * Adds as cast
1104
     *
1105
     * @return self
1106
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TCastOrIsOfExpressionType $cast
1107
     */
1108
    public function addToCast(TCastOrIsOfExpressionType $cast)
1109
    {
1110
        $this->cast[] = $cast;
1111
        return $this;
1112
    }
1113
1114
    /**
1115
     * isset cast
1116
     *
1117
     * @param scalar $index
1118
     * @return boolean
1119
     */
1120
    public function issetCast($index)
1121
    {
1122
        return isset($this->cast[$index]);
1123
    }
1124
1125
    /**
1126
     * unset cast
1127
     *
1128
     * @param scalar $index
1129
     * @return void
1130
     */
1131
    public function unsetCast($index)
1132
    {
1133
        unset($this->cast[$index]);
1134
    }
1135
1136
    /**
1137
     * Gets as cast
1138
     *
1139
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\TCastOrIsOfExpressionType[]
1140
     */
1141
    public function getCast()
1142
    {
1143
        return $this->cast;
1144
    }
1145
1146
    /**
1147
     * Sets a new cast
1148
     *
1149
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TCastOrIsOfExpressionType[] $cast
1150
     * @return self
1151
     */
1152
    public function setCast(array $cast)
1153
    {
1154
        $this->cast = $cast;
1155
        return $this;
1156
    }
1157
1158
    /**
1159
     * Adds as collection
1160
     *
1161
     * @return self
1162
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TCollectionExpressionType $collection
1163
     */
1164
    public function addToCollection(TCollectionExpressionType $collection)
1165
    {
1166
        $this->collection[] = $collection;
1167
        return $this;
1168
    }
1169
1170
    /**
1171
     * isset collection
1172
     *
1173
     * @param scalar $index
1174
     * @return boolean
1175
     */
1176
    public function issetCollection($index)
1177
    {
1178
        return isset($this->collection[$index]);
1179
    }
1180
1181
    /**
1182
     * unset collection
1183
     *
1184
     * @param scalar $index
1185
     * @return void
1186
     */
1187
    public function unsetCollection($index)
1188
    {
1189
        unset($this->collection[$index]);
1190
    }
1191
1192
    /**
1193
     * Gets as collection
1194
     *
1195
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\TCollectionExpressionType[]
1196
     */
1197
    public function getCollection()
1198
    {
1199
        return $this->collection;
1200
    }
1201
1202
    /**
1203
     * Sets a new collection
1204
     *
1205
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TCollectionExpressionType[] $collection
1206
     * @return self
1207
     */
1208
    public function setCollection(array $collection)
1209
    {
1210
        $this->collection = $collection;
1211
        return $this;
1212
    }
1213
1214
    /**
1215
     * Adds as if
1216
     *
1217
     * @return self
1218
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TIfExpressionType $if
1219
     */
1220
    public function addToIf(TIfExpressionType $if)
1221
    {
1222
        $this->if[] = $if;
1223
        return $this;
1224
    }
1225
1226
    /**
1227
     * isset if
1228
     *
1229
     * @param scalar $index
1230
     * @return boolean
1231
     */
1232
    public function issetIf($index)
1233
    {
1234
        return isset($this->if[$index]);
1235
    }
1236
1237
    /**
1238
     * unset if
1239
     *
1240
     * @param scalar $index
1241
     * @return void
1242
     */
1243
    public function unsetIf($index)
1244
    {
1245
        unset($this->if[$index]);
1246
    }
1247
1248
    /**
1249
     * Gets as if
1250
     *
1251
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\TIfExpressionType[]
1252
     */
1253
    public function getIf()
1254
    {
1255
        return $this->if;
1256
    }
1257
1258
    /**
1259
     * Sets a new if
1260
     *
1261
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TIfExpressionType[] $if
1262
     * @return self
1263
     */
1264
    public function setIf(array $if)
1265
    {
1266
        $this->if = $if;
1267
        return $this;
1268
    }
1269
1270
    /**
1271
     * Adds as eq
1272
     *
1273
     * @return self
1274
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType $eq
1275
     */
1276
    public function addToEq(TTwoChildrenExpressionType $eq)
1277
    {
1278
        $this->eq[] = $eq;
1279
        return $this;
1280
    }
1281
1282
    /**
1283
     * isset eq
1284
     *
1285
     * @param scalar $index
1286
     * @return boolean
1287
     */
1288
    public function issetEq($index)
1289
    {
1290
        return isset($this->eq[$index]);
1291
    }
1292
1293
    /**
1294
     * unset eq
1295
     *
1296
     * @param scalar $index
1297
     * @return void
1298
     */
1299
    public function unsetEq($index)
1300
    {
1301
        unset($this->eq[$index]);
1302
    }
1303
1304
    /**
1305
     * Gets as eq
1306
     *
1307
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[]
1308
     */
1309
    public function getEq()
1310
    {
1311
        return $this->eq;
1312
    }
1313
1314
    /**
1315
     * Sets a new eq
1316
     *
1317
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[] $eq
1318
     * @return self
1319
     */
1320
    public function setEq(array $eq)
1321
    {
1322
        $this->eq = $eq;
1323
        return $this;
1324
    }
1325
1326
    /**
1327
     * Adds as ne
1328
     *
1329
     * @return self
1330
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType $ne
1331
     */
1332
    public function addToNe(TTwoChildrenExpressionType $ne)
1333
    {
1334
        $this->ne[] = $ne;
1335
        return $this;
1336
    }
1337
1338
    /**
1339
     * isset ne
1340
     *
1341
     * @param scalar $index
1342
     * @return boolean
1343
     */
1344
    public function issetNe($index)
1345
    {
1346
        return isset($this->ne[$index]);
1347
    }
1348
1349
    /**
1350
     * unset ne
1351
     *
1352
     * @param scalar $index
1353
     * @return void
1354
     */
1355
    public function unsetNe($index)
1356
    {
1357
        unset($this->ne[$index]);
1358
    }
1359
1360
    /**
1361
     * Gets as ne
1362
     *
1363
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[]
1364
     */
1365
    public function getNe()
1366
    {
1367
        return $this->ne;
1368
    }
1369
1370
    /**
1371
     * Sets a new ne
1372
     *
1373
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[] $ne
1374
     * @return self
1375
     */
1376
    public function setNe(array $ne)
1377
    {
1378
        $this->ne = $ne;
1379
        return $this;
1380
    }
1381
1382
    /**
1383
     * Adds as ge
1384
     *
1385
     * @return self
1386
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType $ge
1387
     */
1388
    public function addToGe(TTwoChildrenExpressionType $ge)
1389
    {
1390
        $this->ge[] = $ge;
1391
        return $this;
1392
    }
1393
1394
    /**
1395
     * isset ge
1396
     *
1397
     * @param scalar $index
1398
     * @return boolean
1399
     */
1400
    public function issetGe($index)
1401
    {
1402
        return isset($this->ge[$index]);
1403
    }
1404
1405
    /**
1406
     * unset ge
1407
     *
1408
     * @param scalar $index
1409
     * @return void
1410
     */
1411
    public function unsetGe($index)
1412
    {
1413
        unset($this->ge[$index]);
1414
    }
1415
1416
    /**
1417
     * Gets as ge
1418
     *
1419
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[]
1420
     */
1421
    public function getGe()
1422
    {
1423
        return $this->ge;
1424
    }
1425
1426
    /**
1427
     * Sets a new ge
1428
     *
1429
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[] $ge
1430
     * @return self
1431
     */
1432
    public function setGe(array $ge)
1433
    {
1434
        $this->ge = $ge;
1435
        return $this;
1436
    }
1437
1438
    /**
1439
     * Adds as gt
1440
     *
1441
     * @return self
1442
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType $gt
1443
     */
1444
    public function addToGt(TTwoChildrenExpressionType $gt)
1445
    {
1446
        $this->gt[] = $gt;
1447
        return $this;
1448
    }
1449
1450
    /**
1451
     * isset gt
1452
     *
1453
     * @param scalar $index
1454
     * @return boolean
1455
     */
1456
    public function issetGt($index)
1457
    {
1458
        return isset($this->gt[$index]);
1459
    }
1460
1461
    /**
1462
     * unset gt
1463
     *
1464
     * @param scalar $index
1465
     * @return void
1466
     */
1467
    public function unsetGt($index)
1468
    {
1469
        unset($this->gt[$index]);
1470
    }
1471
1472
    /**
1473
     * Gets as gt
1474
     *
1475
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[]
1476
     */
1477
    public function getGt()
1478
    {
1479
        return $this->gt;
1480
    }
1481
1482
    /**
1483
     * Sets a new gt
1484
     *
1485
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[] $gt
1486
     * @return self
1487
     */
1488
    public function setGt(array $gt)
1489
    {
1490
        $this->gt = $gt;
1491
        return $this;
1492
    }
1493
1494
    /**
1495
     * Adds as le
1496
     *
1497
     * @return self
1498
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType $le
1499
     */
1500
    public function addToLe(TTwoChildrenExpressionType $le)
1501
    {
1502
        $this->le[] = $le;
1503
        return $this;
1504
    }
1505
1506
    /**
1507
     * isset le
1508
     *
1509
     * @param scalar $index
1510
     * @return boolean
1511
     */
1512
    public function issetLe($index)
1513
    {
1514
        return isset($this->le[$index]);
1515
    }
1516
1517
    /**
1518
     * unset le
1519
     *
1520
     * @param scalar $index
1521
     * @return void
1522
     */
1523
    public function unsetLe($index)
1524
    {
1525
        unset($this->le[$index]);
1526
    }
1527
1528
    /**
1529
     * Gets as le
1530
     *
1531
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[]
1532
     */
1533
    public function getLe()
1534
    {
1535
        return $this->le;
1536
    }
1537
1538
    /**
1539
     * Sets a new le
1540
     *
1541
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[] $le
1542
     * @return self
1543
     */
1544
    public function setLe(array $le)
1545
    {
1546
        $this->le = $le;
1547
        return $this;
1548
    }
1549
1550
    /**
1551
     * Adds as lt
1552
     *
1553
     * @return self
1554
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType $lt
1555
     */
1556
    public function addToLt(TTwoChildrenExpressionType $lt)
1557
    {
1558
        $this->lt[] = $lt;
1559
        return $this;
1560
    }
1561
1562
    /**
1563
     * isset lt
1564
     *
1565
     * @param scalar $index
1566
     * @return boolean
1567
     */
1568
    public function issetLt($index)
1569
    {
1570
        return isset($this->lt[$index]);
1571
    }
1572
1573
    /**
1574
     * unset lt
1575
     *
1576
     * @param scalar $index
1577
     * @return void
1578
     */
1579
    public function unsetLt($index)
1580
    {
1581
        unset($this->lt[$index]);
1582
    }
1583
1584
    /**
1585
     * Gets as lt
1586
     *
1587
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[]
1588
     */
1589
    public function getLt()
1590
    {
1591
        return $this->lt;
1592
    }
1593
1594
    /**
1595
     * Sets a new lt
1596
     *
1597
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[] $lt
1598
     * @return self
1599
     */
1600
    public function setLt(array $lt)
1601
    {
1602
        $this->lt = $lt;
1603
        return $this;
1604
    }
1605
1606
    /**
1607
     * Adds as and
1608
     *
1609
     * @return self
1610
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType $and
1611
     */
1612
    public function addToAnd(TTwoChildrenExpressionType $and)
1613
    {
1614
        $this->and[] = $and;
1615
        return $this;
1616
    }
1617
1618
    /**
1619
     * isset and
1620
     *
1621
     * @param scalar $index
1622
     * @return boolean
1623
     */
1624
    public function issetAnd($index)
1625
    {
1626
        return isset($this->and[$index]);
1627
    }
1628
1629
    /**
1630
     * unset and
1631
     *
1632
     * @param scalar $index
1633
     * @return void
1634
     */
1635
    public function unsetAnd($index)
1636
    {
1637
        unset($this->and[$index]);
1638
    }
1639
1640
    /**
1641
     * Gets as and
1642
     *
1643
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[]
1644
     */
1645
    public function getAnd()
1646
    {
1647
        return $this->and;
1648
    }
1649
1650
    /**
1651
     * Sets a new and
1652
     *
1653
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[] $and
1654
     * @return self
1655
     */
1656
    public function setAnd(array $and)
1657
    {
1658
        $this->and = $and;
1659
        return $this;
1660
    }
1661
1662
    /**
1663
     * Adds as or
1664
     *
1665
     * @return self
1666
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType $or
1667
     */
1668
    public function addToOr(TTwoChildrenExpressionType $or)
1669
    {
1670
        $this->or[] = $or;
1671
        return $this;
1672
    }
1673
1674
    /**
1675
     * isset or
1676
     *
1677
     * @param scalar $index
1678
     * @return boolean
1679
     */
1680
    public function issetOr($index)
1681
    {
1682
        return isset($this->or[$index]);
1683
    }
1684
1685
    /**
1686
     * unset or
1687
     *
1688
     * @param scalar $index
1689
     * @return void
1690
     */
1691
    public function unsetOr($index)
1692
    {
1693
        unset($this->or[$index]);
1694
    }
1695
1696
    /**
1697
     * Gets as or
1698
     *
1699
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[]
1700
     */
1701
    public function getOr()
1702
    {
1703
        return $this->or;
1704
    }
1705
1706
    /**
1707
     * Sets a new or
1708
     *
1709
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TTwoChildrenExpressionType[] $or
1710
     * @return self
1711
     */
1712
    public function setOr(array $or)
1713
    {
1714
        $this->or = $or;
1715
        return $this;
1716
    }
1717
1718
    /**
1719
     * Adds as not
1720
     *
1721
     * @return self
1722
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TOneChildExpressionType $not
1723
     */
1724
    public function addToNot(TOneChildExpressionType $not)
1725
    {
1726
        $this->not[] = $not;
1727
        return $this;
1728
    }
1729
1730
    /**
1731
     * isset not
1732
     *
1733
     * @param scalar $index
1734
     * @return boolean
1735
     */
1736
    public function issetNot($index)
1737
    {
1738
        return isset($this->not[$index]);
1739
    }
1740
1741
    /**
1742
     * unset not
1743
     *
1744
     * @param scalar $index
1745
     * @return void
1746
     */
1747
    public function unsetNot($index)
1748
    {
1749
        unset($this->not[$index]);
1750
    }
1751
1752
    /**
1753
     * Gets as not
1754
     *
1755
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\TOneChildExpressionType[]
1756
     */
1757
    public function getNot()
1758
    {
1759
        return $this->not;
1760
    }
1761
1762
    /**
1763
     * Sets a new not
1764
     *
1765
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TOneChildExpressionType[] $not
1766
     * @return self
1767
     */
1768
    public function setNot(array $not)
1769
    {
1770
        $this->not = $not;
1771
        return $this;
1772
    }
1773
1774
    /**
1775
     * Adds as isOf
1776
     *
1777
     * @return self
1778
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TCastOrIsOfExpressionType $isOf
1779
     */
1780
    public function addToIsOf(TCastOrIsOfExpressionType $isOf)
1781
    {
1782
        $this->isOf[] = $isOf;
1783
        return $this;
1784
    }
1785
1786
    /**
1787
     * isset isOf
1788
     *
1789
     * @param scalar $index
1790
     * @return boolean
1791
     */
1792
    public function issetIsOf($index)
1793
    {
1794
        return isset($this->isOf[$index]);
1795
    }
1796
1797
    /**
1798
     * unset isOf
1799
     *
1800
     * @param scalar $index
1801
     * @return void
1802
     */
1803
    public function unsetIsOf($index)
1804
    {
1805
        unset($this->isOf[$index]);
1806
    }
1807
1808
    /**
1809
     * Gets as isOf
1810
     *
1811
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\TCastOrIsOfExpressionType[]
1812
     */
1813
    public function getIsOf()
1814
    {
1815
        return $this->isOf;
1816
    }
1817
1818
    /**
1819
     * Sets a new isOf
1820
     *
1821
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TCastOrIsOfExpressionType[] $isOf
1822
     * @return self
1823
     */
1824
    public function setIsOf(array $isOf)
1825
    {
1826
        $this->isOf = $isOf;
1827
        return $this;
1828
    }
1829
1830
    /**
1831
     * Adds as labeledElement
1832
     *
1833
     * @return self
1834
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TLabeledElementExpressionType $labeledElement
1835
     */
1836
    public function addToLabeledElement(TLabeledElementExpressionType $labeledElement)
1837
    {
1838
        $this->labeledElement[] = $labeledElement;
1839
        return $this;
1840
    }
1841
1842
    /**
1843
     * isset labeledElement
1844
     *
1845
     * @param scalar $index
1846
     * @return boolean
1847
     */
1848
    public function issetLabeledElement($index)
1849
    {
1850
        return isset($this->labeledElement[$index]);
1851
    }
1852
1853
    /**
1854
     * unset labeledElement
1855
     *
1856
     * @param scalar $index
1857
     * @return void
1858
     */
1859
    public function unsetLabeledElement($index)
1860
    {
1861
        unset($this->labeledElement[$index]);
1862
    }
1863
1864
    /**
1865
     * Gets as labeledElement
1866
     *
1867
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\TLabeledElementExpressionType[]
1868
     */
1869
    public function getLabeledElement()
1870
    {
1871
        return $this->labeledElement;
1872
    }
1873
1874
    /**
1875
     * Sets a new labeledElement
1876
     *
1877
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TLabeledElementExpressionType[] $labeledElement
1878
     * @return self
1879
     */
1880
    public function setLabeledElement(array $labeledElement)
1881
    {
1882
        $this->labeledElement = $labeledElement;
1883
        return $this;
1884
    }
1885
1886
    /**
1887
     * Adds as labeledElementReference
1888
     *
1889
     * @return self
1890
     * @param string $labeledElementReference
1891
     */
1892
    public function addToLabeledElementReference($labeledElementReference)
1893
    {
1894
        $this->labeledElementReference[] = $labeledElementReference;
1895
        return $this;
1896
    }
1897
1898
    /**
1899
     * isset labeledElementReference
1900
     *
1901
     * @param scalar $index
1902
     * @return boolean
1903
     */
1904
    public function issetLabeledElementReference($index)
1905
    {
1906
        return isset($this->labeledElementReference[$index]);
1907
    }
1908
1909
    /**
1910
     * unset labeledElementReference
1911
     *
1912
     * @param scalar $index
1913
     * @return void
1914
     */
1915
    public function unsetLabeledElementReference($index)
1916
    {
1917
        unset($this->labeledElementReference[$index]);
1918
    }
1919
1920
    /**
1921
     * Gets as labeledElementReference
1922
     *
1923
     * @return string[]
1924
     */
1925
    public function getLabeledElementReference()
1926
    {
1927
        return $this->labeledElementReference;
1928
    }
1929
1930
    /**
1931
     * Sets a new labeledElementReference
1932
     *
1933
     * @param string $labeledElementReference
1934
     * @return self
1935
     */
1936
    public function setLabeledElementReference(array $labeledElementReference)
1937
    {
1938
        $this->labeledElementReference = $labeledElementReference;
1939
        return $this;
1940
    }
1941
1942
    /**
1943
     * Adds as annotation
1944
     *
1945
     * @return self
1946
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\Annotation $annotation
1947
     */
1948
    public function addToNull(Annotation $annotation)
1949
    {
1950
        $this->null[] = $annotation;
1951
        return $this;
1952
    }
1953
1954
    /**
1955
     * isset null
1956
     *
1957
     * @param scalar $index
1958
     * @return boolean
1959
     */
1960
    public function issetNull($index)
1961
    {
1962
        return isset($this->null[$index]);
1963
    }
1964
1965
    /**
1966
     * unset null
1967
     *
1968
     * @param scalar $index
1969
     * @return void
1970
     */
1971
    public function unsetNull($index)
1972
    {
1973
        unset($this->null[$index]);
1974
    }
1975
1976
    /**
1977
     * Gets as null
1978
     *
1979
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\Annotation[]
1980
     */
1981
    public function getNull()
1982
    {
1983
        return $this->null;
1984
    }
1985
1986
    /**
1987
     * Sets a new null
1988
     *
1989
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\Annotation[] $null
1990
     * @return self
1991
     */
1992
    public function setNull(array $null)
1993
    {
1994
        $this->null = $null;
1995
        return $this;
1996
    }
1997
1998
    /**
1999
     * Adds as navigationPropertyPath
2000
     *
2001
     * @return self
2002
     * @param string $navigationPropertyPath
2003
     */
2004
    public function addToNavigationPropertyPath($navigationPropertyPath)
2005
    {
2006
        $this->navigationPropertyPath[] = $navigationPropertyPath;
2007
        return $this;
2008
    }
2009
2010
    /**
2011
     * isset navigationPropertyPath
2012
     *
2013
     * @param scalar $index
2014
     * @return boolean
2015
     */
2016
    public function issetNavigationPropertyPath($index)
2017
    {
2018
        return isset($this->navigationPropertyPath[$index]);
2019
    }
2020
2021
    /**
2022
     * unset navigationPropertyPath
2023
     *
2024
     * @param scalar $index
2025
     * @return void
2026
     */
2027
    public function unsetNavigationPropertyPath($index)
2028
    {
2029
        unset($this->navigationPropertyPath[$index]);
2030
    }
2031
2032
    /**
2033
     * Gets as navigationPropertyPath
2034
     *
2035
     * @return string[]
2036
     */
2037
    public function getNavigationPropertyPath()
2038
    {
2039
        return $this->navigationPropertyPath;
2040
    }
2041
2042
    /**
2043
     * Sets a new navigationPropertyPath
2044
     *
2045
     * @param string $navigationPropertyPath
2046
     * @return self
2047
     */
2048
    public function setNavigationPropertyPath(array $navigationPropertyPath)
2049
    {
2050
        $this->navigationPropertyPath = $navigationPropertyPath;
2051
        return $this;
2052
    }
2053
2054
    /**
2055
     * Adds as path
2056
     *
2057
     * @return self
2058
     * @param string $path
2059
     */
2060
    public function addToPath($path)
2061
    {
2062
        $this->path[] = $path;
2063
        return $this;
2064
    }
2065
2066
    /**
2067
     * isset path
2068
     *
2069
     * @param scalar $index
2070
     * @return boolean
2071
     */
2072
    public function issetPath($index)
2073
    {
2074
        return isset($this->path[$index]);
2075
    }
2076
2077
    /**
2078
     * unset path
2079
     *
2080
     * @param scalar $index
2081
     * @return void
2082
     */
2083
    public function unsetPath($index)
2084
    {
2085
        unset($this->path[$index]);
2086
    }
2087
2088
    /**
2089
     * Gets as path
2090
     *
2091
     * @return string[]
2092
     */
2093
    public function getPath()
2094
    {
2095
        return $this->path;
2096
    }
2097
2098
    /**
2099
     * Sets a new path
2100
     *
2101
     * @param string $path
2102
     * @return self
2103
     */
2104
    public function setPath(array $path)
2105
    {
2106
        $this->path = $path;
2107
        return $this;
2108
    }
2109
2110
    /**
2111
     * Adds as propertyPath
2112
     *
2113
     * @return self
2114
     * @param string $propertyPath
2115
     */
2116
    public function addToPropertyPath($propertyPath)
2117
    {
2118
        $this->propertyPath[] = $propertyPath;
2119
        return $this;
2120
    }
2121
2122
    /**
2123
     * isset propertyPath
2124
     *
2125
     * @param scalar $index
2126
     * @return boolean
2127
     */
2128
    public function issetPropertyPath($index)
2129
    {
2130
        return isset($this->propertyPath[$index]);
2131
    }
2132
2133
    /**
2134
     * unset propertyPath
2135
     *
2136
     * @param scalar $index
2137
     * @return void
2138
     */
2139
    public function unsetPropertyPath($index)
2140
    {
2141
        unset($this->propertyPath[$index]);
2142
    }
2143
2144
    /**
2145
     * Gets as propertyPath
2146
     *
2147
     * @return string[]
2148
     */
2149
    public function getPropertyPath()
2150
    {
2151
        return $this->propertyPath;
2152
    }
2153
2154
    /**
2155
     * Sets a new propertyPath
2156
     *
2157
     * @param string $propertyPath
2158
     * @return self
2159
     */
2160
    public function setPropertyPath(array $propertyPath)
2161
    {
2162
        $this->propertyPath = $propertyPath;
2163
        return $this;
2164
    }
2165
2166
    /**
2167
     * Adds as record
2168
     *
2169
     * @return self
2170
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TRecordExpressionType $record
2171
     */
2172
    public function addToRecord(TRecordExpressionType $record)
2173
    {
2174
        $this->record[] = $record;
2175
        return $this;
2176
    }
2177
2178
    /**
2179
     * isset record
2180
     *
2181
     * @param scalar $index
2182
     * @return boolean
2183
     */
2184
    public function issetRecord($index)
2185
    {
2186
        return isset($this->record[$index]);
2187
    }
2188
2189
    /**
2190
     * unset record
2191
     *
2192
     * @param scalar $index
2193
     * @return void
2194
     */
2195
    public function unsetRecord($index)
2196
    {
2197
        unset($this->record[$index]);
2198
    }
2199
2200
    /**
2201
     * Gets as record
2202
     *
2203
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\TRecordExpressionType[]
2204
     */
2205
    public function getRecord()
2206
    {
2207
        return $this->record;
2208
    }
2209
2210
    /**
2211
     * Sets a new record
2212
     *
2213
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TRecordExpressionType[] $record
2214
     * @return self
2215
     */
2216
    public function setRecord(array $record)
2217
    {
2218
        $this->record = $record;
2219
        return $this;
2220
    }
2221
2222
    /**
2223
     * Adds as urlRef
2224
     *
2225
     * @return self
2226
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TOneChildExpressionType $urlRef
2227
     */
2228
    public function addToUrlRef(TOneChildExpressionType $urlRef)
2229
    {
2230
        $this->urlRef[] = $urlRef;
2231
        return $this;
2232
    }
2233
2234
    /**
2235
     * isset urlRef
2236
     *
2237
     * @param scalar $index
2238
     * @return boolean
2239
     */
2240
    public function issetUrlRef($index)
2241
    {
2242
        return isset($this->urlRef[$index]);
2243
    }
2244
2245
    /**
2246
     * unset urlRef
2247
     *
2248
     * @param scalar $index
2249
     * @return void
2250
     */
2251
    public function unsetUrlRef($index)
2252
    {
2253
        unset($this->urlRef[$index]);
2254
    }
2255
2256
    /**
2257
     * Gets as urlRef
2258
     *
2259
     * @return \AlgoWeb\ODataMetadata\MetadataV4\edm\TOneChildExpressionType[]
2260
     */
2261
    public function getUrlRef()
2262
    {
2263
        return $this->urlRef;
2264
    }
2265
2266
    /**
2267
     * Sets a new urlRef
2268
     *
2269
     * @param \AlgoWeb\ODataMetadata\MetadataV4\edm\TOneChildExpressionType[] $urlRef
2270
     * @return self
2271
     */
2272
    public function setUrlRef(array $urlRef)
2273
    {
2274
        $this->urlRef = $urlRef;
2275
        return $this;
2276
    }
2277
}
2278