3declare(strict_types=1);
229 if (is_null($this->
id)) {
231 $data = $this->
raw(self::FIELD_ID);
232 if (is_null($data)) {
235 $this->
id = (string) $data;
249 if (is_null($this->version)) {
251 $data = $this->
raw(self::FIELD_VERSION);
252 if (is_null($data)) {
255 $this->version = (int) $data;
269 if (is_null($this->createdAt)) {
271 $data = $this->
raw(self::FIELD_CREATED_AT);
272 if (is_null($data)) {
275 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
276 if (
false === $data) {
279 $this->createdAt = $data;
293 if (is_null($this->lastModifiedAt)) {
295 $data = $this->
raw(self::FIELD_LAST_MODIFIED_AT);
296 if (is_null($data)) {
299 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
300 if (
false === $data) {
303 $this->lastModifiedAt = $data;
317 if (is_null($this->lastModifiedBy)) {
319 $data = $this->
raw(self::FIELD_LAST_MODIFIED_BY);
320 if (is_null($data)) {
324 $this->lastModifiedBy = LastModifiedByModel::of($data);
338 if (is_null($this->createdBy)) {
340 $data = $this->
raw(self::FIELD_CREATED_BY);
341 if (is_null($data)) {
345 $this->createdBy = CreatedByModel::of($data);
359 if (is_null($this->name)) {
361 $data = $this->
raw(self::FIELD_NAME);
362 if (is_null($data)) {
366 $this->name = LocalizedStringModel::of($data);
380 if (is_null($this->key)) {
382 $data = $this->
raw(self::FIELD_KEY);
383 if (is_null($data)) {
386 $this->key = (string) $data;
400 if (is_null($this->description)) {
402 $data = $this->
raw(self::FIELD_DESCRIPTION);
403 if (is_null($data)) {
407 $this->description = LocalizedStringModel::of($data);
421 if (is_null($this->value)) {
423 $data = $this->
raw(self::FIELD_VALUE);
424 if (is_null($data)) {
428 $this->value = $className::of($data);
442 if (is_null($this->cartPredicate)) {
444 $data = $this->
raw(self::FIELD_CART_PREDICATE);
445 if (is_null($data)) {
448 $this->cartPredicate = (string) $data;
463 if (is_null($this->target)) {
465 $data = $this->
raw(self::FIELD_TARGET);
466 if (is_null($data)) {
470 $this->target = $className::of($data);
486 if (is_null($this->sortOrder)) {
488 $data = $this->
raw(self::FIELD_SORT_ORDER);
489 if (is_null($data)) {
492 $this->sortOrder = (string) $data;
509 if (is_null($this->stores)) {
511 $data = $this->
raw(self::FIELD_STORES);
512 if (is_null($data)) {
515 $this->stores = StoreKeyReferenceCollection::fromArray($data);
529 if (is_null($this->isActive)) {
531 $data = $this->
raw(self::FIELD_IS_ACTIVE);
532 if (is_null($data)) {
535 $this->isActive = (bool) $data;
549 if (is_null($this->validFrom)) {
551 $data = $this->
raw(self::FIELD_VALID_FROM);
552 if (is_null($data)) {
555 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
556 if (
false === $data) {
559 $this->validFrom = $data;
573 if (is_null($this->validUntil)) {
575 $data = $this->
raw(self::FIELD_VALID_UNTIL);
576 if (is_null($data)) {
579 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
580 if (
false === $data) {
583 $this->validUntil = $data;
597 if (is_null($this->requiresDiscountCode)) {
599 $data = $this->
raw(self::FIELD_REQUIRES_DISCOUNT_CODE);
600 if (is_null($data)) {
603 $this->requiresDiscountCode = (bool) $data;
618 if (is_null($this->references)) {
620 $data = $this->
raw(self::FIELD_REFERENCES);
621 if (is_null($data)) {
624 $this->references = ReferenceCollection::fromArray($data);
638 if (is_null($this->stackingMode)) {
640 $data = $this->
raw(self::FIELD_STACKING_MODE);
641 if (is_null($data)) {
644 $this->stackingMode = (string) $data;
658 if (is_null($this->custom)) {
660 $data = $this->
raw(self::FIELD_CUSTOM);
661 if (is_null($data)) {
665 $this->custom = CustomFieldsModel::of($data);
679 if (is_null($this->discountGroup)) {
681 $data = $this->
raw(self::FIELD_DISCOUNT_GROUP);
682 if (is_null($data)) {
870 #[\ReturnTypeWillChange]
889 return (
object) $data;