EwsNotificationType::getNewMailEvent()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 1
nc 2
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace StructType;
6
7
use InvalidArgumentException;
8
use WsdlToPhp\PackageBase\AbstractStructBase;
9
10
/**
11
 * This class stands for NotificationType StructType
12
 * @package Ews
13
 * @subpackage Structs
14
 * @author WsdlToPhp <[email protected]>
15
 */
16
class EwsNotificationType extends AbstractStructBase
17
{
18
    /**
19
     * The SubscriptionId
20
     * Meta information extracted from the WSDL
21
     * - base: t:NonEmptyStringType
22
     * - minLength: 1
23
     * @var string|null
24
     */
25
    protected ?string $SubscriptionId = null;
26
    /**
27
     * The PreviousWatermark
28
     * Meta information extracted from the WSDL
29
     * - base: t:NonEmptyStringType
30
     * - minLength: 1
31
     * - minOccurs: 0
32
     * @var string|null
33
     */
34
    protected ?string $PreviousWatermark = null;
35
    /**
36
     * The MoreEvents
37
     * Meta information extracted from the WSDL
38
     * - minOccurs: 0
39
     * @var bool|null
40
     */
41
    protected ?bool $MoreEvents = null;
42
    /**
43
     * The CopiedEvent
44
     * Meta information extracted from the WSDL
45
     * - choice: CopiedEvent | CreatedEvent | DeletedEvent | ModifiedEvent | MovedEvent | NewMailEvent | StatusEvent | FreeBusyChangedEvent
46
     * - choiceMaxOccurs: unbounded
47
     * - choiceMinOccurs: 1
48
     * @var \StructType\EwsMovedCopiedEventType|null
49
     */
50
    protected ?\StructType\EwsMovedCopiedEventType $CopiedEvent = null;
51
    /**
52
     * The CreatedEvent
53
     * Meta information extracted from the WSDL
54
     * - choice: CopiedEvent | CreatedEvent | DeletedEvent | ModifiedEvent | MovedEvent | NewMailEvent | StatusEvent | FreeBusyChangedEvent
55
     * - choiceMaxOccurs: unbounded
56
     * - choiceMinOccurs: 1
57
     * @var \StructType\EwsBaseObjectChangedEventType|null
58
     */
59
    protected ?\StructType\EwsBaseObjectChangedEventType $CreatedEvent = null;
60
    /**
61
     * The DeletedEvent
62
     * Meta information extracted from the WSDL
63
     * - choice: CopiedEvent | CreatedEvent | DeletedEvent | ModifiedEvent | MovedEvent | NewMailEvent | StatusEvent | FreeBusyChangedEvent
64
     * - choiceMaxOccurs: unbounded
65
     * - choiceMinOccurs: 1
66
     * @var \StructType\EwsBaseObjectChangedEventType|null
67
     */
68
    protected ?\StructType\EwsBaseObjectChangedEventType $DeletedEvent = null;
69
    /**
70
     * The ModifiedEvent
71
     * Meta information extracted from the WSDL
72
     * - choice: CopiedEvent | CreatedEvent | DeletedEvent | ModifiedEvent | MovedEvent | NewMailEvent | StatusEvent | FreeBusyChangedEvent
73
     * - choiceMaxOccurs: unbounded
74
     * - choiceMinOccurs: 1
75
     * @var \StructType\EwsModifiedEventType|null
76
     */
77
    protected ?\StructType\EwsModifiedEventType $ModifiedEvent = null;
78
    /**
79
     * The MovedEvent
80
     * Meta information extracted from the WSDL
81
     * - choice: CopiedEvent | CreatedEvent | DeletedEvent | ModifiedEvent | MovedEvent | NewMailEvent | StatusEvent | FreeBusyChangedEvent
82
     * - choiceMaxOccurs: unbounded
83
     * - choiceMinOccurs: 1
84
     * @var \StructType\EwsMovedCopiedEventType|null
85
     */
86
    protected ?\StructType\EwsMovedCopiedEventType $MovedEvent = null;
87
    /**
88
     * The NewMailEvent
89
     * Meta information extracted from the WSDL
90
     * - choice: CopiedEvent | CreatedEvent | DeletedEvent | ModifiedEvent | MovedEvent | NewMailEvent | StatusEvent | FreeBusyChangedEvent
91
     * - choiceMaxOccurs: unbounded
92
     * - choiceMinOccurs: 1
93
     * @var \StructType\EwsBaseObjectChangedEventType|null
94
     */
95
    protected ?\StructType\EwsBaseObjectChangedEventType $NewMailEvent = null;
96
    /**
97
     * The StatusEvent
98
     * Meta information extracted from the WSDL
99
     * - choice: CopiedEvent | CreatedEvent | DeletedEvent | ModifiedEvent | MovedEvent | NewMailEvent | StatusEvent | FreeBusyChangedEvent
100
     * - choiceMaxOccurs: unbounded
101
     * - choiceMinOccurs: 1
102
     * @var \StructType\EwsBaseNotificationEventType|null
103
     */
104
    protected ?\StructType\EwsBaseNotificationEventType $StatusEvent = null;
105
    /**
106
     * The FreeBusyChangedEvent
107
     * Meta information extracted from the WSDL
108
     * - choice: CopiedEvent | CreatedEvent | DeletedEvent | ModifiedEvent | MovedEvent | NewMailEvent | StatusEvent | FreeBusyChangedEvent
109
     * - choiceMaxOccurs: unbounded
110
     * - choiceMinOccurs: 1
111
     * @var \StructType\EwsBaseObjectChangedEventType|null
112
     */
113
    protected ?\StructType\EwsBaseObjectChangedEventType $FreeBusyChangedEvent = null;
114
    /**
115
     * Constructor method for NotificationType
116
     * @uses EwsNotificationType::setSubscriptionId()
117
     * @uses EwsNotificationType::setPreviousWatermark()
118
     * @uses EwsNotificationType::setMoreEvents()
119
     * @uses EwsNotificationType::setCopiedEvent()
120
     * @uses EwsNotificationType::setCreatedEvent()
121
     * @uses EwsNotificationType::setDeletedEvent()
122
     * @uses EwsNotificationType::setModifiedEvent()
123
     * @uses EwsNotificationType::setMovedEvent()
124
     * @uses EwsNotificationType::setNewMailEvent()
125
     * @uses EwsNotificationType::setStatusEvent()
126
     * @uses EwsNotificationType::setFreeBusyChangedEvent()
127
     * @param string $subscriptionId
128
     * @param string $previousWatermark
129
     * @param bool $moreEvents
130
     * @param \StructType\EwsMovedCopiedEventType $copiedEvent
131
     * @param \StructType\EwsBaseObjectChangedEventType $createdEvent
132
     * @param \StructType\EwsBaseObjectChangedEventType $deletedEvent
133
     * @param \StructType\EwsModifiedEventType $modifiedEvent
134
     * @param \StructType\EwsMovedCopiedEventType $movedEvent
135
     * @param \StructType\EwsBaseObjectChangedEventType $newMailEvent
136
     * @param \StructType\EwsBaseNotificationEventType $statusEvent
137
     * @param \StructType\EwsBaseObjectChangedEventType $freeBusyChangedEvent
138
     */
139
    public function __construct(?string $subscriptionId = null, ?string $previousWatermark = null, ?bool $moreEvents = null, ?\StructType\EwsMovedCopiedEventType $copiedEvent = null, ?\StructType\EwsBaseObjectChangedEventType $createdEvent = null, ?\StructType\EwsBaseObjectChangedEventType $deletedEvent = null, ?\StructType\EwsModifiedEventType $modifiedEvent = null, ?\StructType\EwsMovedCopiedEventType $movedEvent = null, ?\StructType\EwsBaseObjectChangedEventType $newMailEvent = null, ?\StructType\EwsBaseNotificationEventType $statusEvent = null, ?\StructType\EwsBaseObjectChangedEventType $freeBusyChangedEvent = null)
140
    {
141
        $this
142
            ->setSubscriptionId($subscriptionId)
143
            ->setPreviousWatermark($previousWatermark)
144
            ->setMoreEvents($moreEvents)
145
            ->setCopiedEvent($copiedEvent)
146
            ->setCreatedEvent($createdEvent)
147
            ->setDeletedEvent($deletedEvent)
148
            ->setModifiedEvent($modifiedEvent)
149
            ->setMovedEvent($movedEvent)
150
            ->setNewMailEvent($newMailEvent)
151
            ->setStatusEvent($statusEvent)
152
            ->setFreeBusyChangedEvent($freeBusyChangedEvent);
153
    }
154
    /**
155
     * Get SubscriptionId value
156
     * @return string|null
157
     */
158
    public function getSubscriptionId(): ?string
159
    {
160
        return $this->SubscriptionId;
161
    }
162
    /**
163
     * Set SubscriptionId value
164
     * @param string $subscriptionId
165
     * @return \StructType\EwsNotificationType
166
     */
167
    public function setSubscriptionId(?string $subscriptionId = null): self
168
    {
169
        // validation for constraint: string
170
        if (!is_null($subscriptionId) && !is_string($subscriptionId)) {
0 ignored issues
show
introduced by
The condition is_string($subscriptionId) is always true.
Loading history...
171
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($subscriptionId, true), gettype($subscriptionId)), __LINE__);
172
        }
173
        // validation for constraint: minLength(1)
174
        if (!is_null($subscriptionId) && mb_strlen((string) $subscriptionId) < 1) {
175
            throw new InvalidArgumentException(sprintf('Invalid length of %s, the number of characters/octets contained by the literal must be greater than or equal to 1', mb_strlen((string) $subscriptionId)), __LINE__);
176
        }
177
        $this->SubscriptionId = $subscriptionId;
178
        
179
        return $this;
180
    }
181
    /**
182
     * Get PreviousWatermark value
183
     * @return string|null
184
     */
185
    public function getPreviousWatermark(): ?string
186
    {
187
        return $this->PreviousWatermark;
188
    }
189
    /**
190
     * Set PreviousWatermark value
191
     * @param string $previousWatermark
192
     * @return \StructType\EwsNotificationType
193
     */
194
    public function setPreviousWatermark(?string $previousWatermark = null): self
195
    {
196
        // validation for constraint: string
197
        if (!is_null($previousWatermark) && !is_string($previousWatermark)) {
0 ignored issues
show
introduced by
The condition is_string($previousWatermark) is always true.
Loading history...
198
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($previousWatermark, true), gettype($previousWatermark)), __LINE__);
199
        }
200
        // validation for constraint: minLength(1)
201
        if (!is_null($previousWatermark) && mb_strlen((string) $previousWatermark) < 1) {
202
            throw new InvalidArgumentException(sprintf('Invalid length of %s, the number of characters/octets contained by the literal must be greater than or equal to 1', mb_strlen((string) $previousWatermark)), __LINE__);
203
        }
204
        $this->PreviousWatermark = $previousWatermark;
205
        
206
        return $this;
207
    }
208
    /**
209
     * Get MoreEvents value
210
     * @return bool|null
211
     */
212
    public function getMoreEvents(): ?bool
213
    {
214
        return $this->MoreEvents;
215
    }
216
    /**
217
     * Set MoreEvents value
218
     * @param bool $moreEvents
219
     * @return \StructType\EwsNotificationType
220
     */
221
    public function setMoreEvents(?bool $moreEvents = null): self
222
    {
223
        // validation for constraint: boolean
224
        if (!is_null($moreEvents) && !is_bool($moreEvents)) {
0 ignored issues
show
introduced by
The condition is_bool($moreEvents) is always true.
Loading history...
225
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($moreEvents, true), gettype($moreEvents)), __LINE__);
226
        }
227
        $this->MoreEvents = $moreEvents;
228
        
229
        return $this;
230
    }
231
    /**
232
     * Get CopiedEvent value
233
     * @return \StructType\EwsMovedCopiedEventType|null
234
     */
235
    public function getCopiedEvent(): ?\StructType\EwsMovedCopiedEventType
236
    {
237
        return isset($this->CopiedEvent) ? $this->CopiedEvent : null;
238
    }
239
    /**
240
     * This method is responsible for validating the value passed to the setCopiedEvent method
241
     * This method is willingly generated in order to preserve the one-line inline validation within the setCopiedEvent method
242
     * This has to validate that the property which is being set is the only one among the given choices
243
     * @param mixed $value
244
     * @return string A non-empty message if the values does not match the validation rules
245
     */
246
    public function validateCopiedEventForChoiceConstraintsFromSetCopiedEvent($value): string
247
    {
248
        $message = '';
249
        if (is_null($value)) {
250
            return $message;
251
        }
252
        $properties = [
253
            'CreatedEvent',
254
            'DeletedEvent',
255
            'ModifiedEvent',
256
            'MovedEvent',
257
            'NewMailEvent',
258
            'StatusEvent',
259
            'FreeBusyChangedEvent',
260
        ];
261
        try {
262
            foreach ($properties as $property) {
263
                if (isset($this->{$property})) {
264
                    throw new InvalidArgumentException(sprintf('The property CopiedEvent can\'t be set as the property %s is already set. Only one property must be set among these properties: CopiedEvent, %s.', $property, implode(', ', $properties)), __LINE__);
265
                }
266
            }
267
        } catch (InvalidArgumentException $e) {
268
            $message = $e->getMessage();
269
        }
270
        
271
        return $message;
272
    }
273
    /**
274
     * Set CopiedEvent value
275
     * This property belongs to a choice that allows only one property to exist. It is
276
     * therefore removable from the request, consequently if the value assigned to this
277
     * property is null, the property is removed from this object
278
     * @throws InvalidArgumentException
279
     * @param \StructType\EwsMovedCopiedEventType $copiedEvent
280
     * @return \StructType\EwsNotificationType
281
     */
282
    public function setCopiedEvent(?\StructType\EwsMovedCopiedEventType $copiedEvent = null): self
283
    {
284
        // validation for constraint: choice(CopiedEvent, CreatedEvent, DeletedEvent, ModifiedEvent, MovedEvent, NewMailEvent, StatusEvent, FreeBusyChangedEvent)
285
        if ('' !== ($copiedEventChoiceErrorMessage = self::validateCopiedEventForChoiceConstraintsFromSetCopiedEvent($copiedEvent))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNotificati...ntsFromSetCopiedEvent() is not static, but was called statically. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

285
        if ('' !== ($copiedEventChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateCopiedEventForChoiceConstraintsFromSetCopiedEvent($copiedEvent))) {
Loading history...
286
            throw new InvalidArgumentException($copiedEventChoiceErrorMessage, __LINE__);
287
        }
288
        if (is_null($copiedEvent) || (is_array($copiedEvent) && empty($copiedEvent))) {
289
            unset($this->CopiedEvent);
290
        } else {
291
            $this->CopiedEvent = $copiedEvent;
292
        }
293
        
294
        return $this;
295
    }
296
    /**
297
     * Get CreatedEvent value
298
     * @return \StructType\EwsBaseObjectChangedEventType|null
299
     */
300
    public function getCreatedEvent(): ?\StructType\EwsBaseObjectChangedEventType
301
    {
302
        return isset($this->CreatedEvent) ? $this->CreatedEvent : null;
303
    }
304
    /**
305
     * This method is responsible for validating the value passed to the setCreatedEvent method
306
     * This method is willingly generated in order to preserve the one-line inline validation within the setCreatedEvent method
307
     * This has to validate that the property which is being set is the only one among the given choices
308
     * @param mixed $value
309
     * @return string A non-empty message if the values does not match the validation rules
310
     */
311
    public function validateCreatedEventForChoiceConstraintsFromSetCreatedEvent($value): string
312
    {
313
        $message = '';
314
        if (is_null($value)) {
315
            return $message;
316
        }
317
        $properties = [
318
            'CopiedEvent',
319
            'DeletedEvent',
320
            'ModifiedEvent',
321
            'MovedEvent',
322
            'NewMailEvent',
323
            'StatusEvent',
324
            'FreeBusyChangedEvent',
325
        ];
326
        try {
327
            foreach ($properties as $property) {
328
                if (isset($this->{$property})) {
329
                    throw new InvalidArgumentException(sprintf('The property CreatedEvent can\'t be set as the property %s is already set. Only one property must be set among these properties: CreatedEvent, %s.', $property, implode(', ', $properties)), __LINE__);
330
                }
331
            }
332
        } catch (InvalidArgumentException $e) {
333
            $message = $e->getMessage();
334
        }
335
        
336
        return $message;
337
    }
338
    /**
339
     * Set CreatedEvent value
340
     * This property belongs to a choice that allows only one property to exist. It is
341
     * therefore removable from the request, consequently if the value assigned to this
342
     * property is null, the property is removed from this object
343
     * @throws InvalidArgumentException
344
     * @param \StructType\EwsBaseObjectChangedEventType $createdEvent
345
     * @return \StructType\EwsNotificationType
346
     */
347
    public function setCreatedEvent(?\StructType\EwsBaseObjectChangedEventType $createdEvent = null): self
348
    {
349
        // validation for constraint: choice(CopiedEvent, CreatedEvent, DeletedEvent, ModifiedEvent, MovedEvent, NewMailEvent, StatusEvent, FreeBusyChangedEvent)
350
        if ('' !== ($createdEventChoiceErrorMessage = self::validateCreatedEventForChoiceConstraintsFromSetCreatedEvent($createdEvent))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNotificati...tsFromSetCreatedEvent() is not static, but was called statically. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

350
        if ('' !== ($createdEventChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateCreatedEventForChoiceConstraintsFromSetCreatedEvent($createdEvent))) {
Loading history...
351
            throw new InvalidArgumentException($createdEventChoiceErrorMessage, __LINE__);
352
        }
353
        if (is_null($createdEvent) || (is_array($createdEvent) && empty($createdEvent))) {
354
            unset($this->CreatedEvent);
355
        } else {
356
            $this->CreatedEvent = $createdEvent;
357
        }
358
        
359
        return $this;
360
    }
361
    /**
362
     * Get DeletedEvent value
363
     * @return \StructType\EwsBaseObjectChangedEventType|null
364
     */
365
    public function getDeletedEvent(): ?\StructType\EwsBaseObjectChangedEventType
366
    {
367
        return isset($this->DeletedEvent) ? $this->DeletedEvent : null;
368
    }
369
    /**
370
     * This method is responsible for validating the value passed to the setDeletedEvent method
371
     * This method is willingly generated in order to preserve the one-line inline validation within the setDeletedEvent method
372
     * This has to validate that the property which is being set is the only one among the given choices
373
     * @param mixed $value
374
     * @return string A non-empty message if the values does not match the validation rules
375
     */
376
    public function validateDeletedEventForChoiceConstraintsFromSetDeletedEvent($value): string
377
    {
378
        $message = '';
379
        if (is_null($value)) {
380
            return $message;
381
        }
382
        $properties = [
383
            'CopiedEvent',
384
            'CreatedEvent',
385
            'ModifiedEvent',
386
            'MovedEvent',
387
            'NewMailEvent',
388
            'StatusEvent',
389
            'FreeBusyChangedEvent',
390
        ];
391
        try {
392
            foreach ($properties as $property) {
393
                if (isset($this->{$property})) {
394
                    throw new InvalidArgumentException(sprintf('The property DeletedEvent can\'t be set as the property %s is already set. Only one property must be set among these properties: DeletedEvent, %s.', $property, implode(', ', $properties)), __LINE__);
395
                }
396
            }
397
        } catch (InvalidArgumentException $e) {
398
            $message = $e->getMessage();
399
        }
400
        
401
        return $message;
402
    }
403
    /**
404
     * Set DeletedEvent value
405
     * This property belongs to a choice that allows only one property to exist. It is
406
     * therefore removable from the request, consequently if the value assigned to this
407
     * property is null, the property is removed from this object
408
     * @throws InvalidArgumentException
409
     * @param \StructType\EwsBaseObjectChangedEventType $deletedEvent
410
     * @return \StructType\EwsNotificationType
411
     */
412
    public function setDeletedEvent(?\StructType\EwsBaseObjectChangedEventType $deletedEvent = null): self
413
    {
414
        // validation for constraint: choice(CopiedEvent, CreatedEvent, DeletedEvent, ModifiedEvent, MovedEvent, NewMailEvent, StatusEvent, FreeBusyChangedEvent)
415
        if ('' !== ($deletedEventChoiceErrorMessage = self::validateDeletedEventForChoiceConstraintsFromSetDeletedEvent($deletedEvent))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNotificati...tsFromSetDeletedEvent() is not static, but was called statically. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

415
        if ('' !== ($deletedEventChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateDeletedEventForChoiceConstraintsFromSetDeletedEvent($deletedEvent))) {
Loading history...
416
            throw new InvalidArgumentException($deletedEventChoiceErrorMessage, __LINE__);
417
        }
418
        if (is_null($deletedEvent) || (is_array($deletedEvent) && empty($deletedEvent))) {
419
            unset($this->DeletedEvent);
420
        } else {
421
            $this->DeletedEvent = $deletedEvent;
422
        }
423
        
424
        return $this;
425
    }
426
    /**
427
     * Get ModifiedEvent value
428
     * @return \StructType\EwsModifiedEventType|null
429
     */
430
    public function getModifiedEvent(): ?\StructType\EwsModifiedEventType
431
    {
432
        return isset($this->ModifiedEvent) ? $this->ModifiedEvent : null;
433
    }
434
    /**
435
     * This method is responsible for validating the value passed to the setModifiedEvent method
436
     * This method is willingly generated in order to preserve the one-line inline validation within the setModifiedEvent method
437
     * This has to validate that the property which is being set is the only one among the given choices
438
     * @param mixed $value
439
     * @return string A non-empty message if the values does not match the validation rules
440
     */
441
    public function validateModifiedEventForChoiceConstraintsFromSetModifiedEvent($value): string
442
    {
443
        $message = '';
444
        if (is_null($value)) {
445
            return $message;
446
        }
447
        $properties = [
448
            'CopiedEvent',
449
            'CreatedEvent',
450
            'DeletedEvent',
451
            'MovedEvent',
452
            'NewMailEvent',
453
            'StatusEvent',
454
            'FreeBusyChangedEvent',
455
        ];
456
        try {
457
            foreach ($properties as $property) {
458
                if (isset($this->{$property})) {
459
                    throw new InvalidArgumentException(sprintf('The property ModifiedEvent can\'t be set as the property %s is already set. Only one property must be set among these properties: ModifiedEvent, %s.', $property, implode(', ', $properties)), __LINE__);
460
                }
461
            }
462
        } catch (InvalidArgumentException $e) {
463
            $message = $e->getMessage();
464
        }
465
        
466
        return $message;
467
    }
468
    /**
469
     * Set ModifiedEvent value
470
     * This property belongs to a choice that allows only one property to exist. It is
471
     * therefore removable from the request, consequently if the value assigned to this
472
     * property is null, the property is removed from this object
473
     * @throws InvalidArgumentException
474
     * @param \StructType\EwsModifiedEventType $modifiedEvent
475
     * @return \StructType\EwsNotificationType
476
     */
477
    public function setModifiedEvent(?\StructType\EwsModifiedEventType $modifiedEvent = null): self
478
    {
479
        // validation for constraint: choice(CopiedEvent, CreatedEvent, DeletedEvent, ModifiedEvent, MovedEvent, NewMailEvent, StatusEvent, FreeBusyChangedEvent)
480
        if ('' !== ($modifiedEventChoiceErrorMessage = self::validateModifiedEventForChoiceConstraintsFromSetModifiedEvent($modifiedEvent))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNotificati...sFromSetModifiedEvent() is not static, but was called statically. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

480
        if ('' !== ($modifiedEventChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateModifiedEventForChoiceConstraintsFromSetModifiedEvent($modifiedEvent))) {
Loading history...
481
            throw new InvalidArgumentException($modifiedEventChoiceErrorMessage, __LINE__);
482
        }
483
        if (is_null($modifiedEvent) || (is_array($modifiedEvent) && empty($modifiedEvent))) {
484
            unset($this->ModifiedEvent);
485
        } else {
486
            $this->ModifiedEvent = $modifiedEvent;
487
        }
488
        
489
        return $this;
490
    }
491
    /**
492
     * Get MovedEvent value
493
     * @return \StructType\EwsMovedCopiedEventType|null
494
     */
495
    public function getMovedEvent(): ?\StructType\EwsMovedCopiedEventType
496
    {
497
        return isset($this->MovedEvent) ? $this->MovedEvent : null;
498
    }
499
    /**
500
     * This method is responsible for validating the value passed to the setMovedEvent method
501
     * This method is willingly generated in order to preserve the one-line inline validation within the setMovedEvent method
502
     * This has to validate that the property which is being set is the only one among the given choices
503
     * @param mixed $value
504
     * @return string A non-empty message if the values does not match the validation rules
505
     */
506
    public function validateMovedEventForChoiceConstraintsFromSetMovedEvent($value): string
507
    {
508
        $message = '';
509
        if (is_null($value)) {
510
            return $message;
511
        }
512
        $properties = [
513
            'CopiedEvent',
514
            'CreatedEvent',
515
            'DeletedEvent',
516
            'ModifiedEvent',
517
            'NewMailEvent',
518
            'StatusEvent',
519
            'FreeBusyChangedEvent',
520
        ];
521
        try {
522
            foreach ($properties as $property) {
523
                if (isset($this->{$property})) {
524
                    throw new InvalidArgumentException(sprintf('The property MovedEvent can\'t be set as the property %s is already set. Only one property must be set among these properties: MovedEvent, %s.', $property, implode(', ', $properties)), __LINE__);
525
                }
526
            }
527
        } catch (InvalidArgumentException $e) {
528
            $message = $e->getMessage();
529
        }
530
        
531
        return $message;
532
    }
533
    /**
534
     * Set MovedEvent value
535
     * This property belongs to a choice that allows only one property to exist. It is
536
     * therefore removable from the request, consequently if the value assigned to this
537
     * property is null, the property is removed from this object
538
     * @throws InvalidArgumentException
539
     * @param \StructType\EwsMovedCopiedEventType $movedEvent
540
     * @return \StructType\EwsNotificationType
541
     */
542
    public function setMovedEvent(?\StructType\EwsMovedCopiedEventType $movedEvent = null): self
543
    {
544
        // validation for constraint: choice(CopiedEvent, CreatedEvent, DeletedEvent, ModifiedEvent, MovedEvent, NewMailEvent, StatusEvent, FreeBusyChangedEvent)
545
        if ('' !== ($movedEventChoiceErrorMessage = self::validateMovedEventForChoiceConstraintsFromSetMovedEvent($movedEvent))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNotificati...intsFromSetMovedEvent() is not static, but was called statically. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

545
        if ('' !== ($movedEventChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateMovedEventForChoiceConstraintsFromSetMovedEvent($movedEvent))) {
Loading history...
546
            throw new InvalidArgumentException($movedEventChoiceErrorMessage, __LINE__);
547
        }
548
        if (is_null($movedEvent) || (is_array($movedEvent) && empty($movedEvent))) {
549
            unset($this->MovedEvent);
550
        } else {
551
            $this->MovedEvent = $movedEvent;
552
        }
553
        
554
        return $this;
555
    }
556
    /**
557
     * Get NewMailEvent value
558
     * @return \StructType\EwsBaseObjectChangedEventType|null
559
     */
560
    public function getNewMailEvent(): ?\StructType\EwsBaseObjectChangedEventType
561
    {
562
        return isset($this->NewMailEvent) ? $this->NewMailEvent : null;
563
    }
564
    /**
565
     * This method is responsible for validating the value passed to the setNewMailEvent method
566
     * This method is willingly generated in order to preserve the one-line inline validation within the setNewMailEvent method
567
     * This has to validate that the property which is being set is the only one among the given choices
568
     * @param mixed $value
569
     * @return string A non-empty message if the values does not match the validation rules
570
     */
571
    public function validateNewMailEventForChoiceConstraintsFromSetNewMailEvent($value): string
572
    {
573
        $message = '';
574
        if (is_null($value)) {
575
            return $message;
576
        }
577
        $properties = [
578
            'CopiedEvent',
579
            'CreatedEvent',
580
            'DeletedEvent',
581
            'ModifiedEvent',
582
            'MovedEvent',
583
            'StatusEvent',
584
            'FreeBusyChangedEvent',
585
        ];
586
        try {
587
            foreach ($properties as $property) {
588
                if (isset($this->{$property})) {
589
                    throw new InvalidArgumentException(sprintf('The property NewMailEvent can\'t be set as the property %s is already set. Only one property must be set among these properties: NewMailEvent, %s.', $property, implode(', ', $properties)), __LINE__);
590
                }
591
            }
592
        } catch (InvalidArgumentException $e) {
593
            $message = $e->getMessage();
594
        }
595
        
596
        return $message;
597
    }
598
    /**
599
     * Set NewMailEvent value
600
     * This property belongs to a choice that allows only one property to exist. It is
601
     * therefore removable from the request, consequently if the value assigned to this
602
     * property is null, the property is removed from this object
603
     * @throws InvalidArgumentException
604
     * @param \StructType\EwsBaseObjectChangedEventType $newMailEvent
605
     * @return \StructType\EwsNotificationType
606
     */
607
    public function setNewMailEvent(?\StructType\EwsBaseObjectChangedEventType $newMailEvent = null): self
608
    {
609
        // validation for constraint: choice(CopiedEvent, CreatedEvent, DeletedEvent, ModifiedEvent, MovedEvent, NewMailEvent, StatusEvent, FreeBusyChangedEvent)
610
        if ('' !== ($newMailEventChoiceErrorMessage = self::validateNewMailEventForChoiceConstraintsFromSetNewMailEvent($newMailEvent))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNotificati...tsFromSetNewMailEvent() is not static, but was called statically. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

610
        if ('' !== ($newMailEventChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateNewMailEventForChoiceConstraintsFromSetNewMailEvent($newMailEvent))) {
Loading history...
611
            throw new InvalidArgumentException($newMailEventChoiceErrorMessage, __LINE__);
612
        }
613
        if (is_null($newMailEvent) || (is_array($newMailEvent) && empty($newMailEvent))) {
614
            unset($this->NewMailEvent);
615
        } else {
616
            $this->NewMailEvent = $newMailEvent;
617
        }
618
        
619
        return $this;
620
    }
621
    /**
622
     * Get StatusEvent value
623
     * @return \StructType\EwsBaseNotificationEventType|null
624
     */
625
    public function getStatusEvent(): ?\StructType\EwsBaseNotificationEventType
626
    {
627
        return isset($this->StatusEvent) ? $this->StatusEvent : null;
628
    }
629
    /**
630
     * This method is responsible for validating the value passed to the setStatusEvent method
631
     * This method is willingly generated in order to preserve the one-line inline validation within the setStatusEvent method
632
     * This has to validate that the property which is being set is the only one among the given choices
633
     * @param mixed $value
634
     * @return string A non-empty message if the values does not match the validation rules
635
     */
636
    public function validateStatusEventForChoiceConstraintsFromSetStatusEvent($value): string
637
    {
638
        $message = '';
639
        if (is_null($value)) {
640
            return $message;
641
        }
642
        $properties = [
643
            'CopiedEvent',
644
            'CreatedEvent',
645
            'DeletedEvent',
646
            'ModifiedEvent',
647
            'MovedEvent',
648
            'NewMailEvent',
649
            'FreeBusyChangedEvent',
650
        ];
651
        try {
652
            foreach ($properties as $property) {
653
                if (isset($this->{$property})) {
654
                    throw new InvalidArgumentException(sprintf('The property StatusEvent can\'t be set as the property %s is already set. Only one property must be set among these properties: StatusEvent, %s.', $property, implode(', ', $properties)), __LINE__);
655
                }
656
            }
657
        } catch (InvalidArgumentException $e) {
658
            $message = $e->getMessage();
659
        }
660
        
661
        return $message;
662
    }
663
    /**
664
     * Set StatusEvent value
665
     * This property belongs to a choice that allows only one property to exist. It is
666
     * therefore removable from the request, consequently if the value assigned to this
667
     * property is null, the property is removed from this object
668
     * @throws InvalidArgumentException
669
     * @param \StructType\EwsBaseNotificationEventType $statusEvent
670
     * @return \StructType\EwsNotificationType
671
     */
672
    public function setStatusEvent(?\StructType\EwsBaseNotificationEventType $statusEvent = null): self
673
    {
674
        // validation for constraint: choice(CopiedEvent, CreatedEvent, DeletedEvent, ModifiedEvent, MovedEvent, NewMailEvent, StatusEvent, FreeBusyChangedEvent)
675
        if ('' !== ($statusEventChoiceErrorMessage = self::validateStatusEventForChoiceConstraintsFromSetStatusEvent($statusEvent))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNotificati...ntsFromSetStatusEvent() is not static, but was called statically. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

675
        if ('' !== ($statusEventChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateStatusEventForChoiceConstraintsFromSetStatusEvent($statusEvent))) {
Loading history...
676
            throw new InvalidArgumentException($statusEventChoiceErrorMessage, __LINE__);
677
        }
678
        if (is_null($statusEvent) || (is_array($statusEvent) && empty($statusEvent))) {
679
            unset($this->StatusEvent);
680
        } else {
681
            $this->StatusEvent = $statusEvent;
682
        }
683
        
684
        return $this;
685
    }
686
    /**
687
     * Get FreeBusyChangedEvent value
688
     * @return \StructType\EwsBaseObjectChangedEventType|null
689
     */
690
    public function getFreeBusyChangedEvent(): ?\StructType\EwsBaseObjectChangedEventType
691
    {
692
        return isset($this->FreeBusyChangedEvent) ? $this->FreeBusyChangedEvent : null;
693
    }
694
    /**
695
     * This method is responsible for validating the value passed to the setFreeBusyChangedEvent method
696
     * This method is willingly generated in order to preserve the one-line inline validation within the setFreeBusyChangedEvent method
697
     * This has to validate that the property which is being set is the only one among the given choices
698
     * @param mixed $value
699
     * @return string A non-empty message if the values does not match the validation rules
700
     */
701
    public function validateFreeBusyChangedEventForChoiceConstraintsFromSetFreeBusyChangedEvent($value): string
702
    {
703
        $message = '';
704
        if (is_null($value)) {
705
            return $message;
706
        }
707
        $properties = [
708
            'CopiedEvent',
709
            'CreatedEvent',
710
            'DeletedEvent',
711
            'ModifiedEvent',
712
            'MovedEvent',
713
            'NewMailEvent',
714
            'StatusEvent',
715
        ];
716
        try {
717
            foreach ($properties as $property) {
718
                if (isset($this->{$property})) {
719
                    throw new InvalidArgumentException(sprintf('The property FreeBusyChangedEvent can\'t be set as the property %s is already set. Only one property must be set among these properties: FreeBusyChangedEvent, %s.', $property, implode(', ', $properties)), __LINE__);
720
                }
721
            }
722
        } catch (InvalidArgumentException $e) {
723
            $message = $e->getMessage();
724
        }
725
        
726
        return $message;
727
    }
728
    /**
729
     * Set FreeBusyChangedEvent value
730
     * This property belongs to a choice that allows only one property to exist. It is
731
     * therefore removable from the request, consequently if the value assigned to this
732
     * property is null, the property is removed from this object
733
     * @throws InvalidArgumentException
734
     * @param \StructType\EwsBaseObjectChangedEventType $freeBusyChangedEvent
735
     * @return \StructType\EwsNotificationType
736
     */
737
    public function setFreeBusyChangedEvent(?\StructType\EwsBaseObjectChangedEventType $freeBusyChangedEvent = null): self
738
    {
739
        // validation for constraint: choice(CopiedEvent, CreatedEvent, DeletedEvent, ModifiedEvent, MovedEvent, NewMailEvent, StatusEvent, FreeBusyChangedEvent)
740
        if ('' !== ($freeBusyChangedEventChoiceErrorMessage = self::validateFreeBusyChangedEventForChoiceConstraintsFromSetFreeBusyChangedEvent($freeBusyChangedEvent))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNotificati...tFreeBusyChangedEvent() is not static, but was called statically. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

740
        if ('' !== ($freeBusyChangedEventChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateFreeBusyChangedEventForChoiceConstraintsFromSetFreeBusyChangedEvent($freeBusyChangedEvent))) {
Loading history...
741
            throw new InvalidArgumentException($freeBusyChangedEventChoiceErrorMessage, __LINE__);
742
        }
743
        if (is_null($freeBusyChangedEvent) || (is_array($freeBusyChangedEvent) && empty($freeBusyChangedEvent))) {
744
            unset($this->FreeBusyChangedEvent);
745
        } else {
746
            $this->FreeBusyChangedEvent = $freeBusyChangedEvent;
747
        }
748
        
749
        return $this;
750
    }
751
}
752