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);
198 if (is_null($this->key)) {
200 $data = $this->
raw(self::FIELD_KEY);
201 if (is_null($data)) {
204 $this->key = (string) $data;
218 if (is_null($this->description)) {
220 $data = $this->
raw(self::FIELD_DESCRIPTION);
221 if (is_null($data)) {
225 $this->description = LocalizedStringModel::of($data);
239 if (is_null($this->value)) {
241 $data = $this->
raw(self::FIELD_VALUE);
242 if (is_null($data)) {
246 $this->value = $className::of($data);
260 if (is_null($this->cartPredicate)) {
262 $data = $this->
raw(self::FIELD_CART_PREDICATE);
263 if (is_null($data)) {
266 $this->cartPredicate = (string) $data;
281 if (is_null($this->target)) {
283 $data = $this->
raw(self::FIELD_TARGET);
284 if (is_null($data)) {
288 $this->target = $className::of($data);
304 if (is_null($this->sortOrder)) {
306 $data = $this->
raw(self::FIELD_SORT_ORDER);
307 if (is_null($data)) {
310 $this->sortOrder = (string) $data;
329 if (is_null($this->stores)) {
331 $data = $this->
raw(self::FIELD_STORES);
332 if (is_null($data)) {
335 $this->stores = StoreResourceIdentifierCollection::fromArray($data);
350 if (is_null($this->isActive)) {
352 $data = $this->
raw(self::FIELD_IS_ACTIVE);
353 if (is_null($data)) {
356 $this->isActive = (bool) $data;
370 if (is_null($this->validFrom)) {
372 $data = $this->
raw(self::FIELD_VALID_FROM);
373 if (is_null($data)) {
376 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
377 if (
false === $data) {
380 $this->validFrom = $data;
394 if (is_null($this->validUntil)) {
396 $data = $this->
raw(self::FIELD_VALID_UNTIL);
397 if (is_null($data)) {
400 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
401 if (
false === $data) {
404 $this->validUntil = $data;
418 if (is_null($this->requiresDiscountCode)) {
420 $data = $this->
raw(self::FIELD_REQUIRES_DISCOUNT_CODE);
421 if (is_null($data)) {
424 $this->requiresDiscountCode = (bool) $data;
438 if (is_null($this->stackingMode)) {
440 $data = $this->
raw(self::FIELD_STACKING_MODE);
441 if (is_null($data)) {
444 $this->stackingMode = (string) $data;
458 if (is_null($this->custom)) {
460 $data = $this->
raw(self::FIELD_CUSTOM);
461 if (is_null($data)) {
465 $this->custom = CustomFieldsDraftModel::of($data);
480 if (is_null($this->discountGroup)) {
482 $data = $this->
raw(self::FIELD_DISCOUNT_GROUP);
483 if (is_null($data)) {
487 $this->discountGroup = DiscountGroupResourceIdentifierModel::of($data);
502 if (is_null($this->recurringOrderScope)) {
504 $data = $this->
raw(self::FIELD_RECURRING_ORDER_SCOPE);
505 if (is_null($data)) {
508 $className = RecurringOrderScopeDraftModel::resolveDiscriminatorClass($data);
509 $this->recurringOrderScope = $className::of($data);
645 #[\ReturnTypeWillChange]
656 return (
object) $data;