3declare(strict_types=1);
170 if (is_null($this->key)) {
172 $data = $this->
raw(self::FIELD_KEY);
173 if (is_null($data)) {
176 $this->key = (string) $data;
190 if (is_null($this->name)) {
192 $data = $this->
raw(self::FIELD_NAME);
193 if (is_null($data)) {
197 $this->name = LocalizedStringModel::of($data);
211 if (is_null($this->productType)) {
213 $data = $this->
raw(self::FIELD_PRODUCT_TYPE);
214 if (is_null($data)) {
218 $this->productType = ProductTypeKeyReferenceModel::of($data);
232 if (is_null($this->slug)) {
234 $data = $this->
raw(self::FIELD_SLUG);
235 if (is_null($data)) {
239 $this->slug = LocalizedStringModel::of($data);
253 if (is_null($this->description)) {
255 $data = $this->
raw(self::FIELD_DESCRIPTION);
256 if (is_null($data)) {
260 $this->description = LocalizedStringModel::of($data);
274 if (is_null($this->categories)) {
276 $data = $this->
raw(self::FIELD_CATEGORIES);
277 if (is_null($data)) {
280 $this->categories = CategoryKeyReferenceCollection::fromArray($data);
292 if (is_null($this->attributes)) {
294 $data = $this->
raw(self::FIELD_ATTRIBUTES);
295 if (is_null($data)) {
298 $this->attributes = AttributeCollection::fromArray($data);
312 if (is_null($this->metaTitle)) {
314 $data = $this->
raw(self::FIELD_META_TITLE);
315 if (is_null($data)) {
319 $this->metaTitle = LocalizedStringModel::of($data);
333 if (is_null($this->metaDescription)) {
335 $data = $this->
raw(self::FIELD_META_DESCRIPTION);
336 if (is_null($data)) {
340 $this->metaDescription = LocalizedStringModel::of($data);
354 if (is_null($this->metaKeywords)) {
356 $data = $this->
raw(self::FIELD_META_KEYWORDS);
357 if (is_null($data)) {
361 $this->metaKeywords = LocalizedStringModel::of($data);
375 if (is_null($this->taxCategory)) {
377 $data = $this->
raw(self::FIELD_TAX_CATEGORY);
378 if (is_null($data)) {
382 $this->taxCategory = TaxCategoryKeyReferenceModel::of($data);
396 if (is_null($this->searchKeywords)) {
398 $data = $this->
raw(self::FIELD_SEARCH_KEYWORDS);
399 if (is_null($data)) {
417 if (is_null($this->state)) {
419 $data = $this->
raw(self::FIELD_STATE);
420 if (is_null($data)) {
424 $this->state = StateKeyReferenceModel::of($data);
438 if (is_null($this->publish)) {
440 $data = $this->
raw(self::FIELD_PUBLISH);
441 if (is_null($data)) {
444 $this->publish = (bool) $data;
458 if (is_null($this->priceMode)) {
460 $data = $this->
raw(self::FIELD_PRICE_MODE);
461 if (is_null($data)) {
464 $this->priceMode = (string) $data;