validateAcceptSharingInvitationForChoiceConstraintsFromSetAcceptSharingInvitation()   A
last analyzed

Complexity

Conditions 5
Paths 4

Size

Total Lines 45
Code Lines 37

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 5
eloc 37
nc 4
nop 1
dl 0
loc 45
rs 9.0168
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 NonEmptyArrayOfAllItemsType StructType
12
 * @package Ews
13
 * @subpackage Structs
14
 * @author WsdlToPhp <[email protected]>
15
 */
16
class EwsNonEmptyArrayOfAllItemsType extends AbstractStructBase
17
{
18
    /**
19
     * The Item
20
     * Meta information extracted from the WSDL
21
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
22
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
23
     * - choiceMaxOccurs: unbounded
24
     * - choiceMinOccurs: 1
25
     * @var \StructType\EwsItemType|null
26
     */
27
    protected ?\StructType\EwsItemType $Item = null;
28
    /**
29
     * The Message
30
     * Meta information extracted from the WSDL
31
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
32
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
33
     * - choiceMaxOccurs: unbounded
34
     * - choiceMinOccurs: 1
35
     * @var \StructType\EwsMessageType|null
36
     */
37
    protected ?\StructType\EwsMessageType $Message = null;
38
    /**
39
     * The CalendarItem
40
     * Meta information extracted from the WSDL
41
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
42
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
43
     * - choiceMaxOccurs: unbounded
44
     * - choiceMinOccurs: 1
45
     * @var \StructType\EwsCalendarItemType|null
46
     */
47
    protected ?\StructType\EwsCalendarItemType $CalendarItem = null;
48
    /**
49
     * The Contact
50
     * Meta information extracted from the WSDL
51
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
52
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
53
     * - choiceMaxOccurs: unbounded
54
     * - choiceMinOccurs: 1
55
     * @var \StructType\EwsContactItemType|null
56
     */
57
    protected ?\StructType\EwsContactItemType $Contact = null;
58
    /**
59
     * The DistributionList
60
     * Meta information extracted from the WSDL
61
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
62
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
63
     * - choiceMaxOccurs: unbounded
64
     * - choiceMinOccurs: 1
65
     * @var \StructType\EwsDistributionListType|null
66
     */
67
    protected ?\StructType\EwsDistributionListType $DistributionList = null;
68
    /**
69
     * The MeetingMessage
70
     * Meta information extracted from the WSDL
71
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
72
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
73
     * - choiceMaxOccurs: unbounded
74
     * - choiceMinOccurs: 1
75
     * @var \StructType\EwsMeetingMessageType|null
76
     */
77
    protected ?\StructType\EwsMeetingMessageType $MeetingMessage = null;
78
    /**
79
     * The MeetingRequest
80
     * Meta information extracted from the WSDL
81
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
82
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
83
     * - choiceMaxOccurs: unbounded
84
     * - choiceMinOccurs: 1
85
     * @var \StructType\EwsMeetingRequestMessageType|null
86
     */
87
    protected ?\StructType\EwsMeetingRequestMessageType $MeetingRequest = null;
88
    /**
89
     * The MeetingResponse
90
     * Meta information extracted from the WSDL
91
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
92
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
93
     * - choiceMaxOccurs: unbounded
94
     * - choiceMinOccurs: 1
95
     * @var \StructType\EwsMeetingResponseMessageType|null
96
     */
97
    protected ?\StructType\EwsMeetingResponseMessageType $MeetingResponse = null;
98
    /**
99
     * The MeetingCancellation
100
     * Meta information extracted from the WSDL
101
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
102
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
103
     * - choiceMaxOccurs: unbounded
104
     * - choiceMinOccurs: 1
105
     * @var \StructType\EwsMeetingCancellationMessageType|null
106
     */
107
    protected ?\StructType\EwsMeetingCancellationMessageType $MeetingCancellation = null;
108
    /**
109
     * The Task
110
     * Meta information extracted from the WSDL
111
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
112
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
113
     * - choiceMaxOccurs: unbounded
114
     * - choiceMinOccurs: 1
115
     * @var \StructType\EwsTaskType|null
116
     */
117
    protected ?\StructType\EwsTaskType $Task = null;
118
    /**
119
     * The PostItem
120
     * Meta information extracted from the WSDL
121
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
122
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
123
     * - choiceMaxOccurs: unbounded
124
     * - choiceMinOccurs: 1
125
     * @var \StructType\EwsPostItemType|null
126
     */
127
    protected ?\StructType\EwsPostItemType $PostItem = null;
128
    /**
129
     * The ReplyToItem
130
     * Meta information extracted from the WSDL
131
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
132
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
133
     * - choiceMaxOccurs: unbounded
134
     * - choiceMinOccurs: 1
135
     * @var \StructType\EwsReplyToItemType|null
136
     */
137
    protected ?\StructType\EwsReplyToItemType $ReplyToItem = null;
138
    /**
139
     * The ForwardItem
140
     * Meta information extracted from the WSDL
141
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
142
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
143
     * - choiceMaxOccurs: unbounded
144
     * - choiceMinOccurs: 1
145
     * @var \StructType\EwsForwardItemType|null
146
     */
147
    protected ?\StructType\EwsForwardItemType $ForwardItem = null;
148
    /**
149
     * The ReplyAllToItem
150
     * Meta information extracted from the WSDL
151
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
152
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
153
     * - choiceMaxOccurs: unbounded
154
     * - choiceMinOccurs: 1
155
     * @var \StructType\EwsReplyAllToItemType|null
156
     */
157
    protected ?\StructType\EwsReplyAllToItemType $ReplyAllToItem = null;
158
    /**
159
     * The AcceptItem
160
     * Meta information extracted from the WSDL
161
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
162
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
163
     * - choiceMaxOccurs: unbounded
164
     * - choiceMinOccurs: 1
165
     * @var \StructType\EwsAcceptItemType|null
166
     */
167
    protected ?\StructType\EwsAcceptItemType $AcceptItem = null;
168
    /**
169
     * The TentativelyAcceptItem
170
     * Meta information extracted from the WSDL
171
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
172
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
173
     * - choiceMaxOccurs: unbounded
174
     * - choiceMinOccurs: 1
175
     * @var \StructType\EwsTentativelyAcceptItemType|null
176
     */
177
    protected ?\StructType\EwsTentativelyAcceptItemType $TentativelyAcceptItem = null;
178
    /**
179
     * The DeclineItem
180
     * Meta information extracted from the WSDL
181
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
182
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
183
     * - choiceMaxOccurs: unbounded
184
     * - choiceMinOccurs: 1
185
     * @var \StructType\EwsDeclineItemType|null
186
     */
187
    protected ?\StructType\EwsDeclineItemType $DeclineItem = null;
188
    /**
189
     * The CancelCalendarItem
190
     * Meta information extracted from the WSDL
191
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
192
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
193
     * - choiceMaxOccurs: unbounded
194
     * - choiceMinOccurs: 1
195
     * @var \StructType\EwsCancelCalendarItemType|null
196
     */
197
    protected ?\StructType\EwsCancelCalendarItemType $CancelCalendarItem = null;
198
    /**
199
     * The RemoveItem
200
     * Meta information extracted from the WSDL
201
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
202
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
203
     * - choiceMaxOccurs: unbounded
204
     * - choiceMinOccurs: 1
205
     * @var \StructType\EwsRemoveItemType|null
206
     */
207
    protected ?\StructType\EwsRemoveItemType $RemoveItem = null;
208
    /**
209
     * The SuppressReadReceipt
210
     * Meta information extracted from the WSDL
211
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
212
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
213
     * - choiceMaxOccurs: unbounded
214
     * - choiceMinOccurs: 1
215
     * @var \StructType\EwsSuppressReadReceiptType|null
216
     */
217
    protected ?\StructType\EwsSuppressReadReceiptType $SuppressReadReceipt = null;
218
    /**
219
     * The PostReplyItem
220
     * Meta information extracted from the WSDL
221
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
222
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
223
     * - choiceMaxOccurs: unbounded
224
     * - choiceMinOccurs: 1
225
     * @var \StructType\EwsPostReplyItemType|null
226
     */
227
    protected ?\StructType\EwsPostReplyItemType $PostReplyItem = null;
228
    /**
229
     * The AcceptSharingInvitation
230
     * Meta information extracted from the WSDL
231
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
232
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
233
     * - choiceMaxOccurs: unbounded
234
     * - choiceMinOccurs: 1
235
     * @var \StructType\EwsAcceptSharingInvitationType|null
236
     */
237
    protected ?\StructType\EwsAcceptSharingInvitationType $AcceptSharingInvitation = null;
238
    /**
239
     * The RoleMember
240
     * Meta information extracted from the WSDL
241
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
242
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
243
     * - choiceMaxOccurs: unbounded
244
     * - choiceMinOccurs: 1
245
     * @var \StructType\EwsRoleMemberItemType|null
246
     */
247
    protected ?\StructType\EwsRoleMemberItemType $RoleMember = null;
248
    /**
249
     * The Network
250
     * Meta information extracted from the WSDL
251
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
252
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
253
     * - choiceMaxOccurs: unbounded
254
     * - choiceMinOccurs: 1
255
     * @var \StructType\EwsNetworkItemType|null
256
     */
257
    protected ?\StructType\EwsNetworkItemType $Network = null;
258
    /**
259
     * The Person
260
     * Meta information extracted from the WSDL
261
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
262
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
263
     * - choiceMaxOccurs: unbounded
264
     * - choiceMinOccurs: 1
265
     * @var \StructType\EwsAbchPersonItemType|null
266
     */
267
    protected ?\StructType\EwsAbchPersonItemType $Person = null;
268
    /**
269
     * The Booking
270
     * Meta information extracted from the WSDL
271
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
272
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
273
     * - choiceMaxOccurs: unbounded
274
     * - choiceMinOccurs: 1
275
     * @var \StructType\EwsBookingItemType|null
276
     */
277
    protected ?\StructType\EwsBookingItemType $Booking = null;
278
    /**
279
     * The XrmOrganization
280
     * Meta information extracted from the WSDL
281
     * - choice: Item | Message | CalendarItem | Contact | DistributionList | MeetingMessage | MeetingRequest | MeetingResponse | MeetingCancellation | Task | PostItem | ReplyToItem | ForwardItem | ReplyAllToItem | AcceptItem | TentativelyAcceptItem |
282
     * DeclineItem | CancelCalendarItem | RemoveItem | SuppressReadReceipt | PostReplyItem | AcceptSharingInvitation | RoleMember | Network | Person | Booking | XrmOrganization
283
     * - choiceMaxOccurs: unbounded
284
     * - choiceMinOccurs: 1
285
     * @var \StructType\EwsXrmOrganizationItemType|null
286
     */
287
    protected ?\StructType\EwsXrmOrganizationItemType $XrmOrganization = null;
288
    /**
289
     * Constructor method for NonEmptyArrayOfAllItemsType
290
     * @uses EwsNonEmptyArrayOfAllItemsType::setItem()
291
     * @uses EwsNonEmptyArrayOfAllItemsType::setMessage()
292
     * @uses EwsNonEmptyArrayOfAllItemsType::setCalendarItem()
293
     * @uses EwsNonEmptyArrayOfAllItemsType::setContact()
294
     * @uses EwsNonEmptyArrayOfAllItemsType::setDistributionList()
295
     * @uses EwsNonEmptyArrayOfAllItemsType::setMeetingMessage()
296
     * @uses EwsNonEmptyArrayOfAllItemsType::setMeetingRequest()
297
     * @uses EwsNonEmptyArrayOfAllItemsType::setMeetingResponse()
298
     * @uses EwsNonEmptyArrayOfAllItemsType::setMeetingCancellation()
299
     * @uses EwsNonEmptyArrayOfAllItemsType::setTask()
300
     * @uses EwsNonEmptyArrayOfAllItemsType::setPostItem()
301
     * @uses EwsNonEmptyArrayOfAllItemsType::setReplyToItem()
302
     * @uses EwsNonEmptyArrayOfAllItemsType::setForwardItem()
303
     * @uses EwsNonEmptyArrayOfAllItemsType::setReplyAllToItem()
304
     * @uses EwsNonEmptyArrayOfAllItemsType::setAcceptItem()
305
     * @uses EwsNonEmptyArrayOfAllItemsType::setTentativelyAcceptItem()
306
     * @uses EwsNonEmptyArrayOfAllItemsType::setDeclineItem()
307
     * @uses EwsNonEmptyArrayOfAllItemsType::setCancelCalendarItem()
308
     * @uses EwsNonEmptyArrayOfAllItemsType::setRemoveItem()
309
     * @uses EwsNonEmptyArrayOfAllItemsType::setSuppressReadReceipt()
310
     * @uses EwsNonEmptyArrayOfAllItemsType::setPostReplyItem()
311
     * @uses EwsNonEmptyArrayOfAllItemsType::setAcceptSharingInvitation()
312
     * @uses EwsNonEmptyArrayOfAllItemsType::setRoleMember()
313
     * @uses EwsNonEmptyArrayOfAllItemsType::setNetwork()
314
     * @uses EwsNonEmptyArrayOfAllItemsType::setPerson()
315
     * @uses EwsNonEmptyArrayOfAllItemsType::setBooking()
316
     * @uses EwsNonEmptyArrayOfAllItemsType::setXrmOrganization()
317
     * @param \StructType\EwsItemType $item
318
     * @param \StructType\EwsMessageType $message
319
     * @param \StructType\EwsCalendarItemType $calendarItem
320
     * @param \StructType\EwsContactItemType $contact
321
     * @param \StructType\EwsDistributionListType $distributionList
322
     * @param \StructType\EwsMeetingMessageType $meetingMessage
323
     * @param \StructType\EwsMeetingRequestMessageType $meetingRequest
324
     * @param \StructType\EwsMeetingResponseMessageType $meetingResponse
325
     * @param \StructType\EwsMeetingCancellationMessageType $meetingCancellation
326
     * @param \StructType\EwsTaskType $task
327
     * @param \StructType\EwsPostItemType $postItem
328
     * @param \StructType\EwsReplyToItemType $replyToItem
329
     * @param \StructType\EwsForwardItemType $forwardItem
330
     * @param \StructType\EwsReplyAllToItemType $replyAllToItem
331
     * @param \StructType\EwsAcceptItemType $acceptItem
332
     * @param \StructType\EwsTentativelyAcceptItemType $tentativelyAcceptItem
333
     * @param \StructType\EwsDeclineItemType $declineItem
334
     * @param \StructType\EwsCancelCalendarItemType $cancelCalendarItem
335
     * @param \StructType\EwsRemoveItemType $removeItem
336
     * @param \StructType\EwsSuppressReadReceiptType $suppressReadReceipt
337
     * @param \StructType\EwsPostReplyItemType $postReplyItem
338
     * @param \StructType\EwsAcceptSharingInvitationType $acceptSharingInvitation
339
     * @param \StructType\EwsRoleMemberItemType $roleMember
340
     * @param \StructType\EwsNetworkItemType $network
341
     * @param \StructType\EwsAbchPersonItemType $person
342
     * @param \StructType\EwsBookingItemType $booking
343
     * @param \StructType\EwsXrmOrganizationItemType $xrmOrganization
344
     */
345
    public function __construct(?\StructType\EwsItemType $item = null, ?\StructType\EwsMessageType $message = null, ?\StructType\EwsCalendarItemType $calendarItem = null, ?\StructType\EwsContactItemType $contact = null, ?\StructType\EwsDistributionListType $distributionList = null, ?\StructType\EwsMeetingMessageType $meetingMessage = null, ?\StructType\EwsMeetingRequestMessageType $meetingRequest = null, ?\StructType\EwsMeetingResponseMessageType $meetingResponse = null, ?\StructType\EwsMeetingCancellationMessageType $meetingCancellation = null, ?\StructType\EwsTaskType $task = null, ?\StructType\EwsPostItemType $postItem = null, ?\StructType\EwsReplyToItemType $replyToItem = null, ?\StructType\EwsForwardItemType $forwardItem = null, ?\StructType\EwsReplyAllToItemType $replyAllToItem = null, ?\StructType\EwsAcceptItemType $acceptItem = null, ?\StructType\EwsTentativelyAcceptItemType $tentativelyAcceptItem = null, ?\StructType\EwsDeclineItemType $declineItem = null, ?\StructType\EwsCancelCalendarItemType $cancelCalendarItem = null, ?\StructType\EwsRemoveItemType $removeItem = null, ?\StructType\EwsSuppressReadReceiptType $suppressReadReceipt = null, ?\StructType\EwsPostReplyItemType $postReplyItem = null, ?\StructType\EwsAcceptSharingInvitationType $acceptSharingInvitation = null, ?\StructType\EwsRoleMemberItemType $roleMember = null, ?\StructType\EwsNetworkItemType $network = null, ?\StructType\EwsAbchPersonItemType $person = null, ?\StructType\EwsBookingItemType $booking = null, ?\StructType\EwsXrmOrganizationItemType $xrmOrganization = null)
346
    {
347
        $this
348
            ->setItem($item)
349
            ->setMessage($message)
350
            ->setCalendarItem($calendarItem)
351
            ->setContact($contact)
352
            ->setDistributionList($distributionList)
353
            ->setMeetingMessage($meetingMessage)
354
            ->setMeetingRequest($meetingRequest)
355
            ->setMeetingResponse($meetingResponse)
356
            ->setMeetingCancellation($meetingCancellation)
357
            ->setTask($task)
358
            ->setPostItem($postItem)
359
            ->setReplyToItem($replyToItem)
360
            ->setForwardItem($forwardItem)
361
            ->setReplyAllToItem($replyAllToItem)
362
            ->setAcceptItem($acceptItem)
363
            ->setTentativelyAcceptItem($tentativelyAcceptItem)
364
            ->setDeclineItem($declineItem)
365
            ->setCancelCalendarItem($cancelCalendarItem)
366
            ->setRemoveItem($removeItem)
367
            ->setSuppressReadReceipt($suppressReadReceipt)
368
            ->setPostReplyItem($postReplyItem)
369
            ->setAcceptSharingInvitation($acceptSharingInvitation)
370
            ->setRoleMember($roleMember)
371
            ->setNetwork($network)
372
            ->setPerson($person)
373
            ->setBooking($booking)
374
            ->setXrmOrganization($xrmOrganization);
375
    }
376
    /**
377
     * Get Item value
378
     * @return \StructType\EwsItemType|null
379
     */
380
    public function getItem(): ?\StructType\EwsItemType
381
    {
382
        return isset($this->Item) ? $this->Item : null;
383
    }
384
    /**
385
     * This method is responsible for validating the value passed to the setItem method
386
     * This method is willingly generated in order to preserve the one-line inline validation within the setItem method
387
     * This has to validate that the property which is being set is the only one among the given choices
388
     * @param mixed $value
389
     * @return string A non-empty message if the values does not match the validation rules
390
     */
391
    public function validateItemForChoiceConstraintsFromSetItem($value): string
392
    {
393
        $message = '';
394
        if (is_null($value)) {
395
            return $message;
396
        }
397
        $properties = [
398
            'Message',
399
            'CalendarItem',
400
            'Contact',
401
            'DistributionList',
402
            'MeetingMessage',
403
            'MeetingRequest',
404
            'MeetingResponse',
405
            'MeetingCancellation',
406
            'Task',
407
            'PostItem',
408
            'ReplyToItem',
409
            'ForwardItem',
410
            'ReplyAllToItem',
411
            'AcceptItem',
412
            'TentativelyAcceptItem',
413
            'DeclineItem',
414
            'CancelCalendarItem',
415
            'RemoveItem',
416
            'SuppressReadReceipt',
417
            'PostReplyItem',
418
            'AcceptSharingInvitation',
419
            'RoleMember',
420
            'Network',
421
            'Person',
422
            'Booking',
423
            'XrmOrganization',
424
        ];
425
        try {
426
            foreach ($properties as $property) {
427
                if (isset($this->{$property})) {
428
                    throw new InvalidArgumentException(sprintf('The property Item can\'t be set as the property %s is already set. Only one property must be set among these properties: Item, %s.', $property, implode(', ', $properties)), __LINE__);
429
                }
430
            }
431
        } catch (InvalidArgumentException $e) {
432
            $message = $e->getMessage();
433
        }
434
        
435
        return $message;
436
    }
437
    /**
438
     * Set Item value
439
     * This property belongs to a choice that allows only one property to exist. It is
440
     * therefore removable from the request, consequently if the value assigned to this
441
     * property is null, the property is removed from this object
442
     * @throws InvalidArgumentException
443
     * @param \StructType\EwsItemType $item
444
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
445
     */
446
    public function setItem(?\StructType\EwsItemType $item = null): self
447
    {
448
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
449
        if ('' !== ($itemChoiceErrorMessage = self::validateItemForChoiceConstraintsFromSetItem($item))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...onstraintsFromSetItem() 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

449
        if ('' !== ($itemChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateItemForChoiceConstraintsFromSetItem($item))) {
Loading history...
450
            throw new InvalidArgumentException($itemChoiceErrorMessage, __LINE__);
451
        }
452
        if (is_null($item) || (is_array($item) && empty($item))) {
453
            unset($this->Item);
454
        } else {
455
            $this->Item = $item;
456
        }
457
        
458
        return $this;
459
    }
460
    /**
461
     * Get Message value
462
     * @return \StructType\EwsMessageType|null
463
     */
464
    public function getMessage(): ?\StructType\EwsMessageType
465
    {
466
        return isset($this->Message) ? $this->Message : null;
467
    }
468
    /**
469
     * This method is responsible for validating the value passed to the setMessage method
470
     * This method is willingly generated in order to preserve the one-line inline validation within the setMessage method
471
     * This has to validate that the property which is being set is the only one among the given choices
472
     * @param mixed $value
473
     * @return string A non-empty message if the values does not match the validation rules
474
     */
475
    public function validateMessageForChoiceConstraintsFromSetMessage($value): string
476
    {
477
        $message = '';
478
        if (is_null($value)) {
479
            return $message;
480
        }
481
        $properties = [
482
            'Item',
483
            'CalendarItem',
484
            'Contact',
485
            'DistributionList',
486
            'MeetingMessage',
487
            'MeetingRequest',
488
            'MeetingResponse',
489
            'MeetingCancellation',
490
            'Task',
491
            'PostItem',
492
            'ReplyToItem',
493
            'ForwardItem',
494
            'ReplyAllToItem',
495
            'AcceptItem',
496
            'TentativelyAcceptItem',
497
            'DeclineItem',
498
            'CancelCalendarItem',
499
            'RemoveItem',
500
            'SuppressReadReceipt',
501
            'PostReplyItem',
502
            'AcceptSharingInvitation',
503
            'RoleMember',
504
            'Network',
505
            'Person',
506
            'Booking',
507
            'XrmOrganization',
508
        ];
509
        try {
510
            foreach ($properties as $property) {
511
                if (isset($this->{$property})) {
512
                    throw new InvalidArgumentException(sprintf('The property Message can\'t be set as the property %s is already set. Only one property must be set among these properties: Message, %s.', $property, implode(', ', $properties)), __LINE__);
513
                }
514
            }
515
        } catch (InvalidArgumentException $e) {
516
            $message = $e->getMessage();
517
        }
518
        
519
        return $message;
520
    }
521
    /**
522
     * Set Message value
523
     * This property belongs to a choice that allows only one property to exist. It is
524
     * therefore removable from the request, consequently if the value assigned to this
525
     * property is null, the property is removed from this object
526
     * @throws InvalidArgumentException
527
     * @param \StructType\EwsMessageType $message
528
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
529
     */
530
    public function setMessage(?\StructType\EwsMessageType $message = null): self
531
    {
532
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
533
        if ('' !== ($messageChoiceErrorMessage = self::validateMessageForChoiceConstraintsFromSetMessage($message))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...traintsFromSetMessage() 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

533
        if ('' !== ($messageChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateMessageForChoiceConstraintsFromSetMessage($message))) {
Loading history...
534
            throw new InvalidArgumentException($messageChoiceErrorMessage, __LINE__);
535
        }
536
        if (is_null($message) || (is_array($message) && empty($message))) {
537
            unset($this->Message);
538
        } else {
539
            $this->Message = $message;
540
        }
541
        
542
        return $this;
543
    }
544
    /**
545
     * Get CalendarItem value
546
     * @return \StructType\EwsCalendarItemType|null
547
     */
548
    public function getCalendarItem(): ?\StructType\EwsCalendarItemType
549
    {
550
        return isset($this->CalendarItem) ? $this->CalendarItem : null;
551
    }
552
    /**
553
     * This method is responsible for validating the value passed to the setCalendarItem method
554
     * This method is willingly generated in order to preserve the one-line inline validation within the setCalendarItem method
555
     * This has to validate that the property which is being set is the only one among the given choices
556
     * @param mixed $value
557
     * @return string A non-empty message if the values does not match the validation rules
558
     */
559
    public function validateCalendarItemForChoiceConstraintsFromSetCalendarItem($value): string
560
    {
561
        $message = '';
562
        if (is_null($value)) {
563
            return $message;
564
        }
565
        $properties = [
566
            'Item',
567
            'Message',
568
            'Contact',
569
            'DistributionList',
570
            'MeetingMessage',
571
            'MeetingRequest',
572
            'MeetingResponse',
573
            'MeetingCancellation',
574
            'Task',
575
            'PostItem',
576
            'ReplyToItem',
577
            'ForwardItem',
578
            'ReplyAllToItem',
579
            'AcceptItem',
580
            'TentativelyAcceptItem',
581
            'DeclineItem',
582
            'CancelCalendarItem',
583
            'RemoveItem',
584
            'SuppressReadReceipt',
585
            'PostReplyItem',
586
            'AcceptSharingInvitation',
587
            'RoleMember',
588
            'Network',
589
            'Person',
590
            'Booking',
591
            'XrmOrganization',
592
        ];
593
        try {
594
            foreach ($properties as $property) {
595
                if (isset($this->{$property})) {
596
                    throw new InvalidArgumentException(sprintf('The property CalendarItem can\'t be set as the property %s is already set. Only one property must be set among these properties: CalendarItem, %s.', $property, implode(', ', $properties)), __LINE__);
597
                }
598
            }
599
        } catch (InvalidArgumentException $e) {
600
            $message = $e->getMessage();
601
        }
602
        
603
        return $message;
604
    }
605
    /**
606
     * Set CalendarItem value
607
     * This property belongs to a choice that allows only one property to exist. It is
608
     * therefore removable from the request, consequently if the value assigned to this
609
     * property is null, the property is removed from this object
610
     * @throws InvalidArgumentException
611
     * @param \StructType\EwsCalendarItemType $calendarItem
612
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
613
     */
614
    public function setCalendarItem(?\StructType\EwsCalendarItemType $calendarItem = null): self
615
    {
616
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
617
        if ('' !== ($calendarItemChoiceErrorMessage = self::validateCalendarItemForChoiceConstraintsFromSetCalendarItem($calendarItem))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...tsFromSetCalendarItem() 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

617
        if ('' !== ($calendarItemChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateCalendarItemForChoiceConstraintsFromSetCalendarItem($calendarItem))) {
Loading history...
618
            throw new InvalidArgumentException($calendarItemChoiceErrorMessage, __LINE__);
619
        }
620
        if (is_null($calendarItem) || (is_array($calendarItem) && empty($calendarItem))) {
621
            unset($this->CalendarItem);
622
        } else {
623
            $this->CalendarItem = $calendarItem;
624
        }
625
        
626
        return $this;
627
    }
628
    /**
629
     * Get Contact value
630
     * @return \StructType\EwsContactItemType|null
631
     */
632
    public function getContact(): ?\StructType\EwsContactItemType
633
    {
634
        return isset($this->Contact) ? $this->Contact : null;
635
    }
636
    /**
637
     * This method is responsible for validating the value passed to the setContact method
638
     * This method is willingly generated in order to preserve the one-line inline validation within the setContact method
639
     * This has to validate that the property which is being set is the only one among the given choices
640
     * @param mixed $value
641
     * @return string A non-empty message if the values does not match the validation rules
642
     */
643
    public function validateContactForChoiceConstraintsFromSetContact($value): string
644
    {
645
        $message = '';
646
        if (is_null($value)) {
647
            return $message;
648
        }
649
        $properties = [
650
            'Item',
651
            'Message',
652
            'CalendarItem',
653
            'DistributionList',
654
            'MeetingMessage',
655
            'MeetingRequest',
656
            'MeetingResponse',
657
            'MeetingCancellation',
658
            'Task',
659
            'PostItem',
660
            'ReplyToItem',
661
            'ForwardItem',
662
            'ReplyAllToItem',
663
            'AcceptItem',
664
            'TentativelyAcceptItem',
665
            'DeclineItem',
666
            'CancelCalendarItem',
667
            'RemoveItem',
668
            'SuppressReadReceipt',
669
            'PostReplyItem',
670
            'AcceptSharingInvitation',
671
            'RoleMember',
672
            'Network',
673
            'Person',
674
            'Booking',
675
            'XrmOrganization',
676
        ];
677
        try {
678
            foreach ($properties as $property) {
679
                if (isset($this->{$property})) {
680
                    throw new InvalidArgumentException(sprintf('The property Contact can\'t be set as the property %s is already set. Only one property must be set among these properties: Contact, %s.', $property, implode(', ', $properties)), __LINE__);
681
                }
682
            }
683
        } catch (InvalidArgumentException $e) {
684
            $message = $e->getMessage();
685
        }
686
        
687
        return $message;
688
    }
689
    /**
690
     * Set Contact value
691
     * This property belongs to a choice that allows only one property to exist. It is
692
     * therefore removable from the request, consequently if the value assigned to this
693
     * property is null, the property is removed from this object
694
     * @throws InvalidArgumentException
695
     * @param \StructType\EwsContactItemType $contact
696
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
697
     */
698
    public function setContact(?\StructType\EwsContactItemType $contact = null): self
699
    {
700
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
701
        if ('' !== ($contactChoiceErrorMessage = self::validateContactForChoiceConstraintsFromSetContact($contact))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...traintsFromSetContact() 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

701
        if ('' !== ($contactChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateContactForChoiceConstraintsFromSetContact($contact))) {
Loading history...
702
            throw new InvalidArgumentException($contactChoiceErrorMessage, __LINE__);
703
        }
704
        if (is_null($contact) || (is_array($contact) && empty($contact))) {
705
            unset($this->Contact);
706
        } else {
707
            $this->Contact = $contact;
708
        }
709
        
710
        return $this;
711
    }
712
    /**
713
     * Get DistributionList value
714
     * @return \StructType\EwsDistributionListType|null
715
     */
716
    public function getDistributionList(): ?\StructType\EwsDistributionListType
717
    {
718
        return isset($this->DistributionList) ? $this->DistributionList : null;
719
    }
720
    /**
721
     * This method is responsible for validating the value passed to the setDistributionList method
722
     * This method is willingly generated in order to preserve the one-line inline validation within the setDistributionList method
723
     * This has to validate that the property which is being set is the only one among the given choices
724
     * @param mixed $value
725
     * @return string A non-empty message if the values does not match the validation rules
726
     */
727
    public function validateDistributionListForChoiceConstraintsFromSetDistributionList($value): string
728
    {
729
        $message = '';
730
        if (is_null($value)) {
731
            return $message;
732
        }
733
        $properties = [
734
            'Item',
735
            'Message',
736
            'CalendarItem',
737
            'Contact',
738
            'MeetingMessage',
739
            'MeetingRequest',
740
            'MeetingResponse',
741
            'MeetingCancellation',
742
            'Task',
743
            'PostItem',
744
            'ReplyToItem',
745
            'ForwardItem',
746
            'ReplyAllToItem',
747
            'AcceptItem',
748
            'TentativelyAcceptItem',
749
            'DeclineItem',
750
            'CancelCalendarItem',
751
            'RemoveItem',
752
            'SuppressReadReceipt',
753
            'PostReplyItem',
754
            'AcceptSharingInvitation',
755
            'RoleMember',
756
            'Network',
757
            'Person',
758
            'Booking',
759
            'XrmOrganization',
760
        ];
761
        try {
762
            foreach ($properties as $property) {
763
                if (isset($this->{$property})) {
764
                    throw new InvalidArgumentException(sprintf('The property DistributionList can\'t be set as the property %s is already set. Only one property must be set among these properties: DistributionList, %s.', $property, implode(', ', $properties)), __LINE__);
765
                }
766
            }
767
        } catch (InvalidArgumentException $e) {
768
            $message = $e->getMessage();
769
        }
770
        
771
        return $message;
772
    }
773
    /**
774
     * Set DistributionList value
775
     * This property belongs to a choice that allows only one property to exist. It is
776
     * therefore removable from the request, consequently if the value assigned to this
777
     * property is null, the property is removed from this object
778
     * @throws InvalidArgumentException
779
     * @param \StructType\EwsDistributionListType $distributionList
780
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
781
     */
782
    public function setDistributionList(?\StructType\EwsDistributionListType $distributionList = null): self
783
    {
784
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
785
        if ('' !== ($distributionListChoiceErrorMessage = self::validateDistributionListForChoiceConstraintsFromSetDistributionList($distributionList))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...omSetDistributionList() 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

785
        if ('' !== ($distributionListChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateDistributionListForChoiceConstraintsFromSetDistributionList($distributionList))) {
Loading history...
786
            throw new InvalidArgumentException($distributionListChoiceErrorMessage, __LINE__);
787
        }
788
        if (is_null($distributionList) || (is_array($distributionList) && empty($distributionList))) {
789
            unset($this->DistributionList);
790
        } else {
791
            $this->DistributionList = $distributionList;
792
        }
793
        
794
        return $this;
795
    }
796
    /**
797
     * Get MeetingMessage value
798
     * @return \StructType\EwsMeetingMessageType|null
799
     */
800
    public function getMeetingMessage(): ?\StructType\EwsMeetingMessageType
801
    {
802
        return isset($this->MeetingMessage) ? $this->MeetingMessage : null;
803
    }
804
    /**
805
     * This method is responsible for validating the value passed to the setMeetingMessage method
806
     * This method is willingly generated in order to preserve the one-line inline validation within the setMeetingMessage method
807
     * This has to validate that the property which is being set is the only one among the given choices
808
     * @param mixed $value
809
     * @return string A non-empty message if the values does not match the validation rules
810
     */
811
    public function validateMeetingMessageForChoiceConstraintsFromSetMeetingMessage($value): string
812
    {
813
        $message = '';
814
        if (is_null($value)) {
815
            return $message;
816
        }
817
        $properties = [
818
            'Item',
819
            'Message',
820
            'CalendarItem',
821
            'Contact',
822
            'DistributionList',
823
            'MeetingRequest',
824
            'MeetingResponse',
825
            'MeetingCancellation',
826
            'Task',
827
            'PostItem',
828
            'ReplyToItem',
829
            'ForwardItem',
830
            'ReplyAllToItem',
831
            'AcceptItem',
832
            'TentativelyAcceptItem',
833
            'DeclineItem',
834
            'CancelCalendarItem',
835
            'RemoveItem',
836
            'SuppressReadReceipt',
837
            'PostReplyItem',
838
            'AcceptSharingInvitation',
839
            'RoleMember',
840
            'Network',
841
            'Person',
842
            'Booking',
843
            'XrmOrganization',
844
        ];
845
        try {
846
            foreach ($properties as $property) {
847
                if (isset($this->{$property})) {
848
                    throw new InvalidArgumentException(sprintf('The property MeetingMessage can\'t be set as the property %s is already set. Only one property must be set among these properties: MeetingMessage, %s.', $property, implode(', ', $properties)), __LINE__);
849
                }
850
            }
851
        } catch (InvalidArgumentException $e) {
852
            $message = $e->getMessage();
853
        }
854
        
855
        return $message;
856
    }
857
    /**
858
     * Set MeetingMessage value
859
     * This property belongs to a choice that allows only one property to exist. It is
860
     * therefore removable from the request, consequently if the value assigned to this
861
     * property is null, the property is removed from this object
862
     * @throws InvalidArgumentException
863
     * @param \StructType\EwsMeetingMessageType $meetingMessage
864
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
865
     */
866
    public function setMeetingMessage(?\StructType\EwsMeetingMessageType $meetingMessage = null): self
867
    {
868
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
869
        if ('' !== ($meetingMessageChoiceErrorMessage = self::validateMeetingMessageForChoiceConstraintsFromSetMeetingMessage($meetingMessage))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...FromSetMeetingMessage() 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

869
        if ('' !== ($meetingMessageChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateMeetingMessageForChoiceConstraintsFromSetMeetingMessage($meetingMessage))) {
Loading history...
870
            throw new InvalidArgumentException($meetingMessageChoiceErrorMessage, __LINE__);
871
        }
872
        if (is_null($meetingMessage) || (is_array($meetingMessage) && empty($meetingMessage))) {
873
            unset($this->MeetingMessage);
874
        } else {
875
            $this->MeetingMessage = $meetingMessage;
876
        }
877
        
878
        return $this;
879
    }
880
    /**
881
     * Get MeetingRequest value
882
     * @return \StructType\EwsMeetingRequestMessageType|null
883
     */
884
    public function getMeetingRequest(): ?\StructType\EwsMeetingRequestMessageType
885
    {
886
        return isset($this->MeetingRequest) ? $this->MeetingRequest : null;
887
    }
888
    /**
889
     * This method is responsible for validating the value passed to the setMeetingRequest method
890
     * This method is willingly generated in order to preserve the one-line inline validation within the setMeetingRequest method
891
     * This has to validate that the property which is being set is the only one among the given choices
892
     * @param mixed $value
893
     * @return string A non-empty message if the values does not match the validation rules
894
     */
895
    public function validateMeetingRequestForChoiceConstraintsFromSetMeetingRequest($value): string
896
    {
897
        $message = '';
898
        if (is_null($value)) {
899
            return $message;
900
        }
901
        $properties = [
902
            'Item',
903
            'Message',
904
            'CalendarItem',
905
            'Contact',
906
            'DistributionList',
907
            'MeetingMessage',
908
            'MeetingResponse',
909
            'MeetingCancellation',
910
            'Task',
911
            'PostItem',
912
            'ReplyToItem',
913
            'ForwardItem',
914
            'ReplyAllToItem',
915
            'AcceptItem',
916
            'TentativelyAcceptItem',
917
            'DeclineItem',
918
            'CancelCalendarItem',
919
            'RemoveItem',
920
            'SuppressReadReceipt',
921
            'PostReplyItem',
922
            'AcceptSharingInvitation',
923
            'RoleMember',
924
            'Network',
925
            'Person',
926
            'Booking',
927
            'XrmOrganization',
928
        ];
929
        try {
930
            foreach ($properties as $property) {
931
                if (isset($this->{$property})) {
932
                    throw new InvalidArgumentException(sprintf('The property MeetingRequest can\'t be set as the property %s is already set. Only one property must be set among these properties: MeetingRequest, %s.', $property, implode(', ', $properties)), __LINE__);
933
                }
934
            }
935
        } catch (InvalidArgumentException $e) {
936
            $message = $e->getMessage();
937
        }
938
        
939
        return $message;
940
    }
941
    /**
942
     * Set MeetingRequest value
943
     * This property belongs to a choice that allows only one property to exist. It is
944
     * therefore removable from the request, consequently if the value assigned to this
945
     * property is null, the property is removed from this object
946
     * @throws InvalidArgumentException
947
     * @param \StructType\EwsMeetingRequestMessageType $meetingRequest
948
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
949
     */
950
    public function setMeetingRequest(?\StructType\EwsMeetingRequestMessageType $meetingRequest = null): self
951
    {
952
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
953
        if ('' !== ($meetingRequestChoiceErrorMessage = self::validateMeetingRequestForChoiceConstraintsFromSetMeetingRequest($meetingRequest))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...FromSetMeetingRequest() 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

953
        if ('' !== ($meetingRequestChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateMeetingRequestForChoiceConstraintsFromSetMeetingRequest($meetingRequest))) {
Loading history...
954
            throw new InvalidArgumentException($meetingRequestChoiceErrorMessage, __LINE__);
955
        }
956
        if (is_null($meetingRequest) || (is_array($meetingRequest) && empty($meetingRequest))) {
957
            unset($this->MeetingRequest);
958
        } else {
959
            $this->MeetingRequest = $meetingRequest;
960
        }
961
        
962
        return $this;
963
    }
964
    /**
965
     * Get MeetingResponse value
966
     * @return \StructType\EwsMeetingResponseMessageType|null
967
     */
968
    public function getMeetingResponse(): ?\StructType\EwsMeetingResponseMessageType
969
    {
970
        return isset($this->MeetingResponse) ? $this->MeetingResponse : null;
971
    }
972
    /**
973
     * This method is responsible for validating the value passed to the setMeetingResponse method
974
     * This method is willingly generated in order to preserve the one-line inline validation within the setMeetingResponse method
975
     * This has to validate that the property which is being set is the only one among the given choices
976
     * @param mixed $value
977
     * @return string A non-empty message if the values does not match the validation rules
978
     */
979
    public function validateMeetingResponseForChoiceConstraintsFromSetMeetingResponse($value): string
980
    {
981
        $message = '';
982
        if (is_null($value)) {
983
            return $message;
984
        }
985
        $properties = [
986
            'Item',
987
            'Message',
988
            'CalendarItem',
989
            'Contact',
990
            'DistributionList',
991
            'MeetingMessage',
992
            'MeetingRequest',
993
            'MeetingCancellation',
994
            'Task',
995
            'PostItem',
996
            'ReplyToItem',
997
            'ForwardItem',
998
            'ReplyAllToItem',
999
            'AcceptItem',
1000
            'TentativelyAcceptItem',
1001
            'DeclineItem',
1002
            'CancelCalendarItem',
1003
            'RemoveItem',
1004
            'SuppressReadReceipt',
1005
            'PostReplyItem',
1006
            'AcceptSharingInvitation',
1007
            'RoleMember',
1008
            'Network',
1009
            'Person',
1010
            'Booking',
1011
            'XrmOrganization',
1012
        ];
1013
        try {
1014
            foreach ($properties as $property) {
1015
                if (isset($this->{$property})) {
1016
                    throw new InvalidArgumentException(sprintf('The property MeetingResponse can\'t be set as the property %s is already set. Only one property must be set among these properties: MeetingResponse, %s.', $property, implode(', ', $properties)), __LINE__);
1017
                }
1018
            }
1019
        } catch (InvalidArgumentException $e) {
1020
            $message = $e->getMessage();
1021
        }
1022
        
1023
        return $message;
1024
    }
1025
    /**
1026
     * Set MeetingResponse value
1027
     * This property belongs to a choice that allows only one property to exist. It is
1028
     * therefore removable from the request, consequently if the value assigned to this
1029
     * property is null, the property is removed from this object
1030
     * @throws InvalidArgumentException
1031
     * @param \StructType\EwsMeetingResponseMessageType $meetingResponse
1032
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
1033
     */
1034
    public function setMeetingResponse(?\StructType\EwsMeetingResponseMessageType $meetingResponse = null): self
1035
    {
1036
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
1037
        if ('' !== ($meetingResponseChoiceErrorMessage = self::validateMeetingResponseForChoiceConstraintsFromSetMeetingResponse($meetingResponse))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...romSetMeetingResponse() 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

1037
        if ('' !== ($meetingResponseChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateMeetingResponseForChoiceConstraintsFromSetMeetingResponse($meetingResponse))) {
Loading history...
1038
            throw new InvalidArgumentException($meetingResponseChoiceErrorMessage, __LINE__);
1039
        }
1040
        if (is_null($meetingResponse) || (is_array($meetingResponse) && empty($meetingResponse))) {
1041
            unset($this->MeetingResponse);
1042
        } else {
1043
            $this->MeetingResponse = $meetingResponse;
1044
        }
1045
        
1046
        return $this;
1047
    }
1048
    /**
1049
     * Get MeetingCancellation value
1050
     * @return \StructType\EwsMeetingCancellationMessageType|null
1051
     */
1052
    public function getMeetingCancellation(): ?\StructType\EwsMeetingCancellationMessageType
1053
    {
1054
        return isset($this->MeetingCancellation) ? $this->MeetingCancellation : null;
1055
    }
1056
    /**
1057
     * This method is responsible for validating the value passed to the setMeetingCancellation method
1058
     * This method is willingly generated in order to preserve the one-line inline validation within the setMeetingCancellation method
1059
     * This has to validate that the property which is being set is the only one among the given choices
1060
     * @param mixed $value
1061
     * @return string A non-empty message if the values does not match the validation rules
1062
     */
1063
    public function validateMeetingCancellationForChoiceConstraintsFromSetMeetingCancellation($value): string
1064
    {
1065
        $message = '';
1066
        if (is_null($value)) {
1067
            return $message;
1068
        }
1069
        $properties = [
1070
            'Item',
1071
            'Message',
1072
            'CalendarItem',
1073
            'Contact',
1074
            'DistributionList',
1075
            'MeetingMessage',
1076
            'MeetingRequest',
1077
            'MeetingResponse',
1078
            'Task',
1079
            'PostItem',
1080
            'ReplyToItem',
1081
            'ForwardItem',
1082
            'ReplyAllToItem',
1083
            'AcceptItem',
1084
            'TentativelyAcceptItem',
1085
            'DeclineItem',
1086
            'CancelCalendarItem',
1087
            'RemoveItem',
1088
            'SuppressReadReceipt',
1089
            'PostReplyItem',
1090
            'AcceptSharingInvitation',
1091
            'RoleMember',
1092
            'Network',
1093
            'Person',
1094
            'Booking',
1095
            'XrmOrganization',
1096
        ];
1097
        try {
1098
            foreach ($properties as $property) {
1099
                if (isset($this->{$property})) {
1100
                    throw new InvalidArgumentException(sprintf('The property MeetingCancellation can\'t be set as the property %s is already set. Only one property must be set among these properties: MeetingCancellation, %s.', $property, implode(', ', $properties)), __LINE__);
1101
                }
1102
            }
1103
        } catch (InvalidArgumentException $e) {
1104
            $message = $e->getMessage();
1105
        }
1106
        
1107
        return $message;
1108
    }
1109
    /**
1110
     * Set MeetingCancellation value
1111
     * This property belongs to a choice that allows only one property to exist. It is
1112
     * therefore removable from the request, consequently if the value assigned to this
1113
     * property is null, the property is removed from this object
1114
     * @throws InvalidArgumentException
1115
     * @param \StructType\EwsMeetingCancellationMessageType $meetingCancellation
1116
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
1117
     */
1118
    public function setMeetingCancellation(?\StructType\EwsMeetingCancellationMessageType $meetingCancellation = null): self
1119
    {
1120
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
1121
        if ('' !== ($meetingCancellationChoiceErrorMessage = self::validateMeetingCancellationForChoiceConstraintsFromSetMeetingCancellation($meetingCancellation))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...etMeetingCancellation() 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

1121
        if ('' !== ($meetingCancellationChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateMeetingCancellationForChoiceConstraintsFromSetMeetingCancellation($meetingCancellation))) {
Loading history...
1122
            throw new InvalidArgumentException($meetingCancellationChoiceErrorMessage, __LINE__);
1123
        }
1124
        if (is_null($meetingCancellation) || (is_array($meetingCancellation) && empty($meetingCancellation))) {
1125
            unset($this->MeetingCancellation);
1126
        } else {
1127
            $this->MeetingCancellation = $meetingCancellation;
1128
        }
1129
        
1130
        return $this;
1131
    }
1132
    /**
1133
     * Get Task value
1134
     * @return \StructType\EwsTaskType|null
1135
     */
1136
    public function getTask(): ?\StructType\EwsTaskType
1137
    {
1138
        return isset($this->Task) ? $this->Task : null;
1139
    }
1140
    /**
1141
     * This method is responsible for validating the value passed to the setTask method
1142
     * This method is willingly generated in order to preserve the one-line inline validation within the setTask method
1143
     * This has to validate that the property which is being set is the only one among the given choices
1144
     * @param mixed $value
1145
     * @return string A non-empty message if the values does not match the validation rules
1146
     */
1147
    public function validateTaskForChoiceConstraintsFromSetTask($value): string
1148
    {
1149
        $message = '';
1150
        if (is_null($value)) {
1151
            return $message;
1152
        }
1153
        $properties = [
1154
            'Item',
1155
            'Message',
1156
            'CalendarItem',
1157
            'Contact',
1158
            'DistributionList',
1159
            'MeetingMessage',
1160
            'MeetingRequest',
1161
            'MeetingResponse',
1162
            'MeetingCancellation',
1163
            'PostItem',
1164
            'ReplyToItem',
1165
            'ForwardItem',
1166
            'ReplyAllToItem',
1167
            'AcceptItem',
1168
            'TentativelyAcceptItem',
1169
            'DeclineItem',
1170
            'CancelCalendarItem',
1171
            'RemoveItem',
1172
            'SuppressReadReceipt',
1173
            'PostReplyItem',
1174
            'AcceptSharingInvitation',
1175
            'RoleMember',
1176
            'Network',
1177
            'Person',
1178
            'Booking',
1179
            'XrmOrganization',
1180
        ];
1181
        try {
1182
            foreach ($properties as $property) {
1183
                if (isset($this->{$property})) {
1184
                    throw new InvalidArgumentException(sprintf('The property Task can\'t be set as the property %s is already set. Only one property must be set among these properties: Task, %s.', $property, implode(', ', $properties)), __LINE__);
1185
                }
1186
            }
1187
        } catch (InvalidArgumentException $e) {
1188
            $message = $e->getMessage();
1189
        }
1190
        
1191
        return $message;
1192
    }
1193
    /**
1194
     * Set Task value
1195
     * This property belongs to a choice that allows only one property to exist. It is
1196
     * therefore removable from the request, consequently if the value assigned to this
1197
     * property is null, the property is removed from this object
1198
     * @throws InvalidArgumentException
1199
     * @param \StructType\EwsTaskType $task
1200
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
1201
     */
1202
    public function setTask(?\StructType\EwsTaskType $task = null): self
1203
    {
1204
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
1205
        if ('' !== ($taskChoiceErrorMessage = self::validateTaskForChoiceConstraintsFromSetTask($task))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...onstraintsFromSetTask() 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

1205
        if ('' !== ($taskChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateTaskForChoiceConstraintsFromSetTask($task))) {
Loading history...
1206
            throw new InvalidArgumentException($taskChoiceErrorMessage, __LINE__);
1207
        }
1208
        if (is_null($task) || (is_array($task) && empty($task))) {
1209
            unset($this->Task);
1210
        } else {
1211
            $this->Task = $task;
1212
        }
1213
        
1214
        return $this;
1215
    }
1216
    /**
1217
     * Get PostItem value
1218
     * @return \StructType\EwsPostItemType|null
1219
     */
1220
    public function getPostItem(): ?\StructType\EwsPostItemType
1221
    {
1222
        return isset($this->PostItem) ? $this->PostItem : null;
1223
    }
1224
    /**
1225
     * This method is responsible for validating the value passed to the setPostItem method
1226
     * This method is willingly generated in order to preserve the one-line inline validation within the setPostItem method
1227
     * This has to validate that the property which is being set is the only one among the given choices
1228
     * @param mixed $value
1229
     * @return string A non-empty message if the values does not match the validation rules
1230
     */
1231
    public function validatePostItemForChoiceConstraintsFromSetPostItem($value): string
1232
    {
1233
        $message = '';
1234
        if (is_null($value)) {
1235
            return $message;
1236
        }
1237
        $properties = [
1238
            'Item',
1239
            'Message',
1240
            'CalendarItem',
1241
            'Contact',
1242
            'DistributionList',
1243
            'MeetingMessage',
1244
            'MeetingRequest',
1245
            'MeetingResponse',
1246
            'MeetingCancellation',
1247
            'Task',
1248
            'ReplyToItem',
1249
            'ForwardItem',
1250
            'ReplyAllToItem',
1251
            'AcceptItem',
1252
            'TentativelyAcceptItem',
1253
            'DeclineItem',
1254
            'CancelCalendarItem',
1255
            'RemoveItem',
1256
            'SuppressReadReceipt',
1257
            'PostReplyItem',
1258
            'AcceptSharingInvitation',
1259
            'RoleMember',
1260
            'Network',
1261
            'Person',
1262
            'Booking',
1263
            'XrmOrganization',
1264
        ];
1265
        try {
1266
            foreach ($properties as $property) {
1267
                if (isset($this->{$property})) {
1268
                    throw new InvalidArgumentException(sprintf('The property PostItem can\'t be set as the property %s is already set. Only one property must be set among these properties: PostItem, %s.', $property, implode(', ', $properties)), __LINE__);
1269
                }
1270
            }
1271
        } catch (InvalidArgumentException $e) {
1272
            $message = $e->getMessage();
1273
        }
1274
        
1275
        return $message;
1276
    }
1277
    /**
1278
     * Set PostItem value
1279
     * This property belongs to a choice that allows only one property to exist. It is
1280
     * therefore removable from the request, consequently if the value assigned to this
1281
     * property is null, the property is removed from this object
1282
     * @throws InvalidArgumentException
1283
     * @param \StructType\EwsPostItemType $postItem
1284
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
1285
     */
1286
    public function setPostItem(?\StructType\EwsPostItemType $postItem = null): self
1287
    {
1288
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
1289
        if ('' !== ($postItemChoiceErrorMessage = self::validatePostItemForChoiceConstraintsFromSetPostItem($postItem))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...raintsFromSetPostItem() 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

1289
        if ('' !== ($postItemChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validatePostItemForChoiceConstraintsFromSetPostItem($postItem))) {
Loading history...
1290
            throw new InvalidArgumentException($postItemChoiceErrorMessage, __LINE__);
1291
        }
1292
        if (is_null($postItem) || (is_array($postItem) && empty($postItem))) {
1293
            unset($this->PostItem);
1294
        } else {
1295
            $this->PostItem = $postItem;
1296
        }
1297
        
1298
        return $this;
1299
    }
1300
    /**
1301
     * Get ReplyToItem value
1302
     * @return \StructType\EwsReplyToItemType|null
1303
     */
1304
    public function getReplyToItem(): ?\StructType\EwsReplyToItemType
1305
    {
1306
        return isset($this->ReplyToItem) ? $this->ReplyToItem : null;
1307
    }
1308
    /**
1309
     * This method is responsible for validating the value passed to the setReplyToItem method
1310
     * This method is willingly generated in order to preserve the one-line inline validation within the setReplyToItem method
1311
     * This has to validate that the property which is being set is the only one among the given choices
1312
     * @param mixed $value
1313
     * @return string A non-empty message if the values does not match the validation rules
1314
     */
1315
    public function validateReplyToItemForChoiceConstraintsFromSetReplyToItem($value): string
1316
    {
1317
        $message = '';
1318
        if (is_null($value)) {
1319
            return $message;
1320
        }
1321
        $properties = [
1322
            'Item',
1323
            'Message',
1324
            'CalendarItem',
1325
            'Contact',
1326
            'DistributionList',
1327
            'MeetingMessage',
1328
            'MeetingRequest',
1329
            'MeetingResponse',
1330
            'MeetingCancellation',
1331
            'Task',
1332
            'PostItem',
1333
            'ForwardItem',
1334
            'ReplyAllToItem',
1335
            'AcceptItem',
1336
            'TentativelyAcceptItem',
1337
            'DeclineItem',
1338
            'CancelCalendarItem',
1339
            'RemoveItem',
1340
            'SuppressReadReceipt',
1341
            'PostReplyItem',
1342
            'AcceptSharingInvitation',
1343
            'RoleMember',
1344
            'Network',
1345
            'Person',
1346
            'Booking',
1347
            'XrmOrganization',
1348
        ];
1349
        try {
1350
            foreach ($properties as $property) {
1351
                if (isset($this->{$property})) {
1352
                    throw new InvalidArgumentException(sprintf('The property ReplyToItem can\'t be set as the property %s is already set. Only one property must be set among these properties: ReplyToItem, %s.', $property, implode(', ', $properties)), __LINE__);
1353
                }
1354
            }
1355
        } catch (InvalidArgumentException $e) {
1356
            $message = $e->getMessage();
1357
        }
1358
        
1359
        return $message;
1360
    }
1361
    /**
1362
     * Set ReplyToItem value
1363
     * This property belongs to a choice that allows only one property to exist. It is
1364
     * therefore removable from the request, consequently if the value assigned to this
1365
     * property is null, the property is removed from this object
1366
     * @throws InvalidArgumentException
1367
     * @param \StructType\EwsReplyToItemType $replyToItem
1368
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
1369
     */
1370
    public function setReplyToItem(?\StructType\EwsReplyToItemType $replyToItem = null): self
1371
    {
1372
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
1373
        if ('' !== ($replyToItemChoiceErrorMessage = self::validateReplyToItemForChoiceConstraintsFromSetReplyToItem($replyToItem))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...ntsFromSetReplyToItem() 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

1373
        if ('' !== ($replyToItemChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateReplyToItemForChoiceConstraintsFromSetReplyToItem($replyToItem))) {
Loading history...
1374
            throw new InvalidArgumentException($replyToItemChoiceErrorMessage, __LINE__);
1375
        }
1376
        if (is_null($replyToItem) || (is_array($replyToItem) && empty($replyToItem))) {
1377
            unset($this->ReplyToItem);
1378
        } else {
1379
            $this->ReplyToItem = $replyToItem;
1380
        }
1381
        
1382
        return $this;
1383
    }
1384
    /**
1385
     * Get ForwardItem value
1386
     * @return \StructType\EwsForwardItemType|null
1387
     */
1388
    public function getForwardItem(): ?\StructType\EwsForwardItemType
1389
    {
1390
        return isset($this->ForwardItem) ? $this->ForwardItem : null;
1391
    }
1392
    /**
1393
     * This method is responsible for validating the value passed to the setForwardItem method
1394
     * This method is willingly generated in order to preserve the one-line inline validation within the setForwardItem method
1395
     * This has to validate that the property which is being set is the only one among the given choices
1396
     * @param mixed $value
1397
     * @return string A non-empty message if the values does not match the validation rules
1398
     */
1399
    public function validateForwardItemForChoiceConstraintsFromSetForwardItem($value): string
1400
    {
1401
        $message = '';
1402
        if (is_null($value)) {
1403
            return $message;
1404
        }
1405
        $properties = [
1406
            'Item',
1407
            'Message',
1408
            'CalendarItem',
1409
            'Contact',
1410
            'DistributionList',
1411
            'MeetingMessage',
1412
            'MeetingRequest',
1413
            'MeetingResponse',
1414
            'MeetingCancellation',
1415
            'Task',
1416
            'PostItem',
1417
            'ReplyToItem',
1418
            'ReplyAllToItem',
1419
            'AcceptItem',
1420
            'TentativelyAcceptItem',
1421
            'DeclineItem',
1422
            'CancelCalendarItem',
1423
            'RemoveItem',
1424
            'SuppressReadReceipt',
1425
            'PostReplyItem',
1426
            'AcceptSharingInvitation',
1427
            'RoleMember',
1428
            'Network',
1429
            'Person',
1430
            'Booking',
1431
            'XrmOrganization',
1432
        ];
1433
        try {
1434
            foreach ($properties as $property) {
1435
                if (isset($this->{$property})) {
1436
                    throw new InvalidArgumentException(sprintf('The property ForwardItem can\'t be set as the property %s is already set. Only one property must be set among these properties: ForwardItem, %s.', $property, implode(', ', $properties)), __LINE__);
1437
                }
1438
            }
1439
        } catch (InvalidArgumentException $e) {
1440
            $message = $e->getMessage();
1441
        }
1442
        
1443
        return $message;
1444
    }
1445
    /**
1446
     * Set ForwardItem value
1447
     * This property belongs to a choice that allows only one property to exist. It is
1448
     * therefore removable from the request, consequently if the value assigned to this
1449
     * property is null, the property is removed from this object
1450
     * @throws InvalidArgumentException
1451
     * @param \StructType\EwsForwardItemType $forwardItem
1452
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
1453
     */
1454
    public function setForwardItem(?\StructType\EwsForwardItemType $forwardItem = null): self
1455
    {
1456
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
1457
        if ('' !== ($forwardItemChoiceErrorMessage = self::validateForwardItemForChoiceConstraintsFromSetForwardItem($forwardItem))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...ntsFromSetForwardItem() 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

1457
        if ('' !== ($forwardItemChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateForwardItemForChoiceConstraintsFromSetForwardItem($forwardItem))) {
Loading history...
1458
            throw new InvalidArgumentException($forwardItemChoiceErrorMessage, __LINE__);
1459
        }
1460
        if (is_null($forwardItem) || (is_array($forwardItem) && empty($forwardItem))) {
1461
            unset($this->ForwardItem);
1462
        } else {
1463
            $this->ForwardItem = $forwardItem;
1464
        }
1465
        
1466
        return $this;
1467
    }
1468
    /**
1469
     * Get ReplyAllToItem value
1470
     * @return \StructType\EwsReplyAllToItemType|null
1471
     */
1472
    public function getReplyAllToItem(): ?\StructType\EwsReplyAllToItemType
1473
    {
1474
        return isset($this->ReplyAllToItem) ? $this->ReplyAllToItem : null;
1475
    }
1476
    /**
1477
     * This method is responsible for validating the value passed to the setReplyAllToItem method
1478
     * This method is willingly generated in order to preserve the one-line inline validation within the setReplyAllToItem method
1479
     * This has to validate that the property which is being set is the only one among the given choices
1480
     * @param mixed $value
1481
     * @return string A non-empty message if the values does not match the validation rules
1482
     */
1483
    public function validateReplyAllToItemForChoiceConstraintsFromSetReplyAllToItem($value): string
1484
    {
1485
        $message = '';
1486
        if (is_null($value)) {
1487
            return $message;
1488
        }
1489
        $properties = [
1490
            'Item',
1491
            'Message',
1492
            'CalendarItem',
1493
            'Contact',
1494
            'DistributionList',
1495
            'MeetingMessage',
1496
            'MeetingRequest',
1497
            'MeetingResponse',
1498
            'MeetingCancellation',
1499
            'Task',
1500
            'PostItem',
1501
            'ReplyToItem',
1502
            'ForwardItem',
1503
            'AcceptItem',
1504
            'TentativelyAcceptItem',
1505
            'DeclineItem',
1506
            'CancelCalendarItem',
1507
            'RemoveItem',
1508
            'SuppressReadReceipt',
1509
            'PostReplyItem',
1510
            'AcceptSharingInvitation',
1511
            'RoleMember',
1512
            'Network',
1513
            'Person',
1514
            'Booking',
1515
            'XrmOrganization',
1516
        ];
1517
        try {
1518
            foreach ($properties as $property) {
1519
                if (isset($this->{$property})) {
1520
                    throw new InvalidArgumentException(sprintf('The property ReplyAllToItem can\'t be set as the property %s is already set. Only one property must be set among these properties: ReplyAllToItem, %s.', $property, implode(', ', $properties)), __LINE__);
1521
                }
1522
            }
1523
        } catch (InvalidArgumentException $e) {
1524
            $message = $e->getMessage();
1525
        }
1526
        
1527
        return $message;
1528
    }
1529
    /**
1530
     * Set ReplyAllToItem value
1531
     * This property belongs to a choice that allows only one property to exist. It is
1532
     * therefore removable from the request, consequently if the value assigned to this
1533
     * property is null, the property is removed from this object
1534
     * @throws InvalidArgumentException
1535
     * @param \StructType\EwsReplyAllToItemType $replyAllToItem
1536
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
1537
     */
1538
    public function setReplyAllToItem(?\StructType\EwsReplyAllToItemType $replyAllToItem = null): self
1539
    {
1540
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
1541
        if ('' !== ($replyAllToItemChoiceErrorMessage = self::validateReplyAllToItemForChoiceConstraintsFromSetReplyAllToItem($replyAllToItem))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...FromSetReplyAllToItem() 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

1541
        if ('' !== ($replyAllToItemChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateReplyAllToItemForChoiceConstraintsFromSetReplyAllToItem($replyAllToItem))) {
Loading history...
1542
            throw new InvalidArgumentException($replyAllToItemChoiceErrorMessage, __LINE__);
1543
        }
1544
        if (is_null($replyAllToItem) || (is_array($replyAllToItem) && empty($replyAllToItem))) {
1545
            unset($this->ReplyAllToItem);
1546
        } else {
1547
            $this->ReplyAllToItem = $replyAllToItem;
1548
        }
1549
        
1550
        return $this;
1551
    }
1552
    /**
1553
     * Get AcceptItem value
1554
     * @return \StructType\EwsAcceptItemType|null
1555
     */
1556
    public function getAcceptItem(): ?\StructType\EwsAcceptItemType
1557
    {
1558
        return isset($this->AcceptItem) ? $this->AcceptItem : null;
1559
    }
1560
    /**
1561
     * This method is responsible for validating the value passed to the setAcceptItem method
1562
     * This method is willingly generated in order to preserve the one-line inline validation within the setAcceptItem method
1563
     * This has to validate that the property which is being set is the only one among the given choices
1564
     * @param mixed $value
1565
     * @return string A non-empty message if the values does not match the validation rules
1566
     */
1567
    public function validateAcceptItemForChoiceConstraintsFromSetAcceptItem($value): string
1568
    {
1569
        $message = '';
1570
        if (is_null($value)) {
1571
            return $message;
1572
        }
1573
        $properties = [
1574
            'Item',
1575
            'Message',
1576
            'CalendarItem',
1577
            'Contact',
1578
            'DistributionList',
1579
            'MeetingMessage',
1580
            'MeetingRequest',
1581
            'MeetingResponse',
1582
            'MeetingCancellation',
1583
            'Task',
1584
            'PostItem',
1585
            'ReplyToItem',
1586
            'ForwardItem',
1587
            'ReplyAllToItem',
1588
            'TentativelyAcceptItem',
1589
            'DeclineItem',
1590
            'CancelCalendarItem',
1591
            'RemoveItem',
1592
            'SuppressReadReceipt',
1593
            'PostReplyItem',
1594
            'AcceptSharingInvitation',
1595
            'RoleMember',
1596
            'Network',
1597
            'Person',
1598
            'Booking',
1599
            'XrmOrganization',
1600
        ];
1601
        try {
1602
            foreach ($properties as $property) {
1603
                if (isset($this->{$property})) {
1604
                    throw new InvalidArgumentException(sprintf('The property AcceptItem can\'t be set as the property %s is already set. Only one property must be set among these properties: AcceptItem, %s.', $property, implode(', ', $properties)), __LINE__);
1605
                }
1606
            }
1607
        } catch (InvalidArgumentException $e) {
1608
            $message = $e->getMessage();
1609
        }
1610
        
1611
        return $message;
1612
    }
1613
    /**
1614
     * Set AcceptItem value
1615
     * This property belongs to a choice that allows only one property to exist. It is
1616
     * therefore removable from the request, consequently if the value assigned to this
1617
     * property is null, the property is removed from this object
1618
     * @throws InvalidArgumentException
1619
     * @param \StructType\EwsAcceptItemType $acceptItem
1620
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
1621
     */
1622
    public function setAcceptItem(?\StructType\EwsAcceptItemType $acceptItem = null): self
1623
    {
1624
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
1625
        if ('' !== ($acceptItemChoiceErrorMessage = self::validateAcceptItemForChoiceConstraintsFromSetAcceptItem($acceptItem))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...intsFromSetAcceptItem() 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

1625
        if ('' !== ($acceptItemChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateAcceptItemForChoiceConstraintsFromSetAcceptItem($acceptItem))) {
Loading history...
1626
            throw new InvalidArgumentException($acceptItemChoiceErrorMessage, __LINE__);
1627
        }
1628
        if (is_null($acceptItem) || (is_array($acceptItem) && empty($acceptItem))) {
1629
            unset($this->AcceptItem);
1630
        } else {
1631
            $this->AcceptItem = $acceptItem;
1632
        }
1633
        
1634
        return $this;
1635
    }
1636
    /**
1637
     * Get TentativelyAcceptItem value
1638
     * @return \StructType\EwsTentativelyAcceptItemType|null
1639
     */
1640
    public function getTentativelyAcceptItem(): ?\StructType\EwsTentativelyAcceptItemType
1641
    {
1642
        return isset($this->TentativelyAcceptItem) ? $this->TentativelyAcceptItem : null;
1643
    }
1644
    /**
1645
     * This method is responsible for validating the value passed to the setTentativelyAcceptItem method
1646
     * This method is willingly generated in order to preserve the one-line inline validation within the setTentativelyAcceptItem method
1647
     * This has to validate that the property which is being set is the only one among the given choices
1648
     * @param mixed $value
1649
     * @return string A non-empty message if the values does not match the validation rules
1650
     */
1651
    public function validateTentativelyAcceptItemForChoiceConstraintsFromSetTentativelyAcceptItem($value): string
1652
    {
1653
        $message = '';
1654
        if (is_null($value)) {
1655
            return $message;
1656
        }
1657
        $properties = [
1658
            'Item',
1659
            'Message',
1660
            'CalendarItem',
1661
            'Contact',
1662
            'DistributionList',
1663
            'MeetingMessage',
1664
            'MeetingRequest',
1665
            'MeetingResponse',
1666
            'MeetingCancellation',
1667
            'Task',
1668
            'PostItem',
1669
            'ReplyToItem',
1670
            'ForwardItem',
1671
            'ReplyAllToItem',
1672
            'AcceptItem',
1673
            'DeclineItem',
1674
            'CancelCalendarItem',
1675
            'RemoveItem',
1676
            'SuppressReadReceipt',
1677
            'PostReplyItem',
1678
            'AcceptSharingInvitation',
1679
            'RoleMember',
1680
            'Network',
1681
            'Person',
1682
            'Booking',
1683
            'XrmOrganization',
1684
        ];
1685
        try {
1686
            foreach ($properties as $property) {
1687
                if (isset($this->{$property})) {
1688
                    throw new InvalidArgumentException(sprintf('The property TentativelyAcceptItem can\'t be set as the property %s is already set. Only one property must be set among these properties: TentativelyAcceptItem, %s.', $property, implode(', ', $properties)), __LINE__);
1689
                }
1690
            }
1691
        } catch (InvalidArgumentException $e) {
1692
            $message = $e->getMessage();
1693
        }
1694
        
1695
        return $message;
1696
    }
1697
    /**
1698
     * Set TentativelyAcceptItem value
1699
     * This property belongs to a choice that allows only one property to exist. It is
1700
     * therefore removable from the request, consequently if the value assigned to this
1701
     * property is null, the property is removed from this object
1702
     * @throws InvalidArgumentException
1703
     * @param \StructType\EwsTentativelyAcceptItemType $tentativelyAcceptItem
1704
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
1705
     */
1706
    public function setTentativelyAcceptItem(?\StructType\EwsTentativelyAcceptItemType $tentativelyAcceptItem = null): self
1707
    {
1708
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
1709
        if ('' !== ($tentativelyAcceptItemChoiceErrorMessage = self::validateTentativelyAcceptItemForChoiceConstraintsFromSetTentativelyAcceptItem($tentativelyAcceptItem))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...TentativelyAcceptItem() 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

1709
        if ('' !== ($tentativelyAcceptItemChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateTentativelyAcceptItemForChoiceConstraintsFromSetTentativelyAcceptItem($tentativelyAcceptItem))) {
Loading history...
1710
            throw new InvalidArgumentException($tentativelyAcceptItemChoiceErrorMessage, __LINE__);
1711
        }
1712
        if (is_null($tentativelyAcceptItem) || (is_array($tentativelyAcceptItem) && empty($tentativelyAcceptItem))) {
1713
            unset($this->TentativelyAcceptItem);
1714
        } else {
1715
            $this->TentativelyAcceptItem = $tentativelyAcceptItem;
1716
        }
1717
        
1718
        return $this;
1719
    }
1720
    /**
1721
     * Get DeclineItem value
1722
     * @return \StructType\EwsDeclineItemType|null
1723
     */
1724
    public function getDeclineItem(): ?\StructType\EwsDeclineItemType
1725
    {
1726
        return isset($this->DeclineItem) ? $this->DeclineItem : null;
1727
    }
1728
    /**
1729
     * This method is responsible for validating the value passed to the setDeclineItem method
1730
     * This method is willingly generated in order to preserve the one-line inline validation within the setDeclineItem method
1731
     * This has to validate that the property which is being set is the only one among the given choices
1732
     * @param mixed $value
1733
     * @return string A non-empty message if the values does not match the validation rules
1734
     */
1735
    public function validateDeclineItemForChoiceConstraintsFromSetDeclineItem($value): string
1736
    {
1737
        $message = '';
1738
        if (is_null($value)) {
1739
            return $message;
1740
        }
1741
        $properties = [
1742
            'Item',
1743
            'Message',
1744
            'CalendarItem',
1745
            'Contact',
1746
            'DistributionList',
1747
            'MeetingMessage',
1748
            'MeetingRequest',
1749
            'MeetingResponse',
1750
            'MeetingCancellation',
1751
            'Task',
1752
            'PostItem',
1753
            'ReplyToItem',
1754
            'ForwardItem',
1755
            'ReplyAllToItem',
1756
            'AcceptItem',
1757
            'TentativelyAcceptItem',
1758
            'CancelCalendarItem',
1759
            'RemoveItem',
1760
            'SuppressReadReceipt',
1761
            'PostReplyItem',
1762
            'AcceptSharingInvitation',
1763
            'RoleMember',
1764
            'Network',
1765
            'Person',
1766
            'Booking',
1767
            'XrmOrganization',
1768
        ];
1769
        try {
1770
            foreach ($properties as $property) {
1771
                if (isset($this->{$property})) {
1772
                    throw new InvalidArgumentException(sprintf('The property DeclineItem can\'t be set as the property %s is already set. Only one property must be set among these properties: DeclineItem, %s.', $property, implode(', ', $properties)), __LINE__);
1773
                }
1774
            }
1775
        } catch (InvalidArgumentException $e) {
1776
            $message = $e->getMessage();
1777
        }
1778
        
1779
        return $message;
1780
    }
1781
    /**
1782
     * Set DeclineItem value
1783
     * This property belongs to a choice that allows only one property to exist. It is
1784
     * therefore removable from the request, consequently if the value assigned to this
1785
     * property is null, the property is removed from this object
1786
     * @throws InvalidArgumentException
1787
     * @param \StructType\EwsDeclineItemType $declineItem
1788
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
1789
     */
1790
    public function setDeclineItem(?\StructType\EwsDeclineItemType $declineItem = null): self
1791
    {
1792
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
1793
        if ('' !== ($declineItemChoiceErrorMessage = self::validateDeclineItemForChoiceConstraintsFromSetDeclineItem($declineItem))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...ntsFromSetDeclineItem() 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

1793
        if ('' !== ($declineItemChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateDeclineItemForChoiceConstraintsFromSetDeclineItem($declineItem))) {
Loading history...
1794
            throw new InvalidArgumentException($declineItemChoiceErrorMessage, __LINE__);
1795
        }
1796
        if (is_null($declineItem) || (is_array($declineItem) && empty($declineItem))) {
1797
            unset($this->DeclineItem);
1798
        } else {
1799
            $this->DeclineItem = $declineItem;
1800
        }
1801
        
1802
        return $this;
1803
    }
1804
    /**
1805
     * Get CancelCalendarItem value
1806
     * @return \StructType\EwsCancelCalendarItemType|null
1807
     */
1808
    public function getCancelCalendarItem(): ?\StructType\EwsCancelCalendarItemType
1809
    {
1810
        return isset($this->CancelCalendarItem) ? $this->CancelCalendarItem : null;
1811
    }
1812
    /**
1813
     * This method is responsible for validating the value passed to the setCancelCalendarItem method
1814
     * This method is willingly generated in order to preserve the one-line inline validation within the setCancelCalendarItem method
1815
     * This has to validate that the property which is being set is the only one among the given choices
1816
     * @param mixed $value
1817
     * @return string A non-empty message if the values does not match the validation rules
1818
     */
1819
    public function validateCancelCalendarItemForChoiceConstraintsFromSetCancelCalendarItem($value): string
1820
    {
1821
        $message = '';
1822
        if (is_null($value)) {
1823
            return $message;
1824
        }
1825
        $properties = [
1826
            'Item',
1827
            'Message',
1828
            'CalendarItem',
1829
            'Contact',
1830
            'DistributionList',
1831
            'MeetingMessage',
1832
            'MeetingRequest',
1833
            'MeetingResponse',
1834
            'MeetingCancellation',
1835
            'Task',
1836
            'PostItem',
1837
            'ReplyToItem',
1838
            'ForwardItem',
1839
            'ReplyAllToItem',
1840
            'AcceptItem',
1841
            'TentativelyAcceptItem',
1842
            'DeclineItem',
1843
            'RemoveItem',
1844
            'SuppressReadReceipt',
1845
            'PostReplyItem',
1846
            'AcceptSharingInvitation',
1847
            'RoleMember',
1848
            'Network',
1849
            'Person',
1850
            'Booking',
1851
            'XrmOrganization',
1852
        ];
1853
        try {
1854
            foreach ($properties as $property) {
1855
                if (isset($this->{$property})) {
1856
                    throw new InvalidArgumentException(sprintf('The property CancelCalendarItem can\'t be set as the property %s is already set. Only one property must be set among these properties: CancelCalendarItem, %s.', $property, implode(', ', $properties)), __LINE__);
1857
                }
1858
            }
1859
        } catch (InvalidArgumentException $e) {
1860
            $message = $e->getMessage();
1861
        }
1862
        
1863
        return $message;
1864
    }
1865
    /**
1866
     * Set CancelCalendarItem value
1867
     * This property belongs to a choice that allows only one property to exist. It is
1868
     * therefore removable from the request, consequently if the value assigned to this
1869
     * property is null, the property is removed from this object
1870
     * @throws InvalidArgumentException
1871
     * @param \StructType\EwsCancelCalendarItemType $cancelCalendarItem
1872
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
1873
     */
1874
    public function setCancelCalendarItem(?\StructType\EwsCancelCalendarItemType $cancelCalendarItem = null): self
1875
    {
1876
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
1877
        if ('' !== ($cancelCalendarItemChoiceErrorMessage = self::validateCancelCalendarItemForChoiceConstraintsFromSetCancelCalendarItem($cancelCalendarItem))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...SetCancelCalendarItem() 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

1877
        if ('' !== ($cancelCalendarItemChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateCancelCalendarItemForChoiceConstraintsFromSetCancelCalendarItem($cancelCalendarItem))) {
Loading history...
1878
            throw new InvalidArgumentException($cancelCalendarItemChoiceErrorMessage, __LINE__);
1879
        }
1880
        if (is_null($cancelCalendarItem) || (is_array($cancelCalendarItem) && empty($cancelCalendarItem))) {
1881
            unset($this->CancelCalendarItem);
1882
        } else {
1883
            $this->CancelCalendarItem = $cancelCalendarItem;
1884
        }
1885
        
1886
        return $this;
1887
    }
1888
    /**
1889
     * Get RemoveItem value
1890
     * @return \StructType\EwsRemoveItemType|null
1891
     */
1892
    public function getRemoveItem(): ?\StructType\EwsRemoveItemType
1893
    {
1894
        return isset($this->RemoveItem) ? $this->RemoveItem : null;
1895
    }
1896
    /**
1897
     * This method is responsible for validating the value passed to the setRemoveItem method
1898
     * This method is willingly generated in order to preserve the one-line inline validation within the setRemoveItem method
1899
     * This has to validate that the property which is being set is the only one among the given choices
1900
     * @param mixed $value
1901
     * @return string A non-empty message if the values does not match the validation rules
1902
     */
1903
    public function validateRemoveItemForChoiceConstraintsFromSetRemoveItem($value): string
1904
    {
1905
        $message = '';
1906
        if (is_null($value)) {
1907
            return $message;
1908
        }
1909
        $properties = [
1910
            'Item',
1911
            'Message',
1912
            'CalendarItem',
1913
            'Contact',
1914
            'DistributionList',
1915
            'MeetingMessage',
1916
            'MeetingRequest',
1917
            'MeetingResponse',
1918
            'MeetingCancellation',
1919
            'Task',
1920
            'PostItem',
1921
            'ReplyToItem',
1922
            'ForwardItem',
1923
            'ReplyAllToItem',
1924
            'AcceptItem',
1925
            'TentativelyAcceptItem',
1926
            'DeclineItem',
1927
            'CancelCalendarItem',
1928
            'SuppressReadReceipt',
1929
            'PostReplyItem',
1930
            'AcceptSharingInvitation',
1931
            'RoleMember',
1932
            'Network',
1933
            'Person',
1934
            'Booking',
1935
            'XrmOrganization',
1936
        ];
1937
        try {
1938
            foreach ($properties as $property) {
1939
                if (isset($this->{$property})) {
1940
                    throw new InvalidArgumentException(sprintf('The property RemoveItem can\'t be set as the property %s is already set. Only one property must be set among these properties: RemoveItem, %s.', $property, implode(', ', $properties)), __LINE__);
1941
                }
1942
            }
1943
        } catch (InvalidArgumentException $e) {
1944
            $message = $e->getMessage();
1945
        }
1946
        
1947
        return $message;
1948
    }
1949
    /**
1950
     * Set RemoveItem value
1951
     * This property belongs to a choice that allows only one property to exist. It is
1952
     * therefore removable from the request, consequently if the value assigned to this
1953
     * property is null, the property is removed from this object
1954
     * @throws InvalidArgumentException
1955
     * @param \StructType\EwsRemoveItemType $removeItem
1956
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
1957
     */
1958
    public function setRemoveItem(?\StructType\EwsRemoveItemType $removeItem = null): self
1959
    {
1960
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
1961
        if ('' !== ($removeItemChoiceErrorMessage = self::validateRemoveItemForChoiceConstraintsFromSetRemoveItem($removeItem))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...intsFromSetRemoveItem() 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

1961
        if ('' !== ($removeItemChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateRemoveItemForChoiceConstraintsFromSetRemoveItem($removeItem))) {
Loading history...
1962
            throw new InvalidArgumentException($removeItemChoiceErrorMessage, __LINE__);
1963
        }
1964
        if (is_null($removeItem) || (is_array($removeItem) && empty($removeItem))) {
1965
            unset($this->RemoveItem);
1966
        } else {
1967
            $this->RemoveItem = $removeItem;
1968
        }
1969
        
1970
        return $this;
1971
    }
1972
    /**
1973
     * Get SuppressReadReceipt value
1974
     * @return \StructType\EwsSuppressReadReceiptType|null
1975
     */
1976
    public function getSuppressReadReceipt(): ?\StructType\EwsSuppressReadReceiptType
1977
    {
1978
        return isset($this->SuppressReadReceipt) ? $this->SuppressReadReceipt : null;
1979
    }
1980
    /**
1981
     * This method is responsible for validating the value passed to the setSuppressReadReceipt method
1982
     * This method is willingly generated in order to preserve the one-line inline validation within the setSuppressReadReceipt method
1983
     * This has to validate that the property which is being set is the only one among the given choices
1984
     * @param mixed $value
1985
     * @return string A non-empty message if the values does not match the validation rules
1986
     */
1987
    public function validateSuppressReadReceiptForChoiceConstraintsFromSetSuppressReadReceipt($value): string
1988
    {
1989
        $message = '';
1990
        if (is_null($value)) {
1991
            return $message;
1992
        }
1993
        $properties = [
1994
            'Item',
1995
            'Message',
1996
            'CalendarItem',
1997
            'Contact',
1998
            'DistributionList',
1999
            'MeetingMessage',
2000
            'MeetingRequest',
2001
            'MeetingResponse',
2002
            'MeetingCancellation',
2003
            'Task',
2004
            'PostItem',
2005
            'ReplyToItem',
2006
            'ForwardItem',
2007
            'ReplyAllToItem',
2008
            'AcceptItem',
2009
            'TentativelyAcceptItem',
2010
            'DeclineItem',
2011
            'CancelCalendarItem',
2012
            'RemoveItem',
2013
            'PostReplyItem',
2014
            'AcceptSharingInvitation',
2015
            'RoleMember',
2016
            'Network',
2017
            'Person',
2018
            'Booking',
2019
            'XrmOrganization',
2020
        ];
2021
        try {
2022
            foreach ($properties as $property) {
2023
                if (isset($this->{$property})) {
2024
                    throw new InvalidArgumentException(sprintf('The property SuppressReadReceipt can\'t be set as the property %s is already set. Only one property must be set among these properties: SuppressReadReceipt, %s.', $property, implode(', ', $properties)), __LINE__);
2025
                }
2026
            }
2027
        } catch (InvalidArgumentException $e) {
2028
            $message = $e->getMessage();
2029
        }
2030
        
2031
        return $message;
2032
    }
2033
    /**
2034
     * Set SuppressReadReceipt value
2035
     * This property belongs to a choice that allows only one property to exist. It is
2036
     * therefore removable from the request, consequently if the value assigned to this
2037
     * property is null, the property is removed from this object
2038
     * @throws InvalidArgumentException
2039
     * @param \StructType\EwsSuppressReadReceiptType $suppressReadReceipt
2040
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
2041
     */
2042
    public function setSuppressReadReceipt(?\StructType\EwsSuppressReadReceiptType $suppressReadReceipt = null): self
2043
    {
2044
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
2045
        if ('' !== ($suppressReadReceiptChoiceErrorMessage = self::validateSuppressReadReceiptForChoiceConstraintsFromSetSuppressReadReceipt($suppressReadReceipt))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...etSuppressReadReceipt() 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

2045
        if ('' !== ($suppressReadReceiptChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateSuppressReadReceiptForChoiceConstraintsFromSetSuppressReadReceipt($suppressReadReceipt))) {
Loading history...
2046
            throw new InvalidArgumentException($suppressReadReceiptChoiceErrorMessage, __LINE__);
2047
        }
2048
        if (is_null($suppressReadReceipt) || (is_array($suppressReadReceipt) && empty($suppressReadReceipt))) {
2049
            unset($this->SuppressReadReceipt);
2050
        } else {
2051
            $this->SuppressReadReceipt = $suppressReadReceipt;
2052
        }
2053
        
2054
        return $this;
2055
    }
2056
    /**
2057
     * Get PostReplyItem value
2058
     * @return \StructType\EwsPostReplyItemType|null
2059
     */
2060
    public function getPostReplyItem(): ?\StructType\EwsPostReplyItemType
2061
    {
2062
        return isset($this->PostReplyItem) ? $this->PostReplyItem : null;
2063
    }
2064
    /**
2065
     * This method is responsible for validating the value passed to the setPostReplyItem method
2066
     * This method is willingly generated in order to preserve the one-line inline validation within the setPostReplyItem method
2067
     * This has to validate that the property which is being set is the only one among the given choices
2068
     * @param mixed $value
2069
     * @return string A non-empty message if the values does not match the validation rules
2070
     */
2071
    public function validatePostReplyItemForChoiceConstraintsFromSetPostReplyItem($value): string
2072
    {
2073
        $message = '';
2074
        if (is_null($value)) {
2075
            return $message;
2076
        }
2077
        $properties = [
2078
            'Item',
2079
            'Message',
2080
            'CalendarItem',
2081
            'Contact',
2082
            'DistributionList',
2083
            'MeetingMessage',
2084
            'MeetingRequest',
2085
            'MeetingResponse',
2086
            'MeetingCancellation',
2087
            'Task',
2088
            'PostItem',
2089
            'ReplyToItem',
2090
            'ForwardItem',
2091
            'ReplyAllToItem',
2092
            'AcceptItem',
2093
            'TentativelyAcceptItem',
2094
            'DeclineItem',
2095
            'CancelCalendarItem',
2096
            'RemoveItem',
2097
            'SuppressReadReceipt',
2098
            'AcceptSharingInvitation',
2099
            'RoleMember',
2100
            'Network',
2101
            'Person',
2102
            'Booking',
2103
            'XrmOrganization',
2104
        ];
2105
        try {
2106
            foreach ($properties as $property) {
2107
                if (isset($this->{$property})) {
2108
                    throw new InvalidArgumentException(sprintf('The property PostReplyItem can\'t be set as the property %s is already set. Only one property must be set among these properties: PostReplyItem, %s.', $property, implode(', ', $properties)), __LINE__);
2109
                }
2110
            }
2111
        } catch (InvalidArgumentException $e) {
2112
            $message = $e->getMessage();
2113
        }
2114
        
2115
        return $message;
2116
    }
2117
    /**
2118
     * Set PostReplyItem value
2119
     * This property belongs to a choice that allows only one property to exist. It is
2120
     * therefore removable from the request, consequently if the value assigned to this
2121
     * property is null, the property is removed from this object
2122
     * @throws InvalidArgumentException
2123
     * @param \StructType\EwsPostReplyItemType $postReplyItem
2124
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
2125
     */
2126
    public function setPostReplyItem(?\StructType\EwsPostReplyItemType $postReplyItem = null): self
2127
    {
2128
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
2129
        if ('' !== ($postReplyItemChoiceErrorMessage = self::validatePostReplyItemForChoiceConstraintsFromSetPostReplyItem($postReplyItem))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...sFromSetPostReplyItem() 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

2129
        if ('' !== ($postReplyItemChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validatePostReplyItemForChoiceConstraintsFromSetPostReplyItem($postReplyItem))) {
Loading history...
2130
            throw new InvalidArgumentException($postReplyItemChoiceErrorMessage, __LINE__);
2131
        }
2132
        if (is_null($postReplyItem) || (is_array($postReplyItem) && empty($postReplyItem))) {
2133
            unset($this->PostReplyItem);
2134
        } else {
2135
            $this->PostReplyItem = $postReplyItem;
2136
        }
2137
        
2138
        return $this;
2139
    }
2140
    /**
2141
     * Get AcceptSharingInvitation value
2142
     * @return \StructType\EwsAcceptSharingInvitationType|null
2143
     */
2144
    public function getAcceptSharingInvitation(): ?\StructType\EwsAcceptSharingInvitationType
2145
    {
2146
        return isset($this->AcceptSharingInvitation) ? $this->AcceptSharingInvitation : null;
2147
    }
2148
    /**
2149
     * This method is responsible for validating the value passed to the setAcceptSharingInvitation method
2150
     * This method is willingly generated in order to preserve the one-line inline validation within the setAcceptSharingInvitation method
2151
     * This has to validate that the property which is being set is the only one among the given choices
2152
     * @param mixed $value
2153
     * @return string A non-empty message if the values does not match the validation rules
2154
     */
2155
    public function validateAcceptSharingInvitationForChoiceConstraintsFromSetAcceptSharingInvitation($value): string
2156
    {
2157
        $message = '';
2158
        if (is_null($value)) {
2159
            return $message;
2160
        }
2161
        $properties = [
2162
            'Item',
2163
            'Message',
2164
            'CalendarItem',
2165
            'Contact',
2166
            'DistributionList',
2167
            'MeetingMessage',
2168
            'MeetingRequest',
2169
            'MeetingResponse',
2170
            'MeetingCancellation',
2171
            'Task',
2172
            'PostItem',
2173
            'ReplyToItem',
2174
            'ForwardItem',
2175
            'ReplyAllToItem',
2176
            'AcceptItem',
2177
            'TentativelyAcceptItem',
2178
            'DeclineItem',
2179
            'CancelCalendarItem',
2180
            'RemoveItem',
2181
            'SuppressReadReceipt',
2182
            'PostReplyItem',
2183
            'RoleMember',
2184
            'Network',
2185
            'Person',
2186
            'Booking',
2187
            'XrmOrganization',
2188
        ];
2189
        try {
2190
            foreach ($properties as $property) {
2191
                if (isset($this->{$property})) {
2192
                    throw new InvalidArgumentException(sprintf('The property AcceptSharingInvitation can\'t be set as the property %s is already set. Only one property must be set among these properties: AcceptSharingInvitation, %s.', $property, implode(', ', $properties)), __LINE__);
2193
                }
2194
            }
2195
        } catch (InvalidArgumentException $e) {
2196
            $message = $e->getMessage();
2197
        }
2198
        
2199
        return $message;
2200
    }
2201
    /**
2202
     * Set AcceptSharingInvitation value
2203
     * This property belongs to a choice that allows only one property to exist. It is
2204
     * therefore removable from the request, consequently if the value assigned to this
2205
     * property is null, the property is removed from this object
2206
     * @throws InvalidArgumentException
2207
     * @param \StructType\EwsAcceptSharingInvitationType $acceptSharingInvitation
2208
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
2209
     */
2210
    public function setAcceptSharingInvitation(?\StructType\EwsAcceptSharingInvitationType $acceptSharingInvitation = null): self
2211
    {
2212
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
2213
        if ('' !== ($acceptSharingInvitationChoiceErrorMessage = self::validateAcceptSharingInvitationForChoiceConstraintsFromSetAcceptSharingInvitation($acceptSharingInvitation))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...ceptSharingInvitation() 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

2213
        if ('' !== ($acceptSharingInvitationChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateAcceptSharingInvitationForChoiceConstraintsFromSetAcceptSharingInvitation($acceptSharingInvitation))) {
Loading history...
2214
            throw new InvalidArgumentException($acceptSharingInvitationChoiceErrorMessage, __LINE__);
2215
        }
2216
        if (is_null($acceptSharingInvitation) || (is_array($acceptSharingInvitation) && empty($acceptSharingInvitation))) {
2217
            unset($this->AcceptSharingInvitation);
2218
        } else {
2219
            $this->AcceptSharingInvitation = $acceptSharingInvitation;
2220
        }
2221
        
2222
        return $this;
2223
    }
2224
    /**
2225
     * Get RoleMember value
2226
     * @return \StructType\EwsRoleMemberItemType|null
2227
     */
2228
    public function getRoleMember(): ?\StructType\EwsRoleMemberItemType
2229
    {
2230
        return isset($this->RoleMember) ? $this->RoleMember : null;
2231
    }
2232
    /**
2233
     * This method is responsible for validating the value passed to the setRoleMember method
2234
     * This method is willingly generated in order to preserve the one-line inline validation within the setRoleMember method
2235
     * This has to validate that the property which is being set is the only one among the given choices
2236
     * @param mixed $value
2237
     * @return string A non-empty message if the values does not match the validation rules
2238
     */
2239
    public function validateRoleMemberForChoiceConstraintsFromSetRoleMember($value): string
2240
    {
2241
        $message = '';
2242
        if (is_null($value)) {
2243
            return $message;
2244
        }
2245
        $properties = [
2246
            'Item',
2247
            'Message',
2248
            'CalendarItem',
2249
            'Contact',
2250
            'DistributionList',
2251
            'MeetingMessage',
2252
            'MeetingRequest',
2253
            'MeetingResponse',
2254
            'MeetingCancellation',
2255
            'Task',
2256
            'PostItem',
2257
            'ReplyToItem',
2258
            'ForwardItem',
2259
            'ReplyAllToItem',
2260
            'AcceptItem',
2261
            'TentativelyAcceptItem',
2262
            'DeclineItem',
2263
            'CancelCalendarItem',
2264
            'RemoveItem',
2265
            'SuppressReadReceipt',
2266
            'PostReplyItem',
2267
            'AcceptSharingInvitation',
2268
            'Network',
2269
            'Person',
2270
            'Booking',
2271
            'XrmOrganization',
2272
        ];
2273
        try {
2274
            foreach ($properties as $property) {
2275
                if (isset($this->{$property})) {
2276
                    throw new InvalidArgumentException(sprintf('The property RoleMember can\'t be set as the property %s is already set. Only one property must be set among these properties: RoleMember, %s.', $property, implode(', ', $properties)), __LINE__);
2277
                }
2278
            }
2279
        } catch (InvalidArgumentException $e) {
2280
            $message = $e->getMessage();
2281
        }
2282
        
2283
        return $message;
2284
    }
2285
    /**
2286
     * Set RoleMember value
2287
     * This property belongs to a choice that allows only one property to exist. It is
2288
     * therefore removable from the request, consequently if the value assigned to this
2289
     * property is null, the property is removed from this object
2290
     * @throws InvalidArgumentException
2291
     * @param \StructType\EwsRoleMemberItemType $roleMember
2292
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
2293
     */
2294
    public function setRoleMember(?\StructType\EwsRoleMemberItemType $roleMember = null): self
2295
    {
2296
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
2297
        if ('' !== ($roleMemberChoiceErrorMessage = self::validateRoleMemberForChoiceConstraintsFromSetRoleMember($roleMember))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...intsFromSetRoleMember() 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

2297
        if ('' !== ($roleMemberChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateRoleMemberForChoiceConstraintsFromSetRoleMember($roleMember))) {
Loading history...
2298
            throw new InvalidArgumentException($roleMemberChoiceErrorMessage, __LINE__);
2299
        }
2300
        if (is_null($roleMember) || (is_array($roleMember) && empty($roleMember))) {
2301
            unset($this->RoleMember);
2302
        } else {
2303
            $this->RoleMember = $roleMember;
2304
        }
2305
        
2306
        return $this;
2307
    }
2308
    /**
2309
     * Get Network value
2310
     * @return \StructType\EwsNetworkItemType|null
2311
     */
2312
    public function getNetwork(): ?\StructType\EwsNetworkItemType
2313
    {
2314
        return isset($this->Network) ? $this->Network : null;
2315
    }
2316
    /**
2317
     * This method is responsible for validating the value passed to the setNetwork method
2318
     * This method is willingly generated in order to preserve the one-line inline validation within the setNetwork method
2319
     * This has to validate that the property which is being set is the only one among the given choices
2320
     * @param mixed $value
2321
     * @return string A non-empty message if the values does not match the validation rules
2322
     */
2323
    public function validateNetworkForChoiceConstraintsFromSetNetwork($value): string
2324
    {
2325
        $message = '';
2326
        if (is_null($value)) {
2327
            return $message;
2328
        }
2329
        $properties = [
2330
            'Item',
2331
            'Message',
2332
            'CalendarItem',
2333
            'Contact',
2334
            'DistributionList',
2335
            'MeetingMessage',
2336
            'MeetingRequest',
2337
            'MeetingResponse',
2338
            'MeetingCancellation',
2339
            'Task',
2340
            'PostItem',
2341
            'ReplyToItem',
2342
            'ForwardItem',
2343
            'ReplyAllToItem',
2344
            'AcceptItem',
2345
            'TentativelyAcceptItem',
2346
            'DeclineItem',
2347
            'CancelCalendarItem',
2348
            'RemoveItem',
2349
            'SuppressReadReceipt',
2350
            'PostReplyItem',
2351
            'AcceptSharingInvitation',
2352
            'RoleMember',
2353
            'Person',
2354
            'Booking',
2355
            'XrmOrganization',
2356
        ];
2357
        try {
2358
            foreach ($properties as $property) {
2359
                if (isset($this->{$property})) {
2360
                    throw new InvalidArgumentException(sprintf('The property Network can\'t be set as the property %s is already set. Only one property must be set among these properties: Network, %s.', $property, implode(', ', $properties)), __LINE__);
2361
                }
2362
            }
2363
        } catch (InvalidArgumentException $e) {
2364
            $message = $e->getMessage();
2365
        }
2366
        
2367
        return $message;
2368
    }
2369
    /**
2370
     * Set Network value
2371
     * This property belongs to a choice that allows only one property to exist. It is
2372
     * therefore removable from the request, consequently if the value assigned to this
2373
     * property is null, the property is removed from this object
2374
     * @throws InvalidArgumentException
2375
     * @param \StructType\EwsNetworkItemType $network
2376
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
2377
     */
2378
    public function setNetwork(?\StructType\EwsNetworkItemType $network = null): self
2379
    {
2380
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
2381
        if ('' !== ($networkChoiceErrorMessage = self::validateNetworkForChoiceConstraintsFromSetNetwork($network))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...traintsFromSetNetwork() 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

2381
        if ('' !== ($networkChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateNetworkForChoiceConstraintsFromSetNetwork($network))) {
Loading history...
2382
            throw new InvalidArgumentException($networkChoiceErrorMessage, __LINE__);
2383
        }
2384
        if (is_null($network) || (is_array($network) && empty($network))) {
2385
            unset($this->Network);
2386
        } else {
2387
            $this->Network = $network;
2388
        }
2389
        
2390
        return $this;
2391
    }
2392
    /**
2393
     * Get Person value
2394
     * @return \StructType\EwsAbchPersonItemType|null
2395
     */
2396
    public function getPerson(): ?\StructType\EwsAbchPersonItemType
2397
    {
2398
        return isset($this->Person) ? $this->Person : null;
2399
    }
2400
    /**
2401
     * This method is responsible for validating the value passed to the setPerson method
2402
     * This method is willingly generated in order to preserve the one-line inline validation within the setPerson method
2403
     * This has to validate that the property which is being set is the only one among the given choices
2404
     * @param mixed $value
2405
     * @return string A non-empty message if the values does not match the validation rules
2406
     */
2407
    public function validatePersonForChoiceConstraintsFromSetPerson($value): string
2408
    {
2409
        $message = '';
2410
        if (is_null($value)) {
2411
            return $message;
2412
        }
2413
        $properties = [
2414
            'Item',
2415
            'Message',
2416
            'CalendarItem',
2417
            'Contact',
2418
            'DistributionList',
2419
            'MeetingMessage',
2420
            'MeetingRequest',
2421
            'MeetingResponse',
2422
            'MeetingCancellation',
2423
            'Task',
2424
            'PostItem',
2425
            'ReplyToItem',
2426
            'ForwardItem',
2427
            'ReplyAllToItem',
2428
            'AcceptItem',
2429
            'TentativelyAcceptItem',
2430
            'DeclineItem',
2431
            'CancelCalendarItem',
2432
            'RemoveItem',
2433
            'SuppressReadReceipt',
2434
            'PostReplyItem',
2435
            'AcceptSharingInvitation',
2436
            'RoleMember',
2437
            'Network',
2438
            'Booking',
2439
            'XrmOrganization',
2440
        ];
2441
        try {
2442
            foreach ($properties as $property) {
2443
                if (isset($this->{$property})) {
2444
                    throw new InvalidArgumentException(sprintf('The property Person can\'t be set as the property %s is already set. Only one property must be set among these properties: Person, %s.', $property, implode(', ', $properties)), __LINE__);
2445
                }
2446
            }
2447
        } catch (InvalidArgumentException $e) {
2448
            $message = $e->getMessage();
2449
        }
2450
        
2451
        return $message;
2452
    }
2453
    /**
2454
     * Set Person value
2455
     * This property belongs to a choice that allows only one property to exist. It is
2456
     * therefore removable from the request, consequently if the value assigned to this
2457
     * property is null, the property is removed from this object
2458
     * @throws InvalidArgumentException
2459
     * @param \StructType\EwsAbchPersonItemType $person
2460
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
2461
     */
2462
    public function setPerson(?\StructType\EwsAbchPersonItemType $person = null): self
2463
    {
2464
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
2465
        if ('' !== ($personChoiceErrorMessage = self::validatePersonForChoiceConstraintsFromSetPerson($person))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...straintsFromSetPerson() 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

2465
        if ('' !== ($personChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validatePersonForChoiceConstraintsFromSetPerson($person))) {
Loading history...
2466
            throw new InvalidArgumentException($personChoiceErrorMessage, __LINE__);
2467
        }
2468
        if (is_null($person) || (is_array($person) && empty($person))) {
2469
            unset($this->Person);
2470
        } else {
2471
            $this->Person = $person;
2472
        }
2473
        
2474
        return $this;
2475
    }
2476
    /**
2477
     * Get Booking value
2478
     * @return \StructType\EwsBookingItemType|null
2479
     */
2480
    public function getBooking(): ?\StructType\EwsBookingItemType
2481
    {
2482
        return isset($this->Booking) ? $this->Booking : null;
2483
    }
2484
    /**
2485
     * This method is responsible for validating the value passed to the setBooking method
2486
     * This method is willingly generated in order to preserve the one-line inline validation within the setBooking method
2487
     * This has to validate that the property which is being set is the only one among the given choices
2488
     * @param mixed $value
2489
     * @return string A non-empty message if the values does not match the validation rules
2490
     */
2491
    public function validateBookingForChoiceConstraintsFromSetBooking($value): string
2492
    {
2493
        $message = '';
2494
        if (is_null($value)) {
2495
            return $message;
2496
        }
2497
        $properties = [
2498
            'Item',
2499
            'Message',
2500
            'CalendarItem',
2501
            'Contact',
2502
            'DistributionList',
2503
            'MeetingMessage',
2504
            'MeetingRequest',
2505
            'MeetingResponse',
2506
            'MeetingCancellation',
2507
            'Task',
2508
            'PostItem',
2509
            'ReplyToItem',
2510
            'ForwardItem',
2511
            'ReplyAllToItem',
2512
            'AcceptItem',
2513
            'TentativelyAcceptItem',
2514
            'DeclineItem',
2515
            'CancelCalendarItem',
2516
            'RemoveItem',
2517
            'SuppressReadReceipt',
2518
            'PostReplyItem',
2519
            'AcceptSharingInvitation',
2520
            'RoleMember',
2521
            'Network',
2522
            'Person',
2523
            'XrmOrganization',
2524
        ];
2525
        try {
2526
            foreach ($properties as $property) {
2527
                if (isset($this->{$property})) {
2528
                    throw new InvalidArgumentException(sprintf('The property Booking can\'t be set as the property %s is already set. Only one property must be set among these properties: Booking, %s.', $property, implode(', ', $properties)), __LINE__);
2529
                }
2530
            }
2531
        } catch (InvalidArgumentException $e) {
2532
            $message = $e->getMessage();
2533
        }
2534
        
2535
        return $message;
2536
    }
2537
    /**
2538
     * Set Booking value
2539
     * This property belongs to a choice that allows only one property to exist. It is
2540
     * therefore removable from the request, consequently if the value assigned to this
2541
     * property is null, the property is removed from this object
2542
     * @throws InvalidArgumentException
2543
     * @param \StructType\EwsBookingItemType $booking
2544
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
2545
     */
2546
    public function setBooking(?\StructType\EwsBookingItemType $booking = null): self
2547
    {
2548
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
2549
        if ('' !== ($bookingChoiceErrorMessage = self::validateBookingForChoiceConstraintsFromSetBooking($booking))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...traintsFromSetBooking() 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

2549
        if ('' !== ($bookingChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateBookingForChoiceConstraintsFromSetBooking($booking))) {
Loading history...
2550
            throw new InvalidArgumentException($bookingChoiceErrorMessage, __LINE__);
2551
        }
2552
        if (is_null($booking) || (is_array($booking) && empty($booking))) {
2553
            unset($this->Booking);
2554
        } else {
2555
            $this->Booking = $booking;
2556
        }
2557
        
2558
        return $this;
2559
    }
2560
    /**
2561
     * Get XrmOrganization value
2562
     * @return \StructType\EwsXrmOrganizationItemType|null
2563
     */
2564
    public function getXrmOrganization(): ?\StructType\EwsXrmOrganizationItemType
2565
    {
2566
        return isset($this->XrmOrganization) ? $this->XrmOrganization : null;
2567
    }
2568
    /**
2569
     * This method is responsible for validating the value passed to the setXrmOrganization method
2570
     * This method is willingly generated in order to preserve the one-line inline validation within the setXrmOrganization method
2571
     * This has to validate that the property which is being set is the only one among the given choices
2572
     * @param mixed $value
2573
     * @return string A non-empty message if the values does not match the validation rules
2574
     */
2575
    public function validateXrmOrganizationForChoiceConstraintsFromSetXrmOrganization($value): string
2576
    {
2577
        $message = '';
2578
        if (is_null($value)) {
2579
            return $message;
2580
        }
2581
        $properties = [
2582
            'Item',
2583
            'Message',
2584
            'CalendarItem',
2585
            'Contact',
2586
            'DistributionList',
2587
            'MeetingMessage',
2588
            'MeetingRequest',
2589
            'MeetingResponse',
2590
            'MeetingCancellation',
2591
            'Task',
2592
            'PostItem',
2593
            'ReplyToItem',
2594
            'ForwardItem',
2595
            'ReplyAllToItem',
2596
            'AcceptItem',
2597
            'TentativelyAcceptItem',
2598
            'DeclineItem',
2599
            'CancelCalendarItem',
2600
            'RemoveItem',
2601
            'SuppressReadReceipt',
2602
            'PostReplyItem',
2603
            'AcceptSharingInvitation',
2604
            'RoleMember',
2605
            'Network',
2606
            'Person',
2607
            'Booking',
2608
        ];
2609
        try {
2610
            foreach ($properties as $property) {
2611
                if (isset($this->{$property})) {
2612
                    throw new InvalidArgumentException(sprintf('The property XrmOrganization can\'t be set as the property %s is already set. Only one property must be set among these properties: XrmOrganization, %s.', $property, implode(', ', $properties)), __LINE__);
2613
                }
2614
            }
2615
        } catch (InvalidArgumentException $e) {
2616
            $message = $e->getMessage();
2617
        }
2618
        
2619
        return $message;
2620
    }
2621
    /**
2622
     * Set XrmOrganization value
2623
     * This property belongs to a choice that allows only one property to exist. It is
2624
     * therefore removable from the request, consequently if the value assigned to this
2625
     * property is null, the property is removed from this object
2626
     * @throws InvalidArgumentException
2627
     * @param \StructType\EwsXrmOrganizationItemType $xrmOrganization
2628
     * @return \StructType\EwsNonEmptyArrayOfAllItemsType
2629
     */
2630
    public function setXrmOrganization(?\StructType\EwsXrmOrganizationItemType $xrmOrganization = null): self
2631
    {
2632
        // validation for constraint: choice(Item, Message, CalendarItem, Contact, DistributionList, MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation, Task, PostItem, ReplyToItem, ForwardItem, ReplyAllToItem, AcceptItem, TentativelyAcceptItem, DeclineItem, CancelCalendarItem, RemoveItem, SuppressReadReceipt, PostReplyItem, AcceptSharingInvitation, RoleMember, Network, Person, Booking, XrmOrganization)
2633
        if ('' !== ($xrmOrganizationChoiceErrorMessage = self::validateXrmOrganizationForChoiceConstraintsFromSetXrmOrganization($xrmOrganization))) {
0 ignored issues
show
Bug Best Practice introduced by
The method StructType\EwsNonEmptyAr...romSetXrmOrganization() 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

2633
        if ('' !== ($xrmOrganizationChoiceErrorMessage = self::/** @scrutinizer ignore-call */ validateXrmOrganizationForChoiceConstraintsFromSetXrmOrganization($xrmOrganization))) {
Loading history...
2634
            throw new InvalidArgumentException($xrmOrganizationChoiceErrorMessage, __LINE__);
2635
        }
2636
        if (is_null($xrmOrganization) || (is_array($xrmOrganization) && empty($xrmOrganization))) {
2637
            unset($this->XrmOrganization);
2638
        } else {
2639
            $this->XrmOrganization = $xrmOrganization;
2640
        }
2641
        
2642
        return $this;
2643
    }
2644
}
2645