3declare(strict_types=1);
244 if (is_null($this->
id)) {
246 $data = $this->
raw(self::FIELD_ID);
247 if (is_null($data)) {
250 $this->
id = (string) $data;
264 if (is_null($this->version)) {
266 $data = $this->
raw(self::FIELD_VERSION);
267 if (is_null($data)) {
270 $this->version = (int) $data;
284 if (is_null($this->createdAt)) {
286 $data = $this->
raw(self::FIELD_CREATED_AT);
287 if (is_null($data)) {
290 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
291 if (
false === $data) {
294 $this->createdAt = $data;
308 if (is_null($this->lastModifiedAt)) {
310 $data = $this->
raw(self::FIELD_LAST_MODIFIED_AT);
311 if (is_null($data)) {
314 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
315 if (
false === $data) {
318 $this->lastModifiedAt = $data;
332 if (is_null($this->key)) {
334 $data = $this->
raw(self::FIELD_KEY);
335 if (is_null($data)) {
338 $this->key = (string) $data;
352 if (is_null($this->productType)) {
354 $data = $this->
raw(self::FIELD_PRODUCT_TYPE);
355 if (is_null($data)) {
359 $this->productType = ProductTypeReferenceModel::of($data);
373 if (is_null($this->name)) {
375 $data = $this->
raw(self::FIELD_NAME);
376 if (is_null($data)) {
380 $this->name = LocalizedStringModel::of($data);
394 if (is_null($this->description)) {
396 $data = $this->
raw(self::FIELD_DESCRIPTION);
397 if (is_null($data)) {
401 $this->description = LocalizedStringModel::of($data);
418 if (is_null($this->slug)) {
420 $data = $this->
raw(self::FIELD_SLUG);
421 if (is_null($data)) {
425 $this->slug = LocalizedStringModel::of($data);
439 if (is_null($this->categories)) {
441 $data = $this->
raw(self::FIELD_CATEGORIES);
442 if (is_null($data)) {
445 $this->categories = CategoryReferenceCollection::fromArray($data);
459 if (is_null($this->categoryOrderHints)) {
461 $data = $this->
raw(self::FIELD_CATEGORY_ORDER_HINTS);
462 if (is_null($data)) {
480 if (is_null($this->metaTitle)) {
482 $data = $this->
raw(self::FIELD_META_TITLE);
483 if (is_null($data)) {
487 $this->metaTitle = LocalizedStringModel::of($data);
501 if (is_null($this->metaDescription)) {
503 $data = $this->
raw(self::FIELD_META_DESCRIPTION);
504 if (is_null($data)) {
508 $this->metaDescription = LocalizedStringModel::of($data);
522 if (is_null($this->metaKeywords)) {
524 $data = $this->
raw(self::FIELD_META_KEYWORDS);
525 if (is_null($data)) {
529 $this->metaKeywords = LocalizedStringModel::of($data);
543 if (is_null($this->searchKeywords)) {
545 $data = $this->
raw(self::FIELD_SEARCH_KEYWORDS);
546 if (is_null($data)) {
564 if (is_null($this->hasStagedChanges)) {
566 $data = $this->
raw(self::FIELD_HAS_STAGED_CHANGES);
567 if (is_null($data)) {
570 $this->hasStagedChanges = (bool) $data;
584 if (is_null($this->published)) {
586 $data = $this->
raw(self::FIELD_PUBLISHED);
587 if (is_null($data)) {
590 $this->published = (bool) $data;
605 if (is_null($this->masterVariant)) {
607 $data = $this->
raw(self::FIELD_MASTER_VARIANT);
608 if (is_null($data)) {
627 if (is_null($this->variants)) {
629 $data = $this->
raw(self::FIELD_VARIANTS);
630 if (is_null($data)) {
647 if (is_null($this->taxCategory)) {
649 $data = $this->
raw(self::FIELD_TAX_CATEGORY);
650 if (is_null($data)) {
654 $this->taxCategory = TaxCategoryReferenceModel::of($data);
668 if (is_null($this->state)) {
670 $data = $this->
raw(self::FIELD_STATE);
671 if (is_null($data)) {
675 $this->state = StateReferenceModel::of($data);
689 if (is_null($this->reviewRatingStatistics)) {
691 $data = $this->
raw(self::FIELD_REVIEW_RATING_STATISTICS);
692 if (is_null($data)) {
696 $this->reviewRatingStatistics = ReviewRatingStatisticsModel::of($data);
711 if (is_null($this->priceMode)) {
713 $data = $this->
raw(self::FIELD_PRICE_MODE);
714 if (is_null($data)) {
717 $this->priceMode = (string) $data;
731 if (is_null($this->attributes)) {
733 $data = $this->
raw(self::FIELD_ATTRIBUTES);
734 if (is_null($data)) {
937 #[\ReturnTypeWillChange]
948 return (
object) $data;