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;
604 if (is_null($this->masterVariant)) {
606 $data = $this->
raw(self::FIELD_MASTER_VARIANT);
607 if (is_null($data)) {
625 if (is_null($this->variants)) {
627 $data = $this->
raw(self::FIELD_VARIANTS);
628 if (is_null($data)) {
645 if (is_null($this->taxCategory)) {
647 $data = $this->
raw(self::FIELD_TAX_CATEGORY);
648 if (is_null($data)) {
652 $this->taxCategory = TaxCategoryReferenceModel::of($data);
666 if (is_null($this->state)) {
668 $data = $this->
raw(self::FIELD_STATE);
669 if (is_null($data)) {
673 $this->state = StateReferenceModel::of($data);
687 if (is_null($this->reviewRatingStatistics)) {
689 $data = $this->
raw(self::FIELD_REVIEW_RATING_STATISTICS);
690 if (is_null($data)) {
694 $this->reviewRatingStatistics = ReviewRatingStatisticsModel::of($data);
708 if (is_null($this->priceMode)) {
710 $data = $this->
raw(self::FIELD_PRICE_MODE);
711 if (is_null($data)) {
714 $this->priceMode = (string) $data;
728 if (is_null($this->attributes)) {
730 $data = $this->
raw(self::FIELD_ATTRIBUTES);
731 if (is_null($data)) {
934 #[\ReturnTypeWillChange]
945 return (
object) $data;