EwsItemType::__construct()   B
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 64
Code Lines 62

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 62
nc 1
nop 61
dl 0
loc 64
rs 8.829
c 0
b 0
f 0

How to fix   Long Method    Many Parameters   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

Many Parameters

Methods with many parameters are not only hard to understand, but their parameters also often become inconsistent when you need more, or different data.

There are several approaches to avoid long parameter lists:

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 ItemType StructType
12
 * @package Ews
13
 * @subpackage Structs
14
 * @author WsdlToPhp <[email protected]>
15
 */
16
class EwsItemType extends AbstractStructBase
17
{
18
    /**
19
     * The MimeContent
20
     * Meta information extracted from the WSDL
21
     * - minOccurs: 0
22
     * @var \StructType\EwsMimeContentType|null
23
     */
24
    protected ?\StructType\EwsMimeContentType $MimeContent = null;
25
    /**
26
     * The ItemId
27
     * Meta information extracted from the WSDL
28
     * - minOccurs: 0
29
     * @var \StructType\EwsItemIdType|null
30
     */
31
    protected ?\StructType\EwsItemIdType $ItemId = null;
32
    /**
33
     * The ParentFolderId
34
     * Meta information extracted from the WSDL
35
     * - minOccurs: 0
36
     * @var \StructType\EwsFolderIdType|null
37
     */
38
    protected ?\StructType\EwsFolderIdType $ParentFolderId = null;
39
    /**
40
     * The ItemClass
41
     * Meta information extracted from the WSDL
42
     * - base: xs:string
43
     * - minOccurs: 0
44
     * @var string|null
45
     */
46
    protected ?string $ItemClass = null;
47
    /**
48
     * The Subject
49
     * Meta information extracted from the WSDL
50
     * - minOccurs: 0
51
     * @var string|null
52
     */
53
    protected ?string $Subject = null;
54
    /**
55
     * The Sensitivity
56
     * Meta information extracted from the WSDL
57
     * - minOccurs: 0
58
     * @var string|null
59
     */
60
    protected ?string $Sensitivity = null;
61
    /**
62
     * The Body
63
     * Meta information extracted from the WSDL
64
     * - minOccurs: 0
65
     * @var \StructType\EwsBodyType|null
66
     */
67
    protected ?\StructType\EwsBodyType $Body = null;
68
    /**
69
     * The Attachments
70
     * Meta information extracted from the WSDL
71
     * - minOccurs: 0
72
     * @var \StructType\EwsNonEmptyArrayOfAttachmentsType|null
73
     */
74
    protected ?\StructType\EwsNonEmptyArrayOfAttachmentsType $Attachments = null;
75
    /**
76
     * The DateTimeReceived
77
     * Meta information extracted from the WSDL
78
     * - minOccurs: 0
79
     * @var string|null
80
     */
81
    protected ?string $DateTimeReceived = null;
82
    /**
83
     * The Size
84
     * Meta information extracted from the WSDL
85
     * - minOccurs: 0
86
     * @var int|null
87
     */
88
    protected ?int $Size = null;
89
    /**
90
     * The Categories
91
     * Meta information extracted from the WSDL
92
     * - minOccurs: 0
93
     * @var \ArrayType\EwsArrayOfStringsType|null
94
     */
95
    protected ?\ArrayType\EwsArrayOfStringsType $Categories = null;
96
    /**
97
     * The Importance
98
     * Meta information extracted from the WSDL
99
     * - minOccurs: 0
100
     * @var string|null
101
     */
102
    protected ?string $Importance = null;
103
    /**
104
     * The InReplyTo
105
     * Meta information extracted from the WSDL
106
     * - minOccurs: 0
107
     * @var string|null
108
     */
109
    protected ?string $InReplyTo = null;
110
    /**
111
     * The IsSubmitted
112
     * Meta information extracted from the WSDL
113
     * - minOccurs: 0
114
     * @var bool|null
115
     */
116
    protected ?bool $IsSubmitted = null;
117
    /**
118
     * The IsDraft
119
     * Meta information extracted from the WSDL
120
     * - minOccurs: 0
121
     * @var bool|null
122
     */
123
    protected ?bool $IsDraft = null;
124
    /**
125
     * The IsFromMe
126
     * Meta information extracted from the WSDL
127
     * - minOccurs: 0
128
     * @var bool|null
129
     */
130
    protected ?bool $IsFromMe = null;
131
    /**
132
     * The IsResend
133
     * Meta information extracted from the WSDL
134
     * - minOccurs: 0
135
     * @var bool|null
136
     */
137
    protected ?bool $IsResend = null;
138
    /**
139
     * The IsUnmodified
140
     * Meta information extracted from the WSDL
141
     * - minOccurs: 0
142
     * @var bool|null
143
     */
144
    protected ?bool $IsUnmodified = null;
145
    /**
146
     * The InternetMessageHeaders
147
     * Meta information extracted from the WSDL
148
     * - minOccurs: 0
149
     * @var \ArrayType\EwsNonEmptyArrayOfInternetHeadersType|null
150
     */
151
    protected ?\ArrayType\EwsNonEmptyArrayOfInternetHeadersType $InternetMessageHeaders = null;
152
    /**
153
     * The DateTimeSent
154
     * Meta information extracted from the WSDL
155
     * - minOccurs: 0
156
     * @var string|null
157
     */
158
    protected ?string $DateTimeSent = null;
159
    /**
160
     * The DateTimeCreated
161
     * Meta information extracted from the WSDL
162
     * - minOccurs: 0
163
     * @var string|null
164
     */
165
    protected ?string $DateTimeCreated = null;
166
    /**
167
     * The ResponseObjects
168
     * Meta information extracted from the WSDL
169
     * - minOccurs: 0
170
     * @var \StructType\EwsNonEmptyArrayOfResponseObjectsType|null
171
     */
172
    protected ?\StructType\EwsNonEmptyArrayOfResponseObjectsType $ResponseObjects = null;
173
    /**
174
     * The ReminderDueBy
175
     * Meta information extracted from the WSDL
176
     * - minOccurs: 0
177
     * @var string|null
178
     */
179
    protected ?string $ReminderDueBy = null;
180
    /**
181
     * The ReminderIsSet
182
     * Meta information extracted from the WSDL
183
     * - minOccurs: 0
184
     * @var bool|null
185
     */
186
    protected ?bool $ReminderIsSet = null;
187
    /**
188
     * The ReminderNextTime
189
     * Meta information extracted from the WSDL
190
     * - minOccurs: 0
191
     * @var string|null
192
     */
193
    protected ?string $ReminderNextTime = null;
194
    /**
195
     * The ReminderMinutesBeforeStart
196
     * Meta information extracted from the WSDL
197
     * - minOccurs: 0
198
     * - union: int
199
     * @var string|null
200
     */
201
    protected ?string $ReminderMinutesBeforeStart = null;
202
    /**
203
     * The DisplayCc
204
     * Meta information extracted from the WSDL
205
     * - minOccurs: 0
206
     * @var string|null
207
     */
208
    protected ?string $DisplayCc = null;
209
    /**
210
     * The DisplayTo
211
     * Meta information extracted from the WSDL
212
     * - minOccurs: 0
213
     * @var string|null
214
     */
215
    protected ?string $DisplayTo = null;
216
    /**
217
     * The HasAttachments
218
     * Meta information extracted from the WSDL
219
     * - minOccurs: 0
220
     * @var bool|null
221
     */
222
    protected ?bool $HasAttachments = null;
223
    /**
224
     * The ExtendedProperty
225
     * Meta information extracted from the WSDL
226
     * - maxOccurs: unbounded
227
     * - minOccurs: 0
228
     * @var \StructType\EwsExtendedPropertyType[]
229
     */
230
    protected array $ExtendedProperty = [];
231
    /**
232
     * The Culture
233
     * Meta information extracted from the WSDL
234
     * - minOccurs: 0
235
     * @var string|null
236
     */
237
    protected ?string $Culture = null;
238
    /**
239
     * The EffectiveRights
240
     * Meta information extracted from the WSDL
241
     * - minOccurs: 0
242
     * @var \StructType\EwsEffectiveRightsType|null
243
     */
244
    protected ?\StructType\EwsEffectiveRightsType $EffectiveRights = null;
245
    /**
246
     * The LastModifiedName
247
     * Meta information extracted from the WSDL
248
     * - minOccurs: 0
249
     * @var string|null
250
     */
251
    protected ?string $LastModifiedName = null;
252
    /**
253
     * The LastModifiedTime
254
     * Meta information extracted from the WSDL
255
     * - minOccurs: 0
256
     * @var string|null
257
     */
258
    protected ?string $LastModifiedTime = null;
259
    /**
260
     * The IsAssociated
261
     * Meta information extracted from the WSDL
262
     * - minOccurs: 0
263
     * @var bool|null
264
     */
265
    protected ?bool $IsAssociated = null;
266
    /**
267
     * The WebClientReadFormQueryString
268
     * Meta information extracted from the WSDL
269
     * - minOccurs: 0
270
     * @var string|null
271
     */
272
    protected ?string $WebClientReadFormQueryString = null;
273
    /**
274
     * The WebClientEditFormQueryString
275
     * Meta information extracted from the WSDL
276
     * - minOccurs: 0
277
     * @var string|null
278
     */
279
    protected ?string $WebClientEditFormQueryString = null;
280
    /**
281
     * The ConversationId
282
     * Meta information extracted from the WSDL
283
     * - minOccurs: 0
284
     * @var \StructType\EwsItemIdType|null
285
     */
286
    protected ?\StructType\EwsItemIdType $ConversationId = null;
287
    /**
288
     * The UniqueBody
289
     * Meta information extracted from the WSDL
290
     * - minOccurs: 0
291
     * @var \StructType\EwsBodyType|null
292
     */
293
    protected ?\StructType\EwsBodyType $UniqueBody = null;
294
    /**
295
     * The Flag
296
     * Meta information extracted from the WSDL
297
     * - minOccurs: 0
298
     * @var \StructType\EwsFlagType|null
299
     */
300
    protected ?\StructType\EwsFlagType $Flag = null;
301
    /**
302
     * The StoreEntryId
303
     * Meta information extracted from the WSDL
304
     * - minOccurs: 0
305
     * @var string|null
306
     */
307
    protected ?string $StoreEntryId = null;
308
    /**
309
     * The InstanceKey
310
     * Meta information extracted from the WSDL
311
     * - minOccurs: 0
312
     * @var string|null
313
     */
314
    protected ?string $InstanceKey = null;
315
    /**
316
     * The NormalizedBody
317
     * Meta information extracted from the WSDL
318
     * - minOccurs: 0
319
     * @var \StructType\EwsBodyType|null
320
     */
321
    protected ?\StructType\EwsBodyType $NormalizedBody = null;
322
    /**
323
     * The EntityExtractionResult
324
     * Meta information extracted from the WSDL
325
     * - minOccurs: 0
326
     * @var \StructType\EwsEntityExtractionResultType|null
327
     */
328
    protected ?\StructType\EwsEntityExtractionResultType $EntityExtractionResult = null;
329
    /**
330
     * The PolicyTag
331
     * Meta information extracted from the WSDL
332
     * - minOccurs: 0
333
     * @var \StructType\EwsRetentionTagType|null
334
     */
335
    protected ?\StructType\EwsRetentionTagType $PolicyTag = null;
336
    /**
337
     * The ArchiveTag
338
     * Meta information extracted from the WSDL
339
     * - minOccurs: 0
340
     * @var \StructType\EwsRetentionTagType|null
341
     */
342
    protected ?\StructType\EwsRetentionTagType $ArchiveTag = null;
343
    /**
344
     * The RetentionDate
345
     * Meta information extracted from the WSDL
346
     * - minOccurs: 0
347
     * @var string|null
348
     */
349
    protected ?string $RetentionDate = null;
350
    /**
351
     * The Preview
352
     * Meta information extracted from the WSDL
353
     * - minOccurs: 0
354
     * @var string|null
355
     */
356
    protected ?string $Preview = null;
357
    /**
358
     * The RightsManagementLicenseData
359
     * Meta information extracted from the WSDL
360
     * - minOccurs: 0
361
     * @var \StructType\EwsRightsManagementLicenseDataType|null
362
     */
363
    protected ?\StructType\EwsRightsManagementLicenseDataType $RightsManagementLicenseData = null;
364
    /**
365
     * The PredictedActionReasons
366
     * Meta information extracted from the WSDL
367
     * - minOccurs: 0
368
     * @var \ArrayType\EwsNonEmptyArrayOfPredictedActionReasonType|null
369
     */
370
    protected ?\ArrayType\EwsNonEmptyArrayOfPredictedActionReasonType $PredictedActionReasons = null;
371
    /**
372
     * The IsClutter
373
     * Meta information extracted from the WSDL
374
     * - minOccurs: 0
375
     * @var bool|null
376
     */
377
    protected ?bool $IsClutter = null;
378
    /**
379
     * The BlockStatus
380
     * Meta information extracted from the WSDL
381
     * - minOccurs: 0
382
     * @var bool|null
383
     */
384
    protected ?bool $BlockStatus = null;
385
    /**
386
     * The HasBlockedImages
387
     * Meta information extracted from the WSDL
388
     * - minOccurs: 0
389
     * @var bool|null
390
     */
391
    protected ?bool $HasBlockedImages = null;
392
    /**
393
     * The TextBody
394
     * Meta information extracted from the WSDL
395
     * - minOccurs: 0
396
     * @var \StructType\EwsBodyType|null
397
     */
398
    protected ?\StructType\EwsBodyType $TextBody = null;
399
    /**
400
     * The IconIndex
401
     * Meta information extracted from the WSDL
402
     * - minOccurs: 0
403
     * @var string|null
404
     */
405
    protected ?string $IconIndex = null;
406
    /**
407
     * The SearchKey
408
     * Meta information extracted from the WSDL
409
     * - minOccurs: 0
410
     * @var string|null
411
     */
412
    protected ?string $SearchKey = null;
413
    /**
414
     * The SortKey
415
     * Meta information extracted from the WSDL
416
     * - minOccurs: 0
417
     * @var int|null
418
     */
419
    protected ?int $SortKey = null;
420
    /**
421
     * The Hashtags
422
     * Meta information extracted from the WSDL
423
     * - minOccurs: 0
424
     * @var \ArrayType\EwsArrayOfStringsType|null
425
     */
426
    protected ?\ArrayType\EwsArrayOfStringsType $Hashtags = null;
427
    /**
428
     * The Mentions
429
     * Meta information extracted from the WSDL
430
     * - minOccurs: 0
431
     * @var \ArrayType\EwsArrayOfRecipientsType|null
432
     */
433
    protected ?\ArrayType\EwsArrayOfRecipientsType $Mentions = null;
434
    /**
435
     * The MentionedMe
436
     * Meta information extracted from the WSDL
437
     * - minOccurs: 0
438
     * @var bool|null
439
     */
440
    protected ?bool $MentionedMe = null;
441
    /**
442
     * The PendingSocialActivityTagIds
443
     * Meta information extracted from the WSDL
444
     * - minOccurs: 0
445
     * @var \ArrayType\EwsArrayOfStringsType|null
446
     */
447
    protected ?\ArrayType\EwsArrayOfStringsType $PendingSocialActivityTagIds = null;
448
    /**
449
     * Constructor method for ItemType
450
     * @uses EwsItemType::setMimeContent()
451
     * @uses EwsItemType::setItemId()
452
     * @uses EwsItemType::setParentFolderId()
453
     * @uses EwsItemType::setItemClass()
454
     * @uses EwsItemType::setSubject()
455
     * @uses EwsItemType::setSensitivity()
456
     * @uses EwsItemType::setBody()
457
     * @uses EwsItemType::setAttachments()
458
     * @uses EwsItemType::setDateTimeReceived()
459
     * @uses EwsItemType::setSize()
460
     * @uses EwsItemType::setCategories()
461
     * @uses EwsItemType::setImportance()
462
     * @uses EwsItemType::setInReplyTo()
463
     * @uses EwsItemType::setIsSubmitted()
464
     * @uses EwsItemType::setIsDraft()
465
     * @uses EwsItemType::setIsFromMe()
466
     * @uses EwsItemType::setIsResend()
467
     * @uses EwsItemType::setIsUnmodified()
468
     * @uses EwsItemType::setInternetMessageHeaders()
469
     * @uses EwsItemType::setDateTimeSent()
470
     * @uses EwsItemType::setDateTimeCreated()
471
     * @uses EwsItemType::setResponseObjects()
472
     * @uses EwsItemType::setReminderDueBy()
473
     * @uses EwsItemType::setReminderIsSet()
474
     * @uses EwsItemType::setReminderNextTime()
475
     * @uses EwsItemType::setReminderMinutesBeforeStart()
476
     * @uses EwsItemType::setDisplayCc()
477
     * @uses EwsItemType::setDisplayTo()
478
     * @uses EwsItemType::setHasAttachments()
479
     * @uses EwsItemType::setExtendedProperty()
480
     * @uses EwsItemType::setCulture()
481
     * @uses EwsItemType::setEffectiveRights()
482
     * @uses EwsItemType::setLastModifiedName()
483
     * @uses EwsItemType::setLastModifiedTime()
484
     * @uses EwsItemType::setIsAssociated()
485
     * @uses EwsItemType::setWebClientReadFormQueryString()
486
     * @uses EwsItemType::setWebClientEditFormQueryString()
487
     * @uses EwsItemType::setConversationId()
488
     * @uses EwsItemType::setUniqueBody()
489
     * @uses EwsItemType::setFlag()
490
     * @uses EwsItemType::setStoreEntryId()
491
     * @uses EwsItemType::setInstanceKey()
492
     * @uses EwsItemType::setNormalizedBody()
493
     * @uses EwsItemType::setEntityExtractionResult()
494
     * @uses EwsItemType::setPolicyTag()
495
     * @uses EwsItemType::setArchiveTag()
496
     * @uses EwsItemType::setRetentionDate()
497
     * @uses EwsItemType::setPreview()
498
     * @uses EwsItemType::setRightsManagementLicenseData()
499
     * @uses EwsItemType::setPredictedActionReasons()
500
     * @uses EwsItemType::setIsClutter()
501
     * @uses EwsItemType::setBlockStatus()
502
     * @uses EwsItemType::setHasBlockedImages()
503
     * @uses EwsItemType::setTextBody()
504
     * @uses EwsItemType::setIconIndex()
505
     * @uses EwsItemType::setSearchKey()
506
     * @uses EwsItemType::setSortKey()
507
     * @uses EwsItemType::setHashtags()
508
     * @uses EwsItemType::setMentions()
509
     * @uses EwsItemType::setMentionedMe()
510
     * @uses EwsItemType::setPendingSocialActivityTagIds()
511
     * @param \StructType\EwsMimeContentType $mimeContent
512
     * @param \StructType\EwsItemIdType $itemId
513
     * @param \StructType\EwsFolderIdType $parentFolderId
514
     * @param string $itemClass
515
     * @param string $subject
516
     * @param string $sensitivity
517
     * @param \StructType\EwsBodyType $body
518
     * @param \StructType\EwsNonEmptyArrayOfAttachmentsType $attachments
519
     * @param string $dateTimeReceived
520
     * @param int $size
521
     * @param \ArrayType\EwsArrayOfStringsType $categories
522
     * @param string $importance
523
     * @param string $inReplyTo
524
     * @param bool $isSubmitted
525
     * @param bool $isDraft
526
     * @param bool $isFromMe
527
     * @param bool $isResend
528
     * @param bool $isUnmodified
529
     * @param \ArrayType\EwsNonEmptyArrayOfInternetHeadersType $internetMessageHeaders
530
     * @param string $dateTimeSent
531
     * @param string $dateTimeCreated
532
     * @param \StructType\EwsNonEmptyArrayOfResponseObjectsType $responseObjects
533
     * @param string $reminderDueBy
534
     * @param bool $reminderIsSet
535
     * @param string $reminderNextTime
536
     * @param string $reminderMinutesBeforeStart
537
     * @param string $displayCc
538
     * @param string $displayTo
539
     * @param bool $hasAttachments
540
     * @param \StructType\EwsExtendedPropertyType[] $extendedProperty
541
     * @param string $culture
542
     * @param \StructType\EwsEffectiveRightsType $effectiveRights
543
     * @param string $lastModifiedName
544
     * @param string $lastModifiedTime
545
     * @param bool $isAssociated
546
     * @param string $webClientReadFormQueryString
547
     * @param string $webClientEditFormQueryString
548
     * @param \StructType\EwsItemIdType $conversationId
549
     * @param \StructType\EwsBodyType $uniqueBody
550
     * @param \StructType\EwsFlagType $flag
551
     * @param string $storeEntryId
552
     * @param string $instanceKey
553
     * @param \StructType\EwsBodyType $normalizedBody
554
     * @param \StructType\EwsEntityExtractionResultType $entityExtractionResult
555
     * @param \StructType\EwsRetentionTagType $policyTag
556
     * @param \StructType\EwsRetentionTagType $archiveTag
557
     * @param string $retentionDate
558
     * @param string $preview
559
     * @param \StructType\EwsRightsManagementLicenseDataType $rightsManagementLicenseData
560
     * @param \ArrayType\EwsNonEmptyArrayOfPredictedActionReasonType $predictedActionReasons
561
     * @param bool $isClutter
562
     * @param bool $blockStatus
563
     * @param bool $hasBlockedImages
564
     * @param \StructType\EwsBodyType $textBody
565
     * @param string $iconIndex
566
     * @param string $searchKey
567
     * @param int $sortKey
568
     * @param \ArrayType\EwsArrayOfStringsType $hashtags
569
     * @param \ArrayType\EwsArrayOfRecipientsType $mentions
570
     * @param bool $mentionedMe
571
     * @param \ArrayType\EwsArrayOfStringsType $pendingSocialActivityTagIds
572
     */
573
    public function __construct(?\StructType\EwsMimeContentType $mimeContent = null, ?\StructType\EwsItemIdType $itemId = null, ?\StructType\EwsFolderIdType $parentFolderId = null, ?string $itemClass = null, ?string $subject = null, ?string $sensitivity = null, ?\StructType\EwsBodyType $body = null, ?\StructType\EwsNonEmptyArrayOfAttachmentsType $attachments = null, ?string $dateTimeReceived = null, ?int $size = null, ?\ArrayType\EwsArrayOfStringsType $categories = null, ?string $importance = null, ?string $inReplyTo = null, ?bool $isSubmitted = null, ?bool $isDraft = null, ?bool $isFromMe = null, ?bool $isResend = null, ?bool $isUnmodified = null, ?\ArrayType\EwsNonEmptyArrayOfInternetHeadersType $internetMessageHeaders = null, ?string $dateTimeSent = null, ?string $dateTimeCreated = null, ?\StructType\EwsNonEmptyArrayOfResponseObjectsType $responseObjects = null, ?string $reminderDueBy = null, ?bool $reminderIsSet = null, ?string $reminderNextTime = null, ?string $reminderMinutesBeforeStart = null, ?string $displayCc = null, ?string $displayTo = null, ?bool $hasAttachments = null, array $extendedProperty = [], ?string $culture = null, ?\StructType\EwsEffectiveRightsType $effectiveRights = null, ?string $lastModifiedName = null, ?string $lastModifiedTime = null, ?bool $isAssociated = null, ?string $webClientReadFormQueryString = null, ?string $webClientEditFormQueryString = null, ?\StructType\EwsItemIdType $conversationId = null, ?\StructType\EwsBodyType $uniqueBody = null, ?\StructType\EwsFlagType $flag = null, ?string $storeEntryId = null, ?string $instanceKey = null, ?\StructType\EwsBodyType $normalizedBody = null, ?\StructType\EwsEntityExtractionResultType $entityExtractionResult = null, ?\StructType\EwsRetentionTagType $policyTag = null, ?\StructType\EwsRetentionTagType $archiveTag = null, ?string $retentionDate = null, ?string $preview = null, ?\StructType\EwsRightsManagementLicenseDataType $rightsManagementLicenseData = null, ?\ArrayType\EwsNonEmptyArrayOfPredictedActionReasonType $predictedActionReasons = null, ?bool $isClutter = null, ?bool $blockStatus = null, ?bool $hasBlockedImages = null, ?\StructType\EwsBodyType $textBody = null, ?string $iconIndex = null, ?string $searchKey = null, ?int $sortKey = null, ?\ArrayType\EwsArrayOfStringsType $hashtags = null, ?\ArrayType\EwsArrayOfRecipientsType $mentions = null, ?bool $mentionedMe = null, ?\ArrayType\EwsArrayOfStringsType $pendingSocialActivityTagIds = null)
574
    {
575
        $this
576
            ->setMimeContent($mimeContent)
577
            ->setItemId($itemId)
578
            ->setParentFolderId($parentFolderId)
579
            ->setItemClass($itemClass)
580
            ->setSubject($subject)
581
            ->setSensitivity($sensitivity)
582
            ->setBody($body)
583
            ->setAttachments($attachments)
584
            ->setDateTimeReceived($dateTimeReceived)
585
            ->setSize($size)
586
            ->setCategories($categories)
587
            ->setImportance($importance)
588
            ->setInReplyTo($inReplyTo)
589
            ->setIsSubmitted($isSubmitted)
590
            ->setIsDraft($isDraft)
591
            ->setIsFromMe($isFromMe)
592
            ->setIsResend($isResend)
593
            ->setIsUnmodified($isUnmodified)
594
            ->setInternetMessageHeaders($internetMessageHeaders)
595
            ->setDateTimeSent($dateTimeSent)
596
            ->setDateTimeCreated($dateTimeCreated)
597
            ->setResponseObjects($responseObjects)
598
            ->setReminderDueBy($reminderDueBy)
599
            ->setReminderIsSet($reminderIsSet)
600
            ->setReminderNextTime($reminderNextTime)
601
            ->setReminderMinutesBeforeStart($reminderMinutesBeforeStart)
602
            ->setDisplayCc($displayCc)
603
            ->setDisplayTo($displayTo)
604
            ->setHasAttachments($hasAttachments)
605
            ->setExtendedProperty($extendedProperty)
606
            ->setCulture($culture)
607
            ->setEffectiveRights($effectiveRights)
608
            ->setLastModifiedName($lastModifiedName)
609
            ->setLastModifiedTime($lastModifiedTime)
610
            ->setIsAssociated($isAssociated)
611
            ->setWebClientReadFormQueryString($webClientReadFormQueryString)
612
            ->setWebClientEditFormQueryString($webClientEditFormQueryString)
613
            ->setConversationId($conversationId)
614
            ->setUniqueBody($uniqueBody)
615
            ->setFlag($flag)
616
            ->setStoreEntryId($storeEntryId)
617
            ->setInstanceKey($instanceKey)
618
            ->setNormalizedBody($normalizedBody)
619
            ->setEntityExtractionResult($entityExtractionResult)
620
            ->setPolicyTag($policyTag)
621
            ->setArchiveTag($archiveTag)
622
            ->setRetentionDate($retentionDate)
623
            ->setPreview($preview)
624
            ->setRightsManagementLicenseData($rightsManagementLicenseData)
625
            ->setPredictedActionReasons($predictedActionReasons)
626
            ->setIsClutter($isClutter)
627
            ->setBlockStatus($blockStatus)
628
            ->setHasBlockedImages($hasBlockedImages)
629
            ->setTextBody($textBody)
630
            ->setIconIndex($iconIndex)
631
            ->setSearchKey($searchKey)
632
            ->setSortKey($sortKey)
633
            ->setHashtags($hashtags)
634
            ->setMentions($mentions)
635
            ->setMentionedMe($mentionedMe)
636
            ->setPendingSocialActivityTagIds($pendingSocialActivityTagIds);
637
    }
638
    /**
639
     * Get MimeContent value
640
     * @return \StructType\EwsMimeContentType|null
641
     */
642
    public function getMimeContent(): ?\StructType\EwsMimeContentType
643
    {
644
        return $this->MimeContent;
645
    }
646
    /**
647
     * Set MimeContent value
648
     * @param \StructType\EwsMimeContentType $mimeContent
649
     * @return \StructType\EwsItemType
650
     */
651
    public function setMimeContent(?\StructType\EwsMimeContentType $mimeContent = null): self
652
    {
653
        $this->MimeContent = $mimeContent;
654
        
655
        return $this;
656
    }
657
    /**
658
     * Get ItemId value
659
     * @return \StructType\EwsItemIdType|null
660
     */
661
    public function getItemId(): ?\StructType\EwsItemIdType
662
    {
663
        return $this->ItemId;
664
    }
665
    /**
666
     * Set ItemId value
667
     * @param \StructType\EwsItemIdType $itemId
668
     * @return \StructType\EwsItemType
669
     */
670
    public function setItemId(?\StructType\EwsItemIdType $itemId = null): self
671
    {
672
        $this->ItemId = $itemId;
673
        
674
        return $this;
675
    }
676
    /**
677
     * Get ParentFolderId value
678
     * @return \StructType\EwsFolderIdType|null
679
     */
680
    public function getParentFolderId(): ?\StructType\EwsFolderIdType
681
    {
682
        return $this->ParentFolderId;
683
    }
684
    /**
685
     * Set ParentFolderId value
686
     * @param \StructType\EwsFolderIdType $parentFolderId
687
     * @return \StructType\EwsItemType
688
     */
689
    public function setParentFolderId(?\StructType\EwsFolderIdType $parentFolderId = null): self
690
    {
691
        $this->ParentFolderId = $parentFolderId;
692
        
693
        return $this;
694
    }
695
    /**
696
     * Get ItemClass value
697
     * @return string|null
698
     */
699
    public function getItemClass(): ?string
700
    {
701
        return $this->ItemClass;
702
    }
703
    /**
704
     * Set ItemClass value
705
     * @param string $itemClass
706
     * @return \StructType\EwsItemType
707
     */
708
    public function setItemClass(?string $itemClass = null): self
709
    {
710
        // validation for constraint: string
711
        if (!is_null($itemClass) && !is_string($itemClass)) {
0 ignored issues
show
introduced by
The condition is_string($itemClass) is always true.
Loading history...
712
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($itemClass, true), gettype($itemClass)), __LINE__);
713
        }
714
        $this->ItemClass = $itemClass;
715
        
716
        return $this;
717
    }
718
    /**
719
     * Get Subject value
720
     * @return string|null
721
     */
722
    public function getSubject(): ?string
723
    {
724
        return $this->Subject;
725
    }
726
    /**
727
     * Set Subject value
728
     * @param string $subject
729
     * @return \StructType\EwsItemType
730
     */
731
    public function setSubject(?string $subject = null): self
732
    {
733
        // validation for constraint: string
734
        if (!is_null($subject) && !is_string($subject)) {
0 ignored issues
show
introduced by
The condition is_string($subject) is always true.
Loading history...
735
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($subject, true), gettype($subject)), __LINE__);
736
        }
737
        $this->Subject = $subject;
738
        
739
        return $this;
740
    }
741
    /**
742
     * Get Sensitivity value
743
     * @return string|null
744
     */
745
    public function getSensitivity(): ?string
746
    {
747
        return $this->Sensitivity;
748
    }
749
    /**
750
     * Set Sensitivity value
751
     * @uses \EnumType\EwsSensitivityChoicesType::valueIsValid()
752
     * @uses \EnumType\EwsSensitivityChoicesType::getValidValues()
753
     * @throws InvalidArgumentException
754
     * @param string $sensitivity
755
     * @return \StructType\EwsItemType
756
     */
757
    public function setSensitivity(?string $sensitivity = null): self
758
    {
759
        // validation for constraint: enumeration
760
        if (!\EnumType\EwsSensitivityChoicesType::valueIsValid($sensitivity)) {
761
            throw new InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \EnumType\EwsSensitivityChoicesType', is_array($sensitivity) ? implode(', ', $sensitivity) : var_export($sensitivity, true), implode(', ', \EnumType\EwsSensitivityChoicesType::getValidValues())), __LINE__);
0 ignored issues
show
introduced by
The condition is_array($sensitivity) is always false.
Loading history...
762
        }
763
        $this->Sensitivity = $sensitivity;
764
        
765
        return $this;
766
    }
767
    /**
768
     * Get Body value
769
     * @return \StructType\EwsBodyType|null
770
     */
771
    public function getBody(): ?\StructType\EwsBodyType
772
    {
773
        return $this->Body;
774
    }
775
    /**
776
     * Set Body value
777
     * @param \StructType\EwsBodyType $body
778
     * @return \StructType\EwsItemType
779
     */
780
    public function setBody(?\StructType\EwsBodyType $body = null): self
781
    {
782
        $this->Body = $body;
783
        
784
        return $this;
785
    }
786
    /**
787
     * Get Attachments value
788
     * @return \StructType\EwsNonEmptyArrayOfAttachmentsType|null
789
     */
790
    public function getAttachments(): ?\StructType\EwsNonEmptyArrayOfAttachmentsType
791
    {
792
        return $this->Attachments;
793
    }
794
    /**
795
     * Set Attachments value
796
     * @param \StructType\EwsNonEmptyArrayOfAttachmentsType $attachments
797
     * @return \StructType\EwsItemType
798
     */
799
    public function setAttachments(?\StructType\EwsNonEmptyArrayOfAttachmentsType $attachments = null): self
800
    {
801
        $this->Attachments = $attachments;
802
        
803
        return $this;
804
    }
805
    /**
806
     * Get DateTimeReceived value
807
     * @return string|null
808
     */
809
    public function getDateTimeReceived(): ?string
810
    {
811
        return $this->DateTimeReceived;
812
    }
813
    /**
814
     * Set DateTimeReceived value
815
     * @param string $dateTimeReceived
816
     * @return \StructType\EwsItemType
817
     */
818
    public function setDateTimeReceived(?string $dateTimeReceived = null): self
819
    {
820
        // validation for constraint: string
821
        if (!is_null($dateTimeReceived) && !is_string($dateTimeReceived)) {
0 ignored issues
show
introduced by
The condition is_string($dateTimeReceived) is always true.
Loading history...
822
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($dateTimeReceived, true), gettype($dateTimeReceived)), __LINE__);
823
        }
824
        $this->DateTimeReceived = $dateTimeReceived;
825
        
826
        return $this;
827
    }
828
    /**
829
     * Get Size value
830
     * @return int|null
831
     */
832
    public function getSize(): ?int
833
    {
834
        return $this->Size;
835
    }
836
    /**
837
     * Set Size value
838
     * @param int $size
839
     * @return \StructType\EwsItemType
840
     */
841
    public function setSize(?int $size = null): self
842
    {
843
        // validation for constraint: int
844
        if (!is_null($size) && !(is_int($size) || ctype_digit($size))) {
0 ignored issues
show
introduced by
The condition is_int($size) is always true.
Loading history...
845
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($size, true), gettype($size)), __LINE__);
846
        }
847
        $this->Size = $size;
848
        
849
        return $this;
850
    }
851
    /**
852
     * Get Categories value
853
     * @return \ArrayType\EwsArrayOfStringsType|null
854
     */
855
    public function getCategories(): ?\ArrayType\EwsArrayOfStringsType
856
    {
857
        return $this->Categories;
858
    }
859
    /**
860
     * Set Categories value
861
     * @param \ArrayType\EwsArrayOfStringsType $categories
862
     * @return \StructType\EwsItemType
863
     */
864
    public function setCategories(?\ArrayType\EwsArrayOfStringsType $categories = null): self
865
    {
866
        $this->Categories = $categories;
867
        
868
        return $this;
869
    }
870
    /**
871
     * Get Importance value
872
     * @return string|null
873
     */
874
    public function getImportance(): ?string
875
    {
876
        return $this->Importance;
877
    }
878
    /**
879
     * Set Importance value
880
     * @uses \EnumType\EwsImportanceChoicesType::valueIsValid()
881
     * @uses \EnumType\EwsImportanceChoicesType::getValidValues()
882
     * @throws InvalidArgumentException
883
     * @param string $importance
884
     * @return \StructType\EwsItemType
885
     */
886
    public function setImportance(?string $importance = null): self
887
    {
888
        // validation for constraint: enumeration
889
        if (!\EnumType\EwsImportanceChoicesType::valueIsValid($importance)) {
890
            throw new InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \EnumType\EwsImportanceChoicesType', is_array($importance) ? implode(', ', $importance) : var_export($importance, true), implode(', ', \EnumType\EwsImportanceChoicesType::getValidValues())), __LINE__);
0 ignored issues
show
introduced by
The condition is_array($importance) is always false.
Loading history...
891
        }
892
        $this->Importance = $importance;
893
        
894
        return $this;
895
    }
896
    /**
897
     * Get InReplyTo value
898
     * @return string|null
899
     */
900
    public function getInReplyTo(): ?string
901
    {
902
        return $this->InReplyTo;
903
    }
904
    /**
905
     * Set InReplyTo value
906
     * @param string $inReplyTo
907
     * @return \StructType\EwsItemType
908
     */
909
    public function setInReplyTo(?string $inReplyTo = null): self
910
    {
911
        // validation for constraint: string
912
        if (!is_null($inReplyTo) && !is_string($inReplyTo)) {
0 ignored issues
show
introduced by
The condition is_string($inReplyTo) is always true.
Loading history...
913
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($inReplyTo, true), gettype($inReplyTo)), __LINE__);
914
        }
915
        $this->InReplyTo = $inReplyTo;
916
        
917
        return $this;
918
    }
919
    /**
920
     * Get IsSubmitted value
921
     * @return bool|null
922
     */
923
    public function getIsSubmitted(): ?bool
924
    {
925
        return $this->IsSubmitted;
926
    }
927
    /**
928
     * Set IsSubmitted value
929
     * @param bool $isSubmitted
930
     * @return \StructType\EwsItemType
931
     */
932
    public function setIsSubmitted(?bool $isSubmitted = null): self
933
    {
934
        // validation for constraint: boolean
935
        if (!is_null($isSubmitted) && !is_bool($isSubmitted)) {
0 ignored issues
show
introduced by
The condition is_bool($isSubmitted) is always true.
Loading history...
936
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($isSubmitted, true), gettype($isSubmitted)), __LINE__);
937
        }
938
        $this->IsSubmitted = $isSubmitted;
939
        
940
        return $this;
941
    }
942
    /**
943
     * Get IsDraft value
944
     * @return bool|null
945
     */
946
    public function getIsDraft(): ?bool
947
    {
948
        return $this->IsDraft;
949
    }
950
    /**
951
     * Set IsDraft value
952
     * @param bool $isDraft
953
     * @return \StructType\EwsItemType
954
     */
955
    public function setIsDraft(?bool $isDraft = null): self
956
    {
957
        // validation for constraint: boolean
958
        if (!is_null($isDraft) && !is_bool($isDraft)) {
0 ignored issues
show
introduced by
The condition is_bool($isDraft) is always true.
Loading history...
959
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($isDraft, true), gettype($isDraft)), __LINE__);
960
        }
961
        $this->IsDraft = $isDraft;
962
        
963
        return $this;
964
    }
965
    /**
966
     * Get IsFromMe value
967
     * @return bool|null
968
     */
969
    public function getIsFromMe(): ?bool
970
    {
971
        return $this->IsFromMe;
972
    }
973
    /**
974
     * Set IsFromMe value
975
     * @param bool $isFromMe
976
     * @return \StructType\EwsItemType
977
     */
978
    public function setIsFromMe(?bool $isFromMe = null): self
979
    {
980
        // validation for constraint: boolean
981
        if (!is_null($isFromMe) && !is_bool($isFromMe)) {
0 ignored issues
show
introduced by
The condition is_bool($isFromMe) is always true.
Loading history...
982
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($isFromMe, true), gettype($isFromMe)), __LINE__);
983
        }
984
        $this->IsFromMe = $isFromMe;
985
        
986
        return $this;
987
    }
988
    /**
989
     * Get IsResend value
990
     * @return bool|null
991
     */
992
    public function getIsResend(): ?bool
993
    {
994
        return $this->IsResend;
995
    }
996
    /**
997
     * Set IsResend value
998
     * @param bool $isResend
999
     * @return \StructType\EwsItemType
1000
     */
1001
    public function setIsResend(?bool $isResend = null): self
1002
    {
1003
        // validation for constraint: boolean
1004
        if (!is_null($isResend) && !is_bool($isResend)) {
0 ignored issues
show
introduced by
The condition is_bool($isResend) is always true.
Loading history...
1005
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($isResend, true), gettype($isResend)), __LINE__);
1006
        }
1007
        $this->IsResend = $isResend;
1008
        
1009
        return $this;
1010
    }
1011
    /**
1012
     * Get IsUnmodified value
1013
     * @return bool|null
1014
     */
1015
    public function getIsUnmodified(): ?bool
1016
    {
1017
        return $this->IsUnmodified;
1018
    }
1019
    /**
1020
     * Set IsUnmodified value
1021
     * @param bool $isUnmodified
1022
     * @return \StructType\EwsItemType
1023
     */
1024
    public function setIsUnmodified(?bool $isUnmodified = null): self
1025
    {
1026
        // validation for constraint: boolean
1027
        if (!is_null($isUnmodified) && !is_bool($isUnmodified)) {
0 ignored issues
show
introduced by
The condition is_bool($isUnmodified) is always true.
Loading history...
1028
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($isUnmodified, true), gettype($isUnmodified)), __LINE__);
1029
        }
1030
        $this->IsUnmodified = $isUnmodified;
1031
        
1032
        return $this;
1033
    }
1034
    /**
1035
     * Get InternetMessageHeaders value
1036
     * @return \ArrayType\EwsNonEmptyArrayOfInternetHeadersType|null
1037
     */
1038
    public function getInternetMessageHeaders(): ?\ArrayType\EwsNonEmptyArrayOfInternetHeadersType
1039
    {
1040
        return $this->InternetMessageHeaders;
1041
    }
1042
    /**
1043
     * Set InternetMessageHeaders value
1044
     * @param \ArrayType\EwsNonEmptyArrayOfInternetHeadersType $internetMessageHeaders
1045
     * @return \StructType\EwsItemType
1046
     */
1047
    public function setInternetMessageHeaders(?\ArrayType\EwsNonEmptyArrayOfInternetHeadersType $internetMessageHeaders = null): self
1048
    {
1049
        $this->InternetMessageHeaders = $internetMessageHeaders;
1050
        
1051
        return $this;
1052
    }
1053
    /**
1054
     * Get DateTimeSent value
1055
     * @return string|null
1056
     */
1057
    public function getDateTimeSent(): ?string
1058
    {
1059
        return $this->DateTimeSent;
1060
    }
1061
    /**
1062
     * Set DateTimeSent value
1063
     * @param string $dateTimeSent
1064
     * @return \StructType\EwsItemType
1065
     */
1066
    public function setDateTimeSent(?string $dateTimeSent = null): self
1067
    {
1068
        // validation for constraint: string
1069
        if (!is_null($dateTimeSent) && !is_string($dateTimeSent)) {
0 ignored issues
show
introduced by
The condition is_string($dateTimeSent) is always true.
Loading history...
1070
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($dateTimeSent, true), gettype($dateTimeSent)), __LINE__);
1071
        }
1072
        $this->DateTimeSent = $dateTimeSent;
1073
        
1074
        return $this;
1075
    }
1076
    /**
1077
     * Get DateTimeCreated value
1078
     * @return string|null
1079
     */
1080
    public function getDateTimeCreated(): ?string
1081
    {
1082
        return $this->DateTimeCreated;
1083
    }
1084
    /**
1085
     * Set DateTimeCreated value
1086
     * @param string $dateTimeCreated
1087
     * @return \StructType\EwsItemType
1088
     */
1089
    public function setDateTimeCreated(?string $dateTimeCreated = null): self
1090
    {
1091
        // validation for constraint: string
1092
        if (!is_null($dateTimeCreated) && !is_string($dateTimeCreated)) {
0 ignored issues
show
introduced by
The condition is_string($dateTimeCreated) is always true.
Loading history...
1093
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($dateTimeCreated, true), gettype($dateTimeCreated)), __LINE__);
1094
        }
1095
        $this->DateTimeCreated = $dateTimeCreated;
1096
        
1097
        return $this;
1098
    }
1099
    /**
1100
     * Get ResponseObjects value
1101
     * @return \StructType\EwsNonEmptyArrayOfResponseObjectsType|null
1102
     */
1103
    public function getResponseObjects(): ?\StructType\EwsNonEmptyArrayOfResponseObjectsType
1104
    {
1105
        return $this->ResponseObjects;
1106
    }
1107
    /**
1108
     * Set ResponseObjects value
1109
     * @param \StructType\EwsNonEmptyArrayOfResponseObjectsType $responseObjects
1110
     * @return \StructType\EwsItemType
1111
     */
1112
    public function setResponseObjects(?\StructType\EwsNonEmptyArrayOfResponseObjectsType $responseObjects = null): self
1113
    {
1114
        $this->ResponseObjects = $responseObjects;
1115
        
1116
        return $this;
1117
    }
1118
    /**
1119
     * Get ReminderDueBy value
1120
     * @return string|null
1121
     */
1122
    public function getReminderDueBy(): ?string
1123
    {
1124
        return $this->ReminderDueBy;
1125
    }
1126
    /**
1127
     * Set ReminderDueBy value
1128
     * @param string $reminderDueBy
1129
     * @return \StructType\EwsItemType
1130
     */
1131
    public function setReminderDueBy(?string $reminderDueBy = null): self
1132
    {
1133
        // validation for constraint: string
1134
        if (!is_null($reminderDueBy) && !is_string($reminderDueBy)) {
0 ignored issues
show
introduced by
The condition is_string($reminderDueBy) is always true.
Loading history...
1135
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($reminderDueBy, true), gettype($reminderDueBy)), __LINE__);
1136
        }
1137
        $this->ReminderDueBy = $reminderDueBy;
1138
        
1139
        return $this;
1140
    }
1141
    /**
1142
     * Get ReminderIsSet value
1143
     * @return bool|null
1144
     */
1145
    public function getReminderIsSet(): ?bool
1146
    {
1147
        return $this->ReminderIsSet;
1148
    }
1149
    /**
1150
     * Set ReminderIsSet value
1151
     * @param bool $reminderIsSet
1152
     * @return \StructType\EwsItemType
1153
     */
1154
    public function setReminderIsSet(?bool $reminderIsSet = null): self
1155
    {
1156
        // validation for constraint: boolean
1157
        if (!is_null($reminderIsSet) && !is_bool($reminderIsSet)) {
0 ignored issues
show
introduced by
The condition is_bool($reminderIsSet) is always true.
Loading history...
1158
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($reminderIsSet, true), gettype($reminderIsSet)), __LINE__);
1159
        }
1160
        $this->ReminderIsSet = $reminderIsSet;
1161
        
1162
        return $this;
1163
    }
1164
    /**
1165
     * Get ReminderNextTime value
1166
     * @return string|null
1167
     */
1168
    public function getReminderNextTime(): ?string
1169
    {
1170
        return $this->ReminderNextTime;
1171
    }
1172
    /**
1173
     * Set ReminderNextTime value
1174
     * @param string $reminderNextTime
1175
     * @return \StructType\EwsItemType
1176
     */
1177
    public function setReminderNextTime(?string $reminderNextTime = null): self
1178
    {
1179
        // validation for constraint: string
1180
        if (!is_null($reminderNextTime) && !is_string($reminderNextTime)) {
0 ignored issues
show
introduced by
The condition is_string($reminderNextTime) is always true.
Loading history...
1181
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($reminderNextTime, true), gettype($reminderNextTime)), __LINE__);
1182
        }
1183
        $this->ReminderNextTime = $reminderNextTime;
1184
        
1185
        return $this;
1186
    }
1187
    /**
1188
     * Get ReminderMinutesBeforeStart value
1189
     * @return string|null
1190
     */
1191
    public function getReminderMinutesBeforeStart(): ?string
1192
    {
1193
        return $this->ReminderMinutesBeforeStart;
1194
    }
1195
    /**
1196
     * This method is responsible for validating the value passed to the setReminderMinutesBeforeStart method
1197
     * This method is willingly generated in order to preserve the one-line inline validation within the setReminderMinutesBeforeStart method
1198
     * This is a set of validation rules based on the union types associated to the property being set by the setReminderMinutesBeforeStart method
1199
     * @param mixed $value
1200
     * @return string A non-empty message if the values does not match the validation rules
1201
     */
1202
    public static function validateReminderMinutesBeforeStartForUnionConstraintsFromSetReminderMinutesBeforeStart($value): string
1203
    {
1204
        $message = '';
1205
        // validation for constraint: int
1206
        if (!is_null($value) && !(is_int($value) || ctype_digit($value))) {
1207
            $exception0 = new InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($value, true), gettype($value)), __LINE__);
1208
        }
1209
        if (isset($exception0)) {
1210
            $message = sprintf("The value %s does not match any of the union rules: int. See following errors:\n%s", var_export($value, true), implode("\n", array_map(function(InvalidArgumentException $e) { return sprintf(' - %s', $e->getMessage()); }, [$exception0])));
1211
        }
1212
        unset($exception0);
1213
        
1214
        return $message;
1215
    }
1216
    /**
1217
     * Set ReminderMinutesBeforeStart value
1218
     * @param string $reminderMinutesBeforeStart
1219
     * @return \StructType\EwsItemType
1220
     */
1221
    public function setReminderMinutesBeforeStart(?string $reminderMinutesBeforeStart = null): self
1222
    {
1223
        // validation for constraint: string
1224
        if (!is_null($reminderMinutesBeforeStart) && !is_string($reminderMinutesBeforeStart)) {
0 ignored issues
show
introduced by
The condition is_string($reminderMinutesBeforeStart) is always true.
Loading history...
1225
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($reminderMinutesBeforeStart, true), gettype($reminderMinutesBeforeStart)), __LINE__);
1226
        }
1227
        // validation for constraint: union(int)
1228
        if ('' !== ($reminderMinutesBeforeStartUnionErrorMessage = self::validateReminderMinutesBeforeStartForUnionConstraintsFromSetReminderMinutesBeforeStart($reminderMinutesBeforeStart))) {
1229
            throw new InvalidArgumentException($reminderMinutesBeforeStartUnionErrorMessage, __LINE__);
1230
        }
1231
        $this->ReminderMinutesBeforeStart = $reminderMinutesBeforeStart;
1232
        
1233
        return $this;
1234
    }
1235
    /**
1236
     * Get DisplayCc value
1237
     * @return string|null
1238
     */
1239
    public function getDisplayCc(): ?string
1240
    {
1241
        return $this->DisplayCc;
1242
    }
1243
    /**
1244
     * Set DisplayCc value
1245
     * @param string $displayCc
1246
     * @return \StructType\EwsItemType
1247
     */
1248
    public function setDisplayCc(?string $displayCc = null): self
1249
    {
1250
        // validation for constraint: string
1251
        if (!is_null($displayCc) && !is_string($displayCc)) {
0 ignored issues
show
introduced by
The condition is_string($displayCc) is always true.
Loading history...
1252
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($displayCc, true), gettype($displayCc)), __LINE__);
1253
        }
1254
        $this->DisplayCc = $displayCc;
1255
        
1256
        return $this;
1257
    }
1258
    /**
1259
     * Get DisplayTo value
1260
     * @return string|null
1261
     */
1262
    public function getDisplayTo(): ?string
1263
    {
1264
        return $this->DisplayTo;
1265
    }
1266
    /**
1267
     * Set DisplayTo value
1268
     * @param string $displayTo
1269
     * @return \StructType\EwsItemType
1270
     */
1271
    public function setDisplayTo(?string $displayTo = null): self
1272
    {
1273
        // validation for constraint: string
1274
        if (!is_null($displayTo) && !is_string($displayTo)) {
0 ignored issues
show
introduced by
The condition is_string($displayTo) is always true.
Loading history...
1275
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($displayTo, true), gettype($displayTo)), __LINE__);
1276
        }
1277
        $this->DisplayTo = $displayTo;
1278
        
1279
        return $this;
1280
    }
1281
    /**
1282
     * Get HasAttachments value
1283
     * @return bool|null
1284
     */
1285
    public function getHasAttachments(): ?bool
1286
    {
1287
        return $this->HasAttachments;
1288
    }
1289
    /**
1290
     * Set HasAttachments value
1291
     * @param bool $hasAttachments
1292
     * @return \StructType\EwsItemType
1293
     */
1294
    public function setHasAttachments(?bool $hasAttachments = null): self
1295
    {
1296
        // validation for constraint: boolean
1297
        if (!is_null($hasAttachments) && !is_bool($hasAttachments)) {
0 ignored issues
show
introduced by
The condition is_bool($hasAttachments) is always true.
Loading history...
1298
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($hasAttachments, true), gettype($hasAttachments)), __LINE__);
1299
        }
1300
        $this->HasAttachments = $hasAttachments;
1301
        
1302
        return $this;
1303
    }
1304
    /**
1305
     * Get ExtendedProperty value
1306
     * @return \StructType\EwsExtendedPropertyType[]
1307
     */
1308
    public function getExtendedProperty(): array
1309
    {
1310
        return $this->ExtendedProperty;
1311
    }
1312
    /**
1313
     * This method is responsible for validating the values passed to the setExtendedProperty method
1314
     * This method is willingly generated in order to preserve the one-line inline validation within the setExtendedProperty method
1315
     * @param array $values
1316
     * @return string A non-empty message if the values does not match the validation rules
1317
     */
1318
    public static function validateExtendedPropertyForArrayConstraintsFromSetExtendedProperty(array $values = []): string
1319
    {
1320
        $message = '';
1321
        $invalidValues = [];
1322
        foreach ($values as $itemTypeExtendedPropertyItem) {
1323
            // validation for constraint: itemType
1324
            if (!$itemTypeExtendedPropertyItem instanceof \StructType\EwsExtendedPropertyType) {
1325
                $invalidValues[] = is_object($itemTypeExtendedPropertyItem) ? get_class($itemTypeExtendedPropertyItem) : sprintf('%s(%s)', gettype($itemTypeExtendedPropertyItem), var_export($itemTypeExtendedPropertyItem, true));
1326
            }
1327
        }
1328
        if (!empty($invalidValues)) {
1329
            $message = sprintf('The ExtendedProperty property can only contain items of type \StructType\EwsExtendedPropertyType, %s given', is_object($invalidValues) ? get_class($invalidValues) : (is_array($invalidValues) ? implode(', ', $invalidValues) : gettype($invalidValues)));
0 ignored issues
show
introduced by
The condition is_array($invalidValues) is always true.
Loading history...
introduced by
The condition is_object($invalidValues) is always false.
Loading history...
1330
        }
1331
        unset($invalidValues);
1332
        
1333
        return $message;
1334
    }
1335
    /**
1336
     * Set ExtendedProperty value
1337
     * @throws InvalidArgumentException
1338
     * @param \StructType\EwsExtendedPropertyType[] $extendedProperty
1339
     * @return \StructType\EwsItemType
1340
     */
1341
    public function setExtendedProperty(array $extendedProperty = []): self
1342
    {
1343
        // validation for constraint: array
1344
        if ('' !== ($extendedPropertyArrayErrorMessage = self::validateExtendedPropertyForArrayConstraintsFromSetExtendedProperty($extendedProperty))) {
1345
            throw new InvalidArgumentException($extendedPropertyArrayErrorMessage, __LINE__);
1346
        }
1347
        $this->ExtendedProperty = $extendedProperty;
1348
        
1349
        return $this;
1350
    }
1351
    /**
1352
     * Add item to ExtendedProperty value
1353
     * @throws InvalidArgumentException
1354
     * @param \StructType\EwsExtendedPropertyType $item
1355
     * @return \StructType\EwsItemType
1356
     */
1357
    public function addToExtendedProperty(\StructType\EwsExtendedPropertyType $item): self
1358
    {
1359
        // validation for constraint: itemType
1360
        if (!$item instanceof \StructType\EwsExtendedPropertyType) {
0 ignored issues
show
introduced by
$item is always a sub-type of StructType\EwsExtendedPropertyType.
Loading history...
1361
            throw new InvalidArgumentException(sprintf('The ExtendedProperty property can only contain items of type \StructType\EwsExtendedPropertyType, %s given', is_object($item) ? get_class($item) : (is_array($item) ? implode(', ', $item) : gettype($item))), __LINE__);
1362
        }
1363
        $this->ExtendedProperty[] = $item;
1364
        
1365
        return $this;
1366
    }
1367
    /**
1368
     * Get Culture value
1369
     * @return string|null
1370
     */
1371
    public function getCulture(): ?string
1372
    {
1373
        return $this->Culture;
1374
    }
1375
    /**
1376
     * Set Culture value
1377
     * @param string $culture
1378
     * @return \StructType\EwsItemType
1379
     */
1380
    public function setCulture(?string $culture = null): self
1381
    {
1382
        // validation for constraint: string
1383
        if (!is_null($culture) && !is_string($culture)) {
0 ignored issues
show
introduced by
The condition is_string($culture) is always true.
Loading history...
1384
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($culture, true), gettype($culture)), __LINE__);
1385
        }
1386
        $this->Culture = $culture;
1387
        
1388
        return $this;
1389
    }
1390
    /**
1391
     * Get EffectiveRights value
1392
     * @return \StructType\EwsEffectiveRightsType|null
1393
     */
1394
    public function getEffectiveRights(): ?\StructType\EwsEffectiveRightsType
1395
    {
1396
        return $this->EffectiveRights;
1397
    }
1398
    /**
1399
     * Set EffectiveRights value
1400
     * @param \StructType\EwsEffectiveRightsType $effectiveRights
1401
     * @return \StructType\EwsItemType
1402
     */
1403
    public function setEffectiveRights(?\StructType\EwsEffectiveRightsType $effectiveRights = null): self
1404
    {
1405
        $this->EffectiveRights = $effectiveRights;
1406
        
1407
        return $this;
1408
    }
1409
    /**
1410
     * Get LastModifiedName value
1411
     * @return string|null
1412
     */
1413
    public function getLastModifiedName(): ?string
1414
    {
1415
        return $this->LastModifiedName;
1416
    }
1417
    /**
1418
     * Set LastModifiedName value
1419
     * @param string $lastModifiedName
1420
     * @return \StructType\EwsItemType
1421
     */
1422
    public function setLastModifiedName(?string $lastModifiedName = null): self
1423
    {
1424
        // validation for constraint: string
1425
        if (!is_null($lastModifiedName) && !is_string($lastModifiedName)) {
0 ignored issues
show
introduced by
The condition is_string($lastModifiedName) is always true.
Loading history...
1426
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($lastModifiedName, true), gettype($lastModifiedName)), __LINE__);
1427
        }
1428
        $this->LastModifiedName = $lastModifiedName;
1429
        
1430
        return $this;
1431
    }
1432
    /**
1433
     * Get LastModifiedTime value
1434
     * @return string|null
1435
     */
1436
    public function getLastModifiedTime(): ?string
1437
    {
1438
        return $this->LastModifiedTime;
1439
    }
1440
    /**
1441
     * Set LastModifiedTime value
1442
     * @param string $lastModifiedTime
1443
     * @return \StructType\EwsItemType
1444
     */
1445
    public function setLastModifiedTime(?string $lastModifiedTime = null): self
1446
    {
1447
        // validation for constraint: string
1448
        if (!is_null($lastModifiedTime) && !is_string($lastModifiedTime)) {
0 ignored issues
show
introduced by
The condition is_string($lastModifiedTime) is always true.
Loading history...
1449
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($lastModifiedTime, true), gettype($lastModifiedTime)), __LINE__);
1450
        }
1451
        $this->LastModifiedTime = $lastModifiedTime;
1452
        
1453
        return $this;
1454
    }
1455
    /**
1456
     * Get IsAssociated value
1457
     * @return bool|null
1458
     */
1459
    public function getIsAssociated(): ?bool
1460
    {
1461
        return $this->IsAssociated;
1462
    }
1463
    /**
1464
     * Set IsAssociated value
1465
     * @param bool $isAssociated
1466
     * @return \StructType\EwsItemType
1467
     */
1468
    public function setIsAssociated(?bool $isAssociated = null): self
1469
    {
1470
        // validation for constraint: boolean
1471
        if (!is_null($isAssociated) && !is_bool($isAssociated)) {
0 ignored issues
show
introduced by
The condition is_bool($isAssociated) is always true.
Loading history...
1472
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($isAssociated, true), gettype($isAssociated)), __LINE__);
1473
        }
1474
        $this->IsAssociated = $isAssociated;
1475
        
1476
        return $this;
1477
    }
1478
    /**
1479
     * Get WebClientReadFormQueryString value
1480
     * @return string|null
1481
     */
1482
    public function getWebClientReadFormQueryString(): ?string
1483
    {
1484
        return $this->WebClientReadFormQueryString;
1485
    }
1486
    /**
1487
     * Set WebClientReadFormQueryString value
1488
     * @param string $webClientReadFormQueryString
1489
     * @return \StructType\EwsItemType
1490
     */
1491
    public function setWebClientReadFormQueryString(?string $webClientReadFormQueryString = null): self
1492
    {
1493
        // validation for constraint: string
1494
        if (!is_null($webClientReadFormQueryString) && !is_string($webClientReadFormQueryString)) {
0 ignored issues
show
introduced by
The condition is_string($webClientReadFormQueryString) is always true.
Loading history...
1495
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($webClientReadFormQueryString, true), gettype($webClientReadFormQueryString)), __LINE__);
1496
        }
1497
        $this->WebClientReadFormQueryString = $webClientReadFormQueryString;
1498
        
1499
        return $this;
1500
    }
1501
    /**
1502
     * Get WebClientEditFormQueryString value
1503
     * @return string|null
1504
     */
1505
    public function getWebClientEditFormQueryString(): ?string
1506
    {
1507
        return $this->WebClientEditFormQueryString;
1508
    }
1509
    /**
1510
     * Set WebClientEditFormQueryString value
1511
     * @param string $webClientEditFormQueryString
1512
     * @return \StructType\EwsItemType
1513
     */
1514
    public function setWebClientEditFormQueryString(?string $webClientEditFormQueryString = null): self
1515
    {
1516
        // validation for constraint: string
1517
        if (!is_null($webClientEditFormQueryString) && !is_string($webClientEditFormQueryString)) {
0 ignored issues
show
introduced by
The condition is_string($webClientEditFormQueryString) is always true.
Loading history...
1518
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($webClientEditFormQueryString, true), gettype($webClientEditFormQueryString)), __LINE__);
1519
        }
1520
        $this->WebClientEditFormQueryString = $webClientEditFormQueryString;
1521
        
1522
        return $this;
1523
    }
1524
    /**
1525
     * Get ConversationId value
1526
     * @return \StructType\EwsItemIdType|null
1527
     */
1528
    public function getConversationId(): ?\StructType\EwsItemIdType
1529
    {
1530
        return $this->ConversationId;
1531
    }
1532
    /**
1533
     * Set ConversationId value
1534
     * @param \StructType\EwsItemIdType $conversationId
1535
     * @return \StructType\EwsItemType
1536
     */
1537
    public function setConversationId(?\StructType\EwsItemIdType $conversationId = null): self
1538
    {
1539
        $this->ConversationId = $conversationId;
1540
        
1541
        return $this;
1542
    }
1543
    /**
1544
     * Get UniqueBody value
1545
     * @return \StructType\EwsBodyType|null
1546
     */
1547
    public function getUniqueBody(): ?\StructType\EwsBodyType
1548
    {
1549
        return $this->UniqueBody;
1550
    }
1551
    /**
1552
     * Set UniqueBody value
1553
     * @param \StructType\EwsBodyType $uniqueBody
1554
     * @return \StructType\EwsItemType
1555
     */
1556
    public function setUniqueBody(?\StructType\EwsBodyType $uniqueBody = null): self
1557
    {
1558
        $this->UniqueBody = $uniqueBody;
1559
        
1560
        return $this;
1561
    }
1562
    /**
1563
     * Get Flag value
1564
     * @return \StructType\EwsFlagType|null
1565
     */
1566
    public function getFlag(): ?\StructType\EwsFlagType
1567
    {
1568
        return $this->Flag;
1569
    }
1570
    /**
1571
     * Set Flag value
1572
     * @param \StructType\EwsFlagType $flag
1573
     * @return \StructType\EwsItemType
1574
     */
1575
    public function setFlag(?\StructType\EwsFlagType $flag = null): self
1576
    {
1577
        $this->Flag = $flag;
1578
        
1579
        return $this;
1580
    }
1581
    /**
1582
     * Get StoreEntryId value
1583
     * @return string|null
1584
     */
1585
    public function getStoreEntryId(): ?string
1586
    {
1587
        return $this->StoreEntryId;
1588
    }
1589
    /**
1590
     * Set StoreEntryId value
1591
     * @param string $storeEntryId
1592
     * @return \StructType\EwsItemType
1593
     */
1594
    public function setStoreEntryId(?string $storeEntryId = null): self
1595
    {
1596
        // validation for constraint: string
1597
        if (!is_null($storeEntryId) && !is_string($storeEntryId)) {
0 ignored issues
show
introduced by
The condition is_string($storeEntryId) is always true.
Loading history...
1598
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($storeEntryId, true), gettype($storeEntryId)), __LINE__);
1599
        }
1600
        $this->StoreEntryId = $storeEntryId;
1601
        
1602
        return $this;
1603
    }
1604
    /**
1605
     * Get InstanceKey value
1606
     * @return string|null
1607
     */
1608
    public function getInstanceKey(): ?string
1609
    {
1610
        return $this->InstanceKey;
1611
    }
1612
    /**
1613
     * Set InstanceKey value
1614
     * @param string $instanceKey
1615
     * @return \StructType\EwsItemType
1616
     */
1617
    public function setInstanceKey(?string $instanceKey = null): self
1618
    {
1619
        // validation for constraint: string
1620
        if (!is_null($instanceKey) && !is_string($instanceKey)) {
0 ignored issues
show
introduced by
The condition is_string($instanceKey) is always true.
Loading history...
1621
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($instanceKey, true), gettype($instanceKey)), __LINE__);
1622
        }
1623
        $this->InstanceKey = $instanceKey;
1624
        
1625
        return $this;
1626
    }
1627
    /**
1628
     * Get NormalizedBody value
1629
     * @return \StructType\EwsBodyType|null
1630
     */
1631
    public function getNormalizedBody(): ?\StructType\EwsBodyType
1632
    {
1633
        return $this->NormalizedBody;
1634
    }
1635
    /**
1636
     * Set NormalizedBody value
1637
     * @param \StructType\EwsBodyType $normalizedBody
1638
     * @return \StructType\EwsItemType
1639
     */
1640
    public function setNormalizedBody(?\StructType\EwsBodyType $normalizedBody = null): self
1641
    {
1642
        $this->NormalizedBody = $normalizedBody;
1643
        
1644
        return $this;
1645
    }
1646
    /**
1647
     * Get EntityExtractionResult value
1648
     * @return \StructType\EwsEntityExtractionResultType|null
1649
     */
1650
    public function getEntityExtractionResult(): ?\StructType\EwsEntityExtractionResultType
1651
    {
1652
        return $this->EntityExtractionResult;
1653
    }
1654
    /**
1655
     * Set EntityExtractionResult value
1656
     * @param \StructType\EwsEntityExtractionResultType $entityExtractionResult
1657
     * @return \StructType\EwsItemType
1658
     */
1659
    public function setEntityExtractionResult(?\StructType\EwsEntityExtractionResultType $entityExtractionResult = null): self
1660
    {
1661
        $this->EntityExtractionResult = $entityExtractionResult;
1662
        
1663
        return $this;
1664
    }
1665
    /**
1666
     * Get PolicyTag value
1667
     * @return \StructType\EwsRetentionTagType|null
1668
     */
1669
    public function getPolicyTag(): ?\StructType\EwsRetentionTagType
1670
    {
1671
        return $this->PolicyTag;
1672
    }
1673
    /**
1674
     * Set PolicyTag value
1675
     * @param \StructType\EwsRetentionTagType $policyTag
1676
     * @return \StructType\EwsItemType
1677
     */
1678
    public function setPolicyTag(?\StructType\EwsRetentionTagType $policyTag = null): self
1679
    {
1680
        $this->PolicyTag = $policyTag;
1681
        
1682
        return $this;
1683
    }
1684
    /**
1685
     * Get ArchiveTag value
1686
     * @return \StructType\EwsRetentionTagType|null
1687
     */
1688
    public function getArchiveTag(): ?\StructType\EwsRetentionTagType
1689
    {
1690
        return $this->ArchiveTag;
1691
    }
1692
    /**
1693
     * Set ArchiveTag value
1694
     * @param \StructType\EwsRetentionTagType $archiveTag
1695
     * @return \StructType\EwsItemType
1696
     */
1697
    public function setArchiveTag(?\StructType\EwsRetentionTagType $archiveTag = null): self
1698
    {
1699
        $this->ArchiveTag = $archiveTag;
1700
        
1701
        return $this;
1702
    }
1703
    /**
1704
     * Get RetentionDate value
1705
     * @return string|null
1706
     */
1707
    public function getRetentionDate(): ?string
1708
    {
1709
        return $this->RetentionDate;
1710
    }
1711
    /**
1712
     * Set RetentionDate value
1713
     * @param string $retentionDate
1714
     * @return \StructType\EwsItemType
1715
     */
1716
    public function setRetentionDate(?string $retentionDate = null): self
1717
    {
1718
        // validation for constraint: string
1719
        if (!is_null($retentionDate) && !is_string($retentionDate)) {
0 ignored issues
show
introduced by
The condition is_string($retentionDate) is always true.
Loading history...
1720
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($retentionDate, true), gettype($retentionDate)), __LINE__);
1721
        }
1722
        $this->RetentionDate = $retentionDate;
1723
        
1724
        return $this;
1725
    }
1726
    /**
1727
     * Get Preview value
1728
     * @return string|null
1729
     */
1730
    public function getPreview(): ?string
1731
    {
1732
        return $this->Preview;
1733
    }
1734
    /**
1735
     * Set Preview value
1736
     * @param string $preview
1737
     * @return \StructType\EwsItemType
1738
     */
1739
    public function setPreview(?string $preview = null): self
1740
    {
1741
        // validation for constraint: string
1742
        if (!is_null($preview) && !is_string($preview)) {
0 ignored issues
show
introduced by
The condition is_string($preview) is always true.
Loading history...
1743
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($preview, true), gettype($preview)), __LINE__);
1744
        }
1745
        $this->Preview = $preview;
1746
        
1747
        return $this;
1748
    }
1749
    /**
1750
     * Get RightsManagementLicenseData value
1751
     * @return \StructType\EwsRightsManagementLicenseDataType|null
1752
     */
1753
    public function getRightsManagementLicenseData(): ?\StructType\EwsRightsManagementLicenseDataType
1754
    {
1755
        return $this->RightsManagementLicenseData;
1756
    }
1757
    /**
1758
     * Set RightsManagementLicenseData value
1759
     * @param \StructType\EwsRightsManagementLicenseDataType $rightsManagementLicenseData
1760
     * @return \StructType\EwsItemType
1761
     */
1762
    public function setRightsManagementLicenseData(?\StructType\EwsRightsManagementLicenseDataType $rightsManagementLicenseData = null): self
1763
    {
1764
        $this->RightsManagementLicenseData = $rightsManagementLicenseData;
1765
        
1766
        return $this;
1767
    }
1768
    /**
1769
     * Get PredictedActionReasons value
1770
     * @return \ArrayType\EwsNonEmptyArrayOfPredictedActionReasonType|null
1771
     */
1772
    public function getPredictedActionReasons(): ?\ArrayType\EwsNonEmptyArrayOfPredictedActionReasonType
1773
    {
1774
        return $this->PredictedActionReasons;
1775
    }
1776
    /**
1777
     * Set PredictedActionReasons value
1778
     * @param \ArrayType\EwsNonEmptyArrayOfPredictedActionReasonType $predictedActionReasons
1779
     * @return \StructType\EwsItemType
1780
     */
1781
    public function setPredictedActionReasons(?\ArrayType\EwsNonEmptyArrayOfPredictedActionReasonType $predictedActionReasons = null): self
1782
    {
1783
        $this->PredictedActionReasons = $predictedActionReasons;
1784
        
1785
        return $this;
1786
    }
1787
    /**
1788
     * Get IsClutter value
1789
     * @return bool|null
1790
     */
1791
    public function getIsClutter(): ?bool
1792
    {
1793
        return $this->IsClutter;
1794
    }
1795
    /**
1796
     * Set IsClutter value
1797
     * @param bool $isClutter
1798
     * @return \StructType\EwsItemType
1799
     */
1800
    public function setIsClutter(?bool $isClutter = null): self
1801
    {
1802
        // validation for constraint: boolean
1803
        if (!is_null($isClutter) && !is_bool($isClutter)) {
0 ignored issues
show
introduced by
The condition is_bool($isClutter) is always true.
Loading history...
1804
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($isClutter, true), gettype($isClutter)), __LINE__);
1805
        }
1806
        $this->IsClutter = $isClutter;
1807
        
1808
        return $this;
1809
    }
1810
    /**
1811
     * Get BlockStatus value
1812
     * @return bool|null
1813
     */
1814
    public function getBlockStatus(): ?bool
1815
    {
1816
        return $this->BlockStatus;
1817
    }
1818
    /**
1819
     * Set BlockStatus value
1820
     * @param bool $blockStatus
1821
     * @return \StructType\EwsItemType
1822
     */
1823
    public function setBlockStatus(?bool $blockStatus = null): self
1824
    {
1825
        // validation for constraint: boolean
1826
        if (!is_null($blockStatus) && !is_bool($blockStatus)) {
0 ignored issues
show
introduced by
The condition is_bool($blockStatus) is always true.
Loading history...
1827
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($blockStatus, true), gettype($blockStatus)), __LINE__);
1828
        }
1829
        $this->BlockStatus = $blockStatus;
1830
        
1831
        return $this;
1832
    }
1833
    /**
1834
     * Get HasBlockedImages value
1835
     * @return bool|null
1836
     */
1837
    public function getHasBlockedImages(): ?bool
1838
    {
1839
        return $this->HasBlockedImages;
1840
    }
1841
    /**
1842
     * Set HasBlockedImages value
1843
     * @param bool $hasBlockedImages
1844
     * @return \StructType\EwsItemType
1845
     */
1846
    public function setHasBlockedImages(?bool $hasBlockedImages = null): self
1847
    {
1848
        // validation for constraint: boolean
1849
        if (!is_null($hasBlockedImages) && !is_bool($hasBlockedImages)) {
0 ignored issues
show
introduced by
The condition is_bool($hasBlockedImages) is always true.
Loading history...
1850
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($hasBlockedImages, true), gettype($hasBlockedImages)), __LINE__);
1851
        }
1852
        $this->HasBlockedImages = $hasBlockedImages;
1853
        
1854
        return $this;
1855
    }
1856
    /**
1857
     * Get TextBody value
1858
     * @return \StructType\EwsBodyType|null
1859
     */
1860
    public function getTextBody(): ?\StructType\EwsBodyType
1861
    {
1862
        return $this->TextBody;
1863
    }
1864
    /**
1865
     * Set TextBody value
1866
     * @param \StructType\EwsBodyType $textBody
1867
     * @return \StructType\EwsItemType
1868
     */
1869
    public function setTextBody(?\StructType\EwsBodyType $textBody = null): self
1870
    {
1871
        $this->TextBody = $textBody;
1872
        
1873
        return $this;
1874
    }
1875
    /**
1876
     * Get IconIndex value
1877
     * @return string|null
1878
     */
1879
    public function getIconIndex(): ?string
1880
    {
1881
        return $this->IconIndex;
1882
    }
1883
    /**
1884
     * Set IconIndex value
1885
     * @uses \EnumType\EwsIconIndexType::valueIsValid()
1886
     * @uses \EnumType\EwsIconIndexType::getValidValues()
1887
     * @throws InvalidArgumentException
1888
     * @param string $iconIndex
1889
     * @return \StructType\EwsItemType
1890
     */
1891
    public function setIconIndex(?string $iconIndex = null): self
1892
    {
1893
        // validation for constraint: enumeration
1894
        if (!\EnumType\EwsIconIndexType::valueIsValid($iconIndex)) {
1895
            throw new InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \EnumType\EwsIconIndexType', is_array($iconIndex) ? implode(', ', $iconIndex) : var_export($iconIndex, true), implode(', ', \EnumType\EwsIconIndexType::getValidValues())), __LINE__);
0 ignored issues
show
introduced by
The condition is_array($iconIndex) is always false.
Loading history...
1896
        }
1897
        $this->IconIndex = $iconIndex;
1898
        
1899
        return $this;
1900
    }
1901
    /**
1902
     * Get SearchKey value
1903
     * @return string|null
1904
     */
1905
    public function getSearchKey(): ?string
1906
    {
1907
        return $this->SearchKey;
1908
    }
1909
    /**
1910
     * Set SearchKey value
1911
     * @param string $searchKey
1912
     * @return \StructType\EwsItemType
1913
     */
1914
    public function setSearchKey(?string $searchKey = null): self
1915
    {
1916
        // validation for constraint: string
1917
        if (!is_null($searchKey) && !is_string($searchKey)) {
0 ignored issues
show
introduced by
The condition is_string($searchKey) is always true.
Loading history...
1918
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($searchKey, true), gettype($searchKey)), __LINE__);
1919
        }
1920
        $this->SearchKey = $searchKey;
1921
        
1922
        return $this;
1923
    }
1924
    /**
1925
     * Get SortKey value
1926
     * @return int|null
1927
     */
1928
    public function getSortKey(): ?int
1929
    {
1930
        return $this->SortKey;
1931
    }
1932
    /**
1933
     * Set SortKey value
1934
     * @param int $sortKey
1935
     * @return \StructType\EwsItemType
1936
     */
1937
    public function setSortKey(?int $sortKey = null): self
1938
    {
1939
        // validation for constraint: int
1940
        if (!is_null($sortKey) && !(is_int($sortKey) || ctype_digit($sortKey))) {
0 ignored issues
show
introduced by
The condition is_int($sortKey) is always true.
Loading history...
1941
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($sortKey, true), gettype($sortKey)), __LINE__);
1942
        }
1943
        $this->SortKey = $sortKey;
1944
        
1945
        return $this;
1946
    }
1947
    /**
1948
     * Get Hashtags value
1949
     * @return \ArrayType\EwsArrayOfStringsType|null
1950
     */
1951
    public function getHashtags(): ?\ArrayType\EwsArrayOfStringsType
1952
    {
1953
        return $this->Hashtags;
1954
    }
1955
    /**
1956
     * Set Hashtags value
1957
     * @param \ArrayType\EwsArrayOfStringsType $hashtags
1958
     * @return \StructType\EwsItemType
1959
     */
1960
    public function setHashtags(?\ArrayType\EwsArrayOfStringsType $hashtags = null): self
1961
    {
1962
        $this->Hashtags = $hashtags;
1963
        
1964
        return $this;
1965
    }
1966
    /**
1967
     * Get Mentions value
1968
     * @return \ArrayType\EwsArrayOfRecipientsType|null
1969
     */
1970
    public function getMentions(): ?\ArrayType\EwsArrayOfRecipientsType
1971
    {
1972
        return $this->Mentions;
1973
    }
1974
    /**
1975
     * Set Mentions value
1976
     * @param \ArrayType\EwsArrayOfRecipientsType $mentions
1977
     * @return \StructType\EwsItemType
1978
     */
1979
    public function setMentions(?\ArrayType\EwsArrayOfRecipientsType $mentions = null): self
1980
    {
1981
        $this->Mentions = $mentions;
1982
        
1983
        return $this;
1984
    }
1985
    /**
1986
     * Get MentionedMe value
1987
     * @return bool|null
1988
     */
1989
    public function getMentionedMe(): ?bool
1990
    {
1991
        return $this->MentionedMe;
1992
    }
1993
    /**
1994
     * Set MentionedMe value
1995
     * @param bool $mentionedMe
1996
     * @return \StructType\EwsItemType
1997
     */
1998
    public function setMentionedMe(?bool $mentionedMe = null): self
1999
    {
2000
        // validation for constraint: boolean
2001
        if (!is_null($mentionedMe) && !is_bool($mentionedMe)) {
0 ignored issues
show
introduced by
The condition is_bool($mentionedMe) is always true.
Loading history...
2002
            throw new InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($mentionedMe, true), gettype($mentionedMe)), __LINE__);
2003
        }
2004
        $this->MentionedMe = $mentionedMe;
2005
        
2006
        return $this;
2007
    }
2008
    /**
2009
     * Get PendingSocialActivityTagIds value
2010
     * @return \ArrayType\EwsArrayOfStringsType|null
2011
     */
2012
    public function getPendingSocialActivityTagIds(): ?\ArrayType\EwsArrayOfStringsType
2013
    {
2014
        return $this->PendingSocialActivityTagIds;
2015
    }
2016
    /**
2017
     * Set PendingSocialActivityTagIds value
2018
     * @param \ArrayType\EwsArrayOfStringsType $pendingSocialActivityTagIds
2019
     * @return \StructType\EwsItemType
2020
     */
2021
    public function setPendingSocialActivityTagIds(?\ArrayType\EwsArrayOfStringsType $pendingSocialActivityTagIds = null): self
2022
    {
2023
        $this->PendingSocialActivityTagIds = $pendingSocialActivityTagIds;
2024
        
2025
        return $this;
2026
    }
2027
}
2028