3declare(strict_types=1);
166 if (is_null($this->name)) {
168 $data = $this->
raw(self::FIELD_NAME);
169 if (is_null($data)) {
173 $this->name = LocalizedStringModel::of($data);
187 if (is_null($this->key)) {
189 $data = $this->
raw(self::FIELD_KEY);
190 if (is_null($data)) {
193 $this->key = (string) $data;
207 if (is_null($this->description)) {
209 $data = $this->
raw(self::FIELD_DESCRIPTION);
210 if (is_null($data)) {
214 $this->description = LocalizedStringModel::of($data);
228 if (is_null($this->value)) {
230 $data = $this->
raw(self::FIELD_VALUE);
231 if (is_null($data)) {
235 $this->value = $className::of($data);
249 if (is_null($this->cartPredicate)) {
251 $data = $this->
raw(self::FIELD_CART_PREDICATE);
252 if (is_null($data)) {
255 $this->cartPredicate = (string) $data;
270 if (is_null($this->target)) {
272 $data = $this->
raw(self::FIELD_TARGET);
273 if (is_null($data)) {
277 $this->target = $className::of($data);
293 if (is_null($this->sortOrder)) {
295 $data = $this->
raw(self::FIELD_SORT_ORDER);
296 if (is_null($data)) {
299 $this->sortOrder = (string) $data;
318 if (is_null($this->stores)) {
320 $data = $this->
raw(self::FIELD_STORES);
321 if (is_null($data)) {
324 $this->stores = StoreResourceIdentifierCollection::fromArray($data);
339 if (is_null($this->isActive)) {
341 $data = $this->
raw(self::FIELD_IS_ACTIVE);
342 if (is_null($data)) {
345 $this->isActive = (bool) $data;
359 if (is_null($this->validFrom)) {
361 $data = $this->
raw(self::FIELD_VALID_FROM);
362 if (is_null($data)) {
365 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
366 if (
false === $data) {
369 $this->validFrom = $data;
383 if (is_null($this->validUntil)) {
385 $data = $this->
raw(self::FIELD_VALID_UNTIL);
386 if (is_null($data)) {
389 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
390 if (
false === $data) {
393 $this->validUntil = $data;
407 if (is_null($this->requiresDiscountCode)) {
409 $data = $this->
raw(self::FIELD_REQUIRES_DISCOUNT_CODE);
410 if (is_null($data)) {
413 $this->requiresDiscountCode = (bool) $data;
427 if (is_null($this->stackingMode)) {
429 $data = $this->
raw(self::FIELD_STACKING_MODE);
430 if (is_null($data)) {
433 $this->stackingMode = (string) $data;
447 if (is_null($this->custom)) {
449 $data = $this->
raw(self::FIELD_CUSTOM);
450 if (is_null($data)) {
454 $this->custom = CustomFieldsDraftModel::of($data);
468 if (is_null($this->discountGroup)) {
470 $data = $this->
raw(self::FIELD_DISCOUNT_GROUP);
471 if (is_null($data)) {
475 $this->discountGroup = DiscountGroupResourceIdentifierModel::of($data);
603 #[\ReturnTypeWillChange]
614 return (
object) $data;