3declare(strict_types=1);
195 if (is_null($this->
id)) {
197 $data = $this->
raw(self::FIELD_ID);
198 if (is_null($data)) {
201 $this->
id = (string) $data;
215 if (is_null($this->version)) {
217 $data = $this->
raw(self::FIELD_VERSION);
218 if (is_null($data)) {
221 $this->version = (int) $data;
235 if (is_null($this->createdAt)) {
237 $data = $this->
raw(self::FIELD_CREATED_AT);
238 if (is_null($data)) {
241 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
242 if (
false === $data) {
245 $this->createdAt = $data;
259 if (is_null($this->staged)) {
261 $data = $this->
raw(self::FIELD_STAGED);
262 if (is_null($data)) {
265 $this->staged = (bool) $data;
279 if (is_null($this->variantId)) {
281 $data = $this->
raw(self::FIELD_VARIANT_ID);
282 if (is_null($data)) {
285 $this->variantId = (int) $data;
299 if (is_null($this->product)) {
301 $data = $this->
raw(self::FIELD_PRODUCT);
302 if (is_null($data)) {
306 $this->product = ProductReferenceModel::of($data);
320 if (is_null($this->name)) {
322 $data = $this->
raw(self::FIELD_NAME);
323 if (is_null($data)) {
327 $this->name = LocalizedStringModel::of($data);
341 if (is_null($this->slug)) {
343 $data = $this->
raw(self::FIELD_SLUG);
344 if (is_null($data)) {
348 $this->slug = LocalizedStringModel::of($data);
362 if (is_null($this->description)) {
364 $data = $this->
raw(self::FIELD_DESCRIPTION);
365 if (is_null($data)) {
369 $this->description = LocalizedStringModel::of($data);
383 if (is_null($this->categories)) {
385 $data = $this->
raw(self::FIELD_CATEGORIES);
386 if (is_null($data)) {
389 $this->categories = CategoryReferenceCollection::fromArray($data);
403 if (is_null($this->categoryOrderHints)) {
405 $data = $this->
raw(self::FIELD_CATEGORY_ORDER_HINTS);
406 if (is_null($data)) {
424 if (is_null($this->key)) {
426 $data = $this->
raw(self::FIELD_KEY);
427 if (is_null($data)) {
430 $this->key = (string) $data;
444 if (is_null($this->sku)) {
446 $data = $this->
raw(self::FIELD_SKU);
447 if (is_null($data)) {
450 $this->sku = (string) $data;
464 if (is_null($this->images)) {
466 $data = $this->
raw(self::FIELD_IMAGES);
467 if (is_null($data)) {
470 $this->images = ImageCollection::fromArray($data);
484 if (is_null($this->assets)) {
486 $data = $this->
raw(self::FIELD_ASSETS);
487 if (is_null($data)) {
490 $this->assets = AssetCollection::fromArray($data);
504 if (is_null($this->attributes)) {
506 $data = $this->
raw(self::FIELD_ATTRIBUTES);
507 if (is_null($data)) {
510 $this->attributes = AttributeCollection::fromArray($data);
525 if (is_null($this->price)) {
527 $data = $this->
raw(self::FIELD_PRICE);
528 if (is_null($data)) {
532 $this->price = PriceModel::of($data);
546 if (is_null($this->
default)) {
548 $data = $this->
raw(self::FIELD_DEFAULT);
549 if (is_null($data)) {
552 $this->
default = (bool) $data;
704 #[\ReturnTypeWillChange]
711 return (
object) $data;