commercetools-sdk-php-v2
The commercetools platform, import-api and PHP sdks generated from our api reference.
All Classes Namespaces Functions Variables Pages
MessageModel.php
1<?php
2
3declare(strict_types=1);
10
23use DateTimeImmutable;
24use stdClass;
25
29final class MessageModel extends JsonObjectModel implements Message
30{
31 public const DISCRIMINATOR_VALUE = '';
36 protected $id;
37
42 protected $version;
43
48 protected $createdAt;
49
54 protected $lastModifiedAt;
55
60 protected $lastModifiedBy;
61
66 protected $createdBy;
67
72 protected $sequenceNumber;
73
78 protected $resource;
79
85
90 protected $type;
91
97
102 private static $discriminatorClasses = [
103 'ApprovalFlowApproved' => ApprovalFlowApprovedMessageModel::class,
104 'ApprovalFlowCompleted' => ApprovalFlowCompletedMessageModel::class,
105 'ApprovalFlowCreated' => ApprovalFlowCreatedMessageModel::class,
106 'ApprovalFlowRejected' => ApprovalFlowRejectedMessageModel::class,
107 'ApprovalRuleApproversSet' => ApprovalRuleApproversSetMessageModel::class,
108 'ApprovalRuleCreated' => ApprovalRuleCreatedMessageModel::class,
109 'ApprovalRuleDescriptionSet' => ApprovalRuleDescriptionSetMessageModel::class,
110 'ApprovalRuleKeySet' => ApprovalRuleKeySetMessageModel::class,
111 'ApprovalRuleNameSet' => ApprovalRuleNameSetMessageModel::class,
112 'ApprovalRulePredicateSet' => ApprovalRulePredicateSetMessageModel::class,
113 'ApprovalRuleRequestersSet' => ApprovalRuleRequestersSetMessageModel::class,
114 'ApprovalRuleStatusSet' => ApprovalRuleStatusSetMessageModel::class,
115 'AssociateRoleBuyerAssignableChanged' => AssociateRoleBuyerAssignableChangedMessageModel::class,
116 'AssociateRoleCreated' => AssociateRoleCreatedMessageModel::class,
117 'AssociateRoleDeleted' => AssociateRoleDeletedMessageModel::class,
118 'AssociateRoleNameSet' => AssociateRoleNameSetMessageModel::class,
119 'AssociateRolePermissionAdded' => AssociateRolePermissionAddedMessageModel::class,
120 'AssociateRolePermissionRemoved' => AssociateRolePermissionRemovedMessageModel::class,
121 'AssociateRolePermissionsSet' => AssociateRolePermissionsSetMessageModel::class,
122 'BusinessUnitAddressAdded' => BusinessUnitAddressAddedMessageModel::class,
123 'BusinessUnitAddressChanged' => BusinessUnitAddressChangedMessageModel::class,
124 'BusinessUnitAddressCustomFieldAdded' => BusinessUnitAddressCustomFieldAddedMessageModel::class,
125 'BusinessUnitAddressCustomFieldChanged' => BusinessUnitAddressCustomFieldChangedMessageModel::class,
126 'BusinessUnitAddressCustomFieldRemoved' => BusinessUnitAddressCustomFieldRemovedMessageModel::class,
127 'BusinessUnitAddressCustomTypeRemoved' => BusinessUnitAddressCustomTypeRemovedMessageModel::class,
128 'BusinessUnitAddressCustomTypeSet' => BusinessUnitAddressCustomTypeSetMessageModel::class,
129 'BusinessUnitAddressRemoved' => BusinessUnitAddressRemovedMessageModel::class,
130 'BusinessUnitApprovalRuleModeChanged' => BusinessUnitApprovalRuleModeChangedMessageModel::class,
131 'BusinessUnitAssociateAdded' => BusinessUnitAssociateAddedMessageModel::class,
132 'BusinessUnitAssociateChanged' => BusinessUnitAssociateChangedMessageModel::class,
133 'BusinessUnitAssociateModeChanged' => BusinessUnitAssociateModeChangedMessageModel::class,
134 'BusinessUnitAssociateRemoved' => BusinessUnitAssociateRemovedMessageModel::class,
135 'BusinessUnitAssociatesSet' => BusinessUnitAssociatesSetMessageModel::class,
136 'BusinessUnitBillingAddressAdded' => BusinessUnitBillingAddressAddedMessageModel::class,
137 'BusinessUnitBillingAddressRemoved' => BusinessUnitBillingAddressRemovedMessageModel::class,
138 'BusinessUnitContactEmailSet' => BusinessUnitContactEmailSetMessageModel::class,
139 'BusinessUnitCreated' => BusinessUnitCreatedMessageModel::class,
140 'BusinessUnitCustomFieldAdded' => BusinessUnitCustomFieldAddedMessageModel::class,
141 'BusinessUnitCustomFieldChanged' => BusinessUnitCustomFieldChangedMessageModel::class,
142 'BusinessUnitCustomFieldRemoved' => BusinessUnitCustomFieldRemovedMessageModel::class,
143 'BusinessUnitCustomTypeRemoved' => BusinessUnitCustomTypeRemovedMessageModel::class,
144 'BusinessUnitCustomTypeSet' => BusinessUnitCustomTypeSetMessageModel::class,
145 'BusinessUnitDefaultBillingAddressSet' => BusinessUnitDefaultBillingAddressSetMessageModel::class,
146 'BusinessUnitDefaultShippingAddressSet' => BusinessUnitDefaultShippingAddressSetMessageModel::class,
147 'BusinessUnitDeleted' => BusinessUnitDeletedMessageModel::class,
148 'BusinessUnitNameChanged' => BusinessUnitNameChangedMessageModel::class,
149 'BusinessUnitParentChanged' => BusinessUnitParentChangedMessageModel::class,
150 'BusinessUnitShippingAddressAdded' => BusinessUnitShippingAddressAddedMessageModel::class,
151 'BusinessUnitShippingAddressRemoved' => BusinessUnitShippingAddressRemovedMessageModel::class,
152 'BusinessUnitStatusChanged' => BusinessUnitStatusChangedMessageModel::class,
153 'BusinessUnitStoreAdded' => BusinessUnitStoreAddedMessageModel::class,
154 'BusinessUnitStoreModeChanged' => BusinessUnitStoreModeChangedMessageModel::class,
155 'BusinessUnitStoreRemoved' => BusinessUnitStoreRemovedMessageModel::class,
156 'BusinessUnitStoresSet' => BusinessUnitStoresSetMessageModel::class,
157 'BusinessUnitTopLevelUnitSet' => BusinessUnitTopLevelUnitSetMessageModel::class,
158 'BusinessUnitTypeSet' => BusinessUnitTypeSetMessageModel::class,
159 'CartDiscountCreated' => CartDiscountCreatedMessageModel::class,
160 'CartDiscountDeleted' => CartDiscountDeletedMessageModel::class,
161 'CartDiscountStoreAdded' => CartDiscountStoreAddedMessageModel::class,
162 'CartDiscountStoreRemoved' => CartDiscountStoreRemovedMessageModel::class,
163 'CartDiscountStoresSet' => CartDiscountStoresSetMessageModel::class,
164 'CategoryCreated' => CategoryCreatedMessageModel::class,
165 'CategorySlugChanged' => CategorySlugChangedMessageModel::class,
166 'CustomLineItemStateTransition' => CustomLineItemStateTransitionMessageModel::class,
167 'CustomerAddressAdded' => CustomerAddressAddedMessageModel::class,
168 'CustomerAddressChanged' => CustomerAddressChangedMessageModel::class,
169 'CustomerAddressCustomFieldAdded' => CustomerAddressCustomFieldAddedMessageModel::class,
170 'CustomerAddressCustomFieldChanged' => CustomerAddressCustomFieldChangedMessageModel::class,
171 'CustomerAddressCustomFieldRemoved' => CustomerAddressCustomFieldRemovedMessageModel::class,
172 'CustomerAddressCustomTypeRemoved' => CustomerAddressCustomTypeRemovedMessageModel::class,
173 'CustomerAddressCustomTypeSet' => CustomerAddressCustomTypeSetMessageModel::class,
174 'CustomerAddressRemoved' => CustomerAddressRemovedMessageModel::class,
175 'CustomerCompanyNameSet' => CustomerCompanyNameSetMessageModel::class,
176 'CustomerCreated' => CustomerCreatedMessageModel::class,
177 'CustomerCustomFieldAdded' => CustomerCustomFieldAddedMessageModel::class,
178 'CustomerCustomFieldChanged' => CustomerCustomFieldChangedMessageModel::class,
179 'CustomerCustomFieldRemoved' => CustomerCustomFieldRemovedMessageModel::class,
180 'CustomerCustomTypeRemoved' => CustomerCustomTypeRemovedMessageModel::class,
181 'CustomerCustomTypeSet' => CustomerCustomTypeSetMessageModel::class,
182 'CustomerDateOfBirthSet' => CustomerDateOfBirthSetMessageModel::class,
183 'CustomerDeleted' => CustomerDeletedMessageModel::class,
184 'CustomerEmailChanged' => CustomerEmailChangedMessageModel::class,
185 'CustomerEmailTokenCreated' => CustomerEmailTokenCreatedMessageModel::class,
186 'CustomerEmailVerified' => CustomerEmailVerifiedMessageModel::class,
187 'CustomerFirstNameSet' => CustomerFirstNameSetMessageModel::class,
188 'CustomerGroupAssignmentAdded' => CustomerGroupAssignmentAddedMessageModel::class,
189 'CustomerGroupAssignmentRemoved' => CustomerGroupAssignmentRemovedMessageModel::class,
190 'CustomerGroupAssignmentsSet' => CustomerGroupAssignmentsSetMessageModel::class,
191 'CustomerGroupCustomFieldAdded' => CustomerGroupCustomFieldAddedMessageModel::class,
192 'CustomerGroupCustomFieldChanged' => CustomerGroupCustomFieldChangedMessageModel::class,
193 'CustomerGroupCustomFieldRemoved' => CustomerGroupCustomFieldRemovedMessageModel::class,
194 'CustomerGroupCustomTypeRemoved' => CustomerGroupCustomTypeRemovedMessageModel::class,
195 'CustomerGroupCustomTypeSet' => CustomerGroupCustomTypeSetMessageModel::class,
196 'CustomerGroupSet' => CustomerGroupSetMessageModel::class,
197 'CustomerLastNameSet' => CustomerLastNameSetMessageModel::class,
198 'CustomerPasswordTokenCreated' => CustomerPasswordTokenCreatedMessageModel::class,
199 'CustomerPasswordUpdated' => CustomerPasswordUpdatedMessageModel::class,
200 'CustomerTitleSet' => CustomerTitleSetMessageModel::class,
201 'DeliveryAdded' => DeliveryAddedMessageModel::class,
202 'DeliveryAddressSet' => DeliveryAddressSetMessageModel::class,
203 'DeliveryCustomFieldAdded' => DeliveryCustomFieldAddedMessageModel::class,
204 'DeliveryCustomFieldChanged' => DeliveryCustomFieldChangedMessageModel::class,
205 'DeliveryCustomFieldRemoved' => DeliveryCustomFieldRemovedMessageModel::class,
206 'DeliveryCustomTypeRemoved' => DeliveryCustomTypeRemovedMessageModel::class,
207 'DeliveryCustomTypeSet' => DeliveryCustomTypeSetMessageModel::class,
208 'DeliveryItemsUpdated' => DeliveryItemsUpdatedMessageModel::class,
209 'DeliveryRemoved' => DeliveryRemovedMessageModel::class,
210 'DiscountCodeCreated' => DiscountCodeCreatedMessageModel::class,
211 'DiscountCodeDeleted' => DiscountCodeDeletedMessageModel::class,
212 'DiscountCodeKeySet' => DiscountCodeKeySetMessageModel::class,
213 'InventoryEntryCreated' => InventoryEntryCreatedMessageModel::class,
214 'InventoryEntryDeleted' => InventoryEntryDeletedMessageModel::class,
215 'InventoryEntryQuantitySet' => InventoryEntryQuantitySetMessageModel::class,
216 'LineItemStateTransition' => LineItemStateTransitionMessageModel::class,
217 'OrderBillingAddressSet' => OrderBillingAddressSetMessageModel::class,
218 'OrderBusinessUnitSet' => OrderBusinessUnitSetMessageModel::class,
219 'OrderCreated' => OrderCreatedMessageModel::class,
220 'OrderCustomFieldAdded' => OrderCustomFieldAddedMessageModel::class,
221 'OrderCustomFieldChanged' => OrderCustomFieldChangedMessageModel::class,
222 'OrderCustomFieldRemoved' => OrderCustomFieldRemovedMessageModel::class,
223 'OrderCustomLineItemAdded' => OrderCustomLineItemAddedMessageModel::class,
224 'OrderCustomLineItemDiscountSet' => OrderCustomLineItemDiscountSetMessageModel::class,
225 'OrderCustomLineItemQuantityChanged' => OrderCustomLineItemQuantityChangedMessageModel::class,
226 'OrderCustomLineItemRemoved' => OrderCustomLineItemRemovedMessageModel::class,
227 'OrderCustomTypeRemoved' => OrderCustomTypeRemovedMessageModel::class,
228 'OrderCustomTypeSet' => OrderCustomTypeSetMessageModel::class,
229 'OrderCustomerEmailSet' => OrderCustomerEmailSetMessageModel::class,
230 'OrderCustomerGroupSet' => OrderCustomerGroupSetMessageModel::class,
231 'OrderCustomerSet' => OrderCustomerSetMessageModel::class,
232 'OrderDeleted' => OrderDeletedMessageModel::class,
233 'OrderDiscountCodeAdded' => OrderDiscountCodeAddedMessageModel::class,
234 'OrderDiscountCodeRemoved' => OrderDiscountCodeRemovedMessageModel::class,
235 'OrderDiscountCodeStateSet' => OrderDiscountCodeStateSetMessageModel::class,
236 'OrderEditApplied' => OrderEditAppliedMessageModel::class,
237 'OrderImported' => OrderImportedMessageModel::class,
238 'OrderLineItemAdded' => OrderLineItemAddedMessageModel::class,
239 'OrderLineItemDiscountSet' => OrderLineItemDiscountSetMessageModel::class,
240 'OrderLineItemDistributionChannelSet' => OrderLineItemDistributionChannelSetMessageModel::class,
241 'OrderLineItemRemoved' => OrderLineItemRemovedMessageModel::class,
242 'OrderPaymentAdded' => OrderPaymentAddedMessageModel::class,
243 'OrderPaymentStateChanged' => OrderPaymentStateChangedMessageModel::class,
244 'OrderPurchaseOrderNumberSet' => OrderPurchaseOrderNumberSetMessageModel::class,
245 'OrderReturnShipmentStateChanged' => OrderReturnShipmentStateChangedMessageModel::class,
246 'OrderShipmentStateChanged' => OrderShipmentStateChangedMessageModel::class,
247 'OrderShippingAddressSet' => OrderShippingAddressSetMessageModel::class,
248 'OrderShippingInfoSet' => OrderShippingInfoSetMessageModel::class,
249 'OrderShippingRateInputSet' => OrderShippingRateInputSetMessageModel::class,
250 'OrderStateChanged' => OrderStateChangedMessageModel::class,
251 'OrderStateTransition' => OrderStateTransitionMessageModel::class,
252 'OrderStoreSet' => OrderStoreSetMessageModel::class,
253 'ParcelAddedToDelivery' => ParcelAddedToDeliveryMessageModel::class,
254 'ParcelItemsUpdated' => ParcelItemsUpdatedMessageModel::class,
255 'ParcelMeasurementsUpdated' => ParcelMeasurementsUpdatedMessageModel::class,
256 'ParcelRemovedFromDelivery' => ParcelRemovedFromDeliveryMessageModel::class,
257 'ParcelTrackingDataUpdated' => ParcelTrackingDataUpdatedMessageModel::class,
258 'PaymentCreated' => PaymentCreatedMessageModel::class,
259 'PaymentInteractionAdded' => PaymentInteractionAddedMessageModel::class,
260 'PaymentStatusInterfaceCodeSet' => PaymentStatusInterfaceCodeSetMessageModel::class,
261 'PaymentStatusStateTransition' => PaymentStatusStateTransitionMessageModel::class,
262 'PaymentTransactionAdded' => PaymentTransactionAddedMessageModel::class,
263 'PaymentTransactionStateChanged' => PaymentTransactionStateChangedMessageModel::class,
264 'ProductAddedToCategory' => ProductAddedToCategoryMessageModel::class,
265 'ProductCreated' => ProductCreatedMessageModel::class,
266 'ProductDeleted' => ProductDeletedMessageModel::class,
267 'ProductImageAdded' => ProductImageAddedMessageModel::class,
268 'ProductPriceAdded' => ProductPriceAddedMessageModel::class,
269 'ProductPriceChanged' => ProductPriceChangedMessageModel::class,
270 'ProductPriceCustomFieldAdded' => ProductPriceCustomFieldAddedMessageModel::class,
271 'ProductPriceCustomFieldChanged' => ProductPriceCustomFieldChangedMessageModel::class,
272 'ProductPriceCustomFieldRemoved' => ProductPriceCustomFieldRemovedMessageModel::class,
273 'ProductPriceCustomFieldsRemoved' => ProductPriceCustomFieldsRemovedMessageModel::class,
274 'ProductPriceCustomFieldsSet' => ProductPriceCustomFieldsSetMessageModel::class,
275 'ProductPriceDiscountsSet' => ProductPriceDiscountsSetMessageModel::class,
276 'ProductPriceExternalDiscountSet' => ProductPriceExternalDiscountSetMessageModel::class,
277 'ProductPriceKeySet' => ProductPriceKeySetMessageModel::class,
278 'ProductPriceModeSet' => ProductPriceModeSetMessageModel::class,
279 'ProductPriceRemoved' => ProductPriceRemovedMessageModel::class,
280 'ProductPricesSet' => ProductPricesSetMessageModel::class,
281 'ProductPublished' => ProductPublishedMessageModel::class,
282 'ProductRemovedFromCategory' => ProductRemovedFromCategoryMessageModel::class,
283 'ProductRevertedStagedChanges' => ProductRevertedStagedChangesMessageModel::class,
284 'ProductSelectionCreated' => ProductSelectionCreatedMessageModel::class,
285 'ProductSelectionDeleted' => ProductSelectionDeletedMessageModel::class,
286 'ProductSelectionProductAdded' => ProductSelectionProductAddedMessageModel::class,
287 'ProductSelectionProductExcluded' => ProductSelectionProductExcludedMessageModel::class,
288 'ProductSelectionProductRemoved' => ProductSelectionProductRemovedMessageModel::class,
289 'ProductSelectionVariantExclusionChanged' => ProductSelectionVariantExclusionChangedMessageModel::class,
290 'ProductSelectionVariantSelectionChanged' => ProductSelectionVariantSelectionChangedMessageModel::class,
291 'ProductSlugChanged' => ProductSlugChangedMessageModel::class,
292 'ProductStateTransition' => ProductStateTransitionMessageModel::class,
293 'ProductTailoringCreated' => ProductTailoringCreatedMessageModel::class,
294 'ProductTailoringDeleted' => ProductTailoringDeletedMessageModel::class,
295 'ProductTailoringDescriptionSet' => ProductTailoringDescriptionSetMessageModel::class,
296 'ProductTailoringImageAdded' => ProductTailoringImageAddedMessageModel::class,
297 'ProductTailoringImagesSet' => ProductTailoringImagesSetMessageModel::class,
298 'ProductTailoringNameSet' => ProductTailoringNameSetMessageModel::class,
299 'ProductTailoringPublished' => ProductTailoringPublishedMessageModel::class,
300 'ProductTailoringSlugSet' => ProductTailoringSlugSetMessageModel::class,
301 'ProductTailoringUnpublished' => ProductTailoringUnpublishedMessageModel::class,
302 'ProductUnpublished' => ProductUnpublishedMessageModel::class,
303 'ProductVariantAdded' => ProductVariantAddedMessageModel::class,
304 'ProductVariantDeleted' => ProductVariantDeletedMessageModel::class,
305 'ProductVariantTailoringAdded' => ProductVariantTailoringAddedMessageModel::class,
306 'ProductVariantTailoringRemoved' => ProductVariantTailoringRemovedMessageModel::class,
307 'QuoteCreated' => QuoteCreatedMessageModel::class,
308 'QuoteCustomerChanged' => QuoteCustomerChangedMessageModel::class,
309 'QuoteDeleted' => QuoteDeletedMessageModel::class,
310 'QuoteRenegotiationRequested' => QuoteRenegotiationRequestedMessageModel::class,
311 'QuoteRequestCreated' => QuoteRequestCreatedMessageModel::class,
312 'QuoteRequestCustomerChanged' => QuoteRequestCustomerChangedMessageModel::class,
313 'QuoteRequestDeleted' => QuoteRequestDeletedMessageModel::class,
314 'QuoteRequestStateChanged' => QuoteRequestStateChangedMessageModel::class,
315 'QuoteRequestStateTransition' => QuoteRequestStateTransitionMessageModel::class,
316 'QuoteStateChanged' => QuoteStateChangedMessageModel::class,
317 'QuoteStateTransition' => QuoteStateTransitionMessageModel::class,
318 'ReturnInfoAdded' => ReturnInfoAddedMessageModel::class,
319 'ReturnInfoSet' => ReturnInfoSetMessageModel::class,
320 'ReviewCreated' => ReviewCreatedMessageModel::class,
321 'ReviewRatingSet' => ReviewRatingSetMessageModel::class,
322 'ReviewStateTransition' => ReviewStateTransitionMessageModel::class,
323 'ShoppingListLineItemAdded' => ShoppingListLineItemAddedMessageModel::class,
324 'ShoppingListLineItemRemoved' => ShoppingListLineItemRemovedMessageModel::class,
325 'StagedQuoteCreated' => StagedQuoteCreatedMessageModel::class,
326 'StagedQuoteDeleted' => StagedQuoteDeletedMessageModel::class,
327 'StagedQuoteSellerCommentSet' => StagedQuoteSellerCommentSetMessageModel::class,
328 'StagedQuoteStateChanged' => StagedQuoteStateChangedMessageModel::class,
329 'StagedQuoteStateTransition' => StagedQuoteStateTransitionMessageModel::class,
330 'StagedQuoteValidToSet' => StagedQuoteValidToSetMessageModel::class,
331 'StandalonePriceActiveChanged' => StandalonePriceActiveChangedMessageModel::class,
332 'StandalonePriceCreated' => StandalonePriceCreatedMessageModel::class,
333 'StandalonePriceDeleted' => StandalonePriceDeletedMessageModel::class,
334 'StandalonePriceDiscountSet' => StandalonePriceDiscountSetMessageModel::class,
335 'StandalonePriceExternalDiscountSet' => StandalonePriceExternalDiscountSetMessageModel::class,
336 'StandalonePriceKeySet' => StandalonePriceKeySetMessageModel::class,
337 'StandalonePriceStagedChangesApplied' => StandalonePriceStagedChangesAppliedMessageModel::class,
338 'StandalonePriceStagedChangesRemoved' => StandalonePriceStagedChangesRemovedMessageModel::class,
339 'StandalonePriceTierAdded' => StandalonePriceTierAddedMessageModel::class,
340 'StandalonePriceTierRemoved' => StandalonePriceTierRemovedMessageModel::class,
341 'StandalonePriceTiersSet' => StandalonePriceTiersSetMessageModel::class,
342 'StandalonePriceValidFromAndUntilSet' => StandalonePriceValidFromAndUntilSetMessageModel::class,
343 'StandalonePriceValidFromSet' => StandalonePriceValidFromSetMessageModel::class,
344 'StandalonePriceValidUntilSet' => StandalonePriceValidUntilSetMessageModel::class,
345 'StandalonePriceValueChanged' => StandalonePriceValueChangedMessageModel::class,
346 'StoreCountriesChanged' => StoreCountriesChangedMessageModel::class,
347 'StoreCreated' => StoreCreatedMessageModel::class,
348 'StoreDeleted' => StoreDeletedMessageModel::class,
349 'StoreDistributionChannelsChanged' => StoreDistributionChannelsChangedMessageModel::class,
350 'StoreLanguagesChanged' => StoreLanguagesChangedMessageModel::class,
351 'StoreNameSet' => StoreNameSetMessageModel::class,
352 'StoreProductSelectionsChanged' => StoreProductSelectionsChangedMessageModel::class,
353 'StoreSupplyChannelsChanged' => StoreSupplyChannelsChangedMessageModel::class,
354 ];
355
359 public function __construct(
360 ?string $id = null,
361 ?int $version = null,
362 ?DateTimeImmutable $createdAt = null,
363 ?DateTimeImmutable $lastModifiedAt = null,
365 ?CreatedBy $createdBy = null,
366 ?int $sequenceNumber = null,
367 ?Reference $resource = null,
368 ?int $resourceVersion = null,
370 ?string $type = null
371 ) {
372 $this->id = $id;
373 $this->version = $version;
374 $this->createdAt = $createdAt;
375 $this->lastModifiedAt = $lastModifiedAt;
376 $this->lastModifiedBy = $lastModifiedBy;
377 $this->createdBy = $createdBy;
378 $this->sequenceNumber = $sequenceNumber;
379 $this->resource = $resource;
380 $this->resourceVersion = $resourceVersion;
381 $this->resourceUserProvidedIdentifiers = $resourceUserProvidedIdentifiers;
382 $this->type = $type;
383 }
384
391 public function getId()
392 {
393 if (is_null($this->id)) {
395 $data = $this->raw(self::FIELD_ID);
396 if (is_null($data)) {
397 return null;
398 }
399 $this->id = (string) $data;
400 }
401
402 return $this->id;
403 }
404
411 public function getVersion()
412 {
413 if (is_null($this->version)) {
415 $data = $this->raw(self::FIELD_VERSION);
416 if (is_null($data)) {
417 return null;
418 }
419 $this->version = (int) $data;
420 }
421
422 return $this->version;
423 }
424
431 public function getCreatedAt()
432 {
433 if (is_null($this->createdAt)) {
435 $data = $this->raw(self::FIELD_CREATED_AT);
436 if (is_null($data)) {
437 return null;
438 }
439 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
440 if (false === $data) {
441 return null;
442 }
443 $this->createdAt = $data;
444 }
445
446 return $this->createdAt;
447 }
448
455 public function getLastModifiedAt()
456 {
457 if (is_null($this->lastModifiedAt)) {
459 $data = $this->raw(self::FIELD_LAST_MODIFIED_AT);
460 if (is_null($data)) {
461 return null;
462 }
463 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
464 if (false === $data) {
465 return null;
466 }
467 $this->lastModifiedAt = $data;
468 }
469
471 }
472
479 public function getLastModifiedBy()
480 {
481 if (is_null($this->lastModifiedBy)) {
483 $data = $this->raw(self::FIELD_LAST_MODIFIED_BY);
484 if (is_null($data)) {
485 return null;
486 }
487
488 $this->lastModifiedBy = LastModifiedByModel::of($data);
489 }
490
492 }
493
500 public function getCreatedBy()
501 {
502 if (is_null($this->createdBy)) {
504 $data = $this->raw(self::FIELD_CREATED_BY);
505 if (is_null($data)) {
506 return null;
507 }
508
509 $this->createdBy = CreatedByModel::of($data);
510 }
511
512 return $this->createdBy;
513 }
514
522 public function getSequenceNumber()
523 {
524 if (is_null($this->sequenceNumber)) {
526 $data = $this->raw(self::FIELD_SEQUENCE_NUMBER);
527 if (is_null($data)) {
528 return null;
529 }
530 $this->sequenceNumber = (int) $data;
531 }
532
534 }
535
542 public function getResource()
543 {
544 if (is_null($this->resource)) {
546 $data = $this->raw(self::FIELD_RESOURCE);
547 if (is_null($data)) {
548 return null;
549 }
550 $className = ReferenceModel::resolveDiscriminatorClass($data);
551 $this->resource = $className::of($data);
552 }
553
554 return $this->resource;
555 }
556
563 public function getResourceVersion()
564 {
565 if (is_null($this->resourceVersion)) {
567 $data = $this->raw(self::FIELD_RESOURCE_VERSION);
568 if (is_null($data)) {
569 return null;
570 }
571 $this->resourceVersion = (int) $data;
572 }
573
575 }
576
583 public function getType()
584 {
585 if (is_null($this->type)) {
587 $data = $this->raw(self::FIELD_TYPE);
588 if (is_null($data)) {
589 return null;
590 }
591 $this->type = (string) $data;
592 }
593
594 return $this->type;
595 }
596
604 {
605 if (is_null($this->resourceUserProvidedIdentifiers)) {
607 $data = $this->raw(self::FIELD_RESOURCE_USER_PROVIDED_IDENTIFIERS);
608 if (is_null($data)) {
609 return null;
610 }
611
612 $this->resourceUserProvidedIdentifiers = UserProvidedIdentifiersModel::of($data);
613 }
614
616 }
617
618
622 public function setId(?string $id): void
623 {
624 $this->id = $id;
625 }
626
630 public function setVersion(?int $version): void
631 {
632 $this->version = $version;
633 }
634
638 public function setCreatedAt(?DateTimeImmutable $createdAt): void
639 {
640 $this->createdAt = $createdAt;
641 }
642
646 public function setLastModifiedAt(?DateTimeImmutable $lastModifiedAt): void
647 {
648 $this->lastModifiedAt = $lastModifiedAt;
649 }
650
655 {
656 $this->lastModifiedBy = $lastModifiedBy;
657 }
658
662 public function setCreatedBy(?CreatedBy $createdBy): void
663 {
664 $this->createdBy = $createdBy;
665 }
666
670 public function setSequenceNumber(?int $sequenceNumber): void
671 {
672 $this->sequenceNumber = $sequenceNumber;
673 }
674
678 public function setResource(?Reference $resource): void
679 {
680 $this->resource = $resource;
681 }
682
686 public function setResourceVersion(?int $resourceVersion): void
687 {
688 $this->resourceVersion = $resourceVersion;
689 }
690
695 {
696 $this->resourceUserProvidedIdentifiers = $resourceUserProvidedIdentifiers;
697 }
698
699
700 #[\ReturnTypeWillChange]
701 public function jsonSerialize()
702 {
703 $data = $this->toArray();
704 if (isset($data[Message::FIELD_CREATED_AT]) && $data[Message::FIELD_CREATED_AT] instanceof \DateTimeImmutable) {
705 $data[Message::FIELD_CREATED_AT] = $data[Message::FIELD_CREATED_AT]->setTimeZone(new \DateTimeZone('UTC'))->format('c');
706 }
707
708 if (isset($data[Message::FIELD_LAST_MODIFIED_AT]) && $data[Message::FIELD_LAST_MODIFIED_AT] instanceof \DateTimeImmutable) {
709 $data[Message::FIELD_LAST_MODIFIED_AT] = $data[Message::FIELD_LAST_MODIFIED_AT]->setTimeZone(new \DateTimeZone('UTC'))->format('c');
710 }
711 return (object) $data;
712 }
713
718 public static function resolveDiscriminatorClass($value): string
719 {
720 $fieldName = Message::DISCRIMINATOR_FIELD;
721 if (is_object($value) && isset($value->$fieldName)) {
723 $discriminatorValue = $value->$fieldName;
724 if (isset(self::$discriminatorClasses[$discriminatorValue])) {
725 return self::$discriminatorClasses[$discriminatorValue];
726 }
727 }
728 if (is_array($value) && isset($value[$fieldName])) {
730 $discriminatorValue = $value[$fieldName];
731 if (isset(self::$discriminatorClasses[$discriminatorValue])) {
732 return self::$discriminatorClasses[$discriminatorValue];
733 }
734 }
735
737 $type = MessageModel::class;
738 return $type;
739 }
740}
__construct(?string $id=null, ?int $version=null, ?DateTimeImmutable $createdAt=null, ?DateTimeImmutable $lastModifiedAt=null, ?LastModifiedBy $lastModifiedBy=null, ?CreatedBy $createdBy=null, ?int $sequenceNumber=null, ?Reference $resource=null, ?int $resourceVersion=null, ?UserProvidedIdentifiers $resourceUserProvidedIdentifiers=null, ?string $type=null)
setCreatedAt(?DateTimeImmutable $createdAt)
setLastModifiedAt(?DateTimeImmutable $lastModifiedAt)
setResourceUserProvidedIdentifiers(?UserProvidedIdentifiers $resourceUserProvidedIdentifiers)
setLastModifiedBy(?LastModifiedBy $lastModifiedBy)