3declare(strict_types=1);
114 ?
string $code =
null,
149 if (is_null($this->key)) {
151 $data = $this->
raw(self::FIELD_KEY);
152 if (is_null($data)) {
155 $this->key = (string) $data;
169 if (is_null($this->name)) {
171 $data = $this->
raw(self::FIELD_NAME);
172 if (is_null($data)) {
176 $this->name = LocalizedStringModel::of($data);
190 if (is_null($this->description)) {
192 $data = $this->
raw(self::FIELD_DESCRIPTION);
193 if (is_null($data)) {
197 $this->description = LocalizedStringModel::of($data);
212 if (is_null($this->code)) {
214 $data = $this->
raw(self::FIELD_CODE);
215 if (is_null($data)) {
218 $this->code = (string) $data;
232 if (is_null($this->cartDiscounts)) {
234 $data = $this->
raw(self::FIELD_CART_DISCOUNTS);
235 if (is_null($data)) {
238 $this->cartDiscounts = CartDiscountResourceIdentifierCollection::fromArray($data);
252 if (is_null($this->cartPredicate)) {
254 $data = $this->
raw(self::FIELD_CART_PREDICATE);
255 if (is_null($data)) {
258 $this->cartPredicate = (string) $data;
272 if (is_null($this->isActive)) {
274 $data = $this->
raw(self::FIELD_IS_ACTIVE);
275 if (is_null($data)) {
278 $this->isActive = (bool) $data;
294 if (is_null($this->maxApplications)) {
296 $data = $this->
raw(self::FIELD_MAX_APPLICATIONS);
297 if (is_null($data)) {
300 $this->maxApplications = (int) $data;
316 if (is_null($this->maxApplicationsPerCustomer)) {
318 $data = $this->
raw(self::FIELD_MAX_APPLICATIONS_PER_CUSTOMER);
319 if (is_null($data)) {
322 $this->maxApplicationsPerCustomer = (int) $data;
336 if (is_null($this->custom)) {
338 $data = $this->
raw(self::FIELD_CUSTOM);
339 if (is_null($data)) {
343 $this->custom = CustomFieldsDraftModel::of($data);
357 if (is_null($this->groups)) {
359 $data = $this->
raw(self::FIELD_GROUPS);
360 if (is_null($data)) {
363 $this->groups = $data;
377 if (is_null($this->validFrom)) {
379 $data = $this->
raw(self::FIELD_VALID_FROM);
380 if (is_null($data)) {
383 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
384 if (
false === $data) {
387 $this->validFrom = $data;
401 if (is_null($this->validUntil)) {
403 $data = $this->
raw(self::FIELD_VALID_UNTIL);
404 if (is_null($data)) {
407 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
408 if (
false === $data) {
411 $this->validUntil = $data;
523 #[\ReturnTypeWillChange]
534 return (
object) $data;