3declare(strict_types=1);
176 if (is_null($this->name)) {
178 $data = $this->
raw(self::FIELD_NAME);
179 if (is_null($data)) {
183 $this->name = LocalizedStringModel::of($data);
197 if (is_null($this->key)) {
199 $data = $this->
raw(self::FIELD_KEY);
200 if (is_null($data)) {
203 $this->key = (string) $data;
217 if (is_null($this->description)) {
219 $data = $this->
raw(self::FIELD_DESCRIPTION);
220 if (is_null($data)) {
224 $this->description = LocalizedStringModel::of($data);
238 if (is_null($this->value)) {
240 $data = $this->
raw(self::FIELD_VALUE);
241 if (is_null($data)) {
245 $this->value = $className::of($data);
259 if (is_null($this->cartPredicate)) {
261 $data = $this->
raw(self::FIELD_CART_PREDICATE);
262 if (is_null($data)) {
265 $this->cartPredicate = (string) $data;
280 if (is_null($this->target)) {
282 $data = $this->
raw(self::FIELD_TARGET);
283 if (is_null($data)) {
287 $this->target = $className::of($data);
303 if (is_null($this->sortOrder)) {
305 $data = $this->
raw(self::FIELD_SORT_ORDER);
306 if (is_null($data)) {
309 $this->sortOrder = (string) $data;
328 if (is_null($this->stores)) {
330 $data = $this->
raw(self::FIELD_STORES);
331 if (is_null($data)) {
334 $this->stores = StoreResourceIdentifierCollection::fromArray($data);
349 if (is_null($this->isActive)) {
351 $data = $this->
raw(self::FIELD_IS_ACTIVE);
352 if (is_null($data)) {
355 $this->isActive = (bool) $data;
369 if (is_null($this->validFrom)) {
371 $data = $this->
raw(self::FIELD_VALID_FROM);
372 if (is_null($data)) {
375 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
376 if (
false === $data) {
379 $this->validFrom = $data;
393 if (is_null($this->validUntil)) {
395 $data = $this->
raw(self::FIELD_VALID_UNTIL);
396 if (is_null($data)) {
399 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
400 if (
false === $data) {
403 $this->validUntil = $data;
417 if (is_null($this->requiresDiscountCode)) {
419 $data = $this->
raw(self::FIELD_REQUIRES_DISCOUNT_CODE);
420 if (is_null($data)) {
423 $this->requiresDiscountCode = (bool) $data;
437 if (is_null($this->stackingMode)) {
439 $data = $this->
raw(self::FIELD_STACKING_MODE);
440 if (is_null($data)) {
443 $this->stackingMode = (string) $data;
457 if (is_null($this->custom)) {
459 $data = $this->
raw(self::FIELD_CUSTOM);
460 if (is_null($data)) {
464 $this->custom = CustomFieldsDraftModel::of($data);
478 if (is_null($this->discountGroup)) {
480 $data = $this->
raw(self::FIELD_DISCOUNT_GROUP);
481 if (is_null($data)) {
485 $this->discountGroup = DiscountGroupResourceIdentifierModel::of($data);
500 if (is_null($this->recurringOrderScope)) {
502 $data = $this->
raw(self::FIELD_RECURRING_ORDER_SCOPE);
503 if (is_null($data)) {
506 $className = RecurringOrderScopeDraftModel::resolveDiscriminatorClass($data);
507 $this->recurringOrderScope = $className::of($data);
643 #[\ReturnTypeWillChange]
654 return (
object) $data;