3declare(strict_types=1);
114 ?
string $code =
null,
150 if (is_null($this->key)) {
152 $data = $this->
raw(self::FIELD_KEY);
153 if (is_null($data)) {
156 $this->key = (string) $data;
170 if (is_null($this->name)) {
172 $data = $this->
raw(self::FIELD_NAME);
173 if (is_null($data)) {
177 $this->name = LocalizedStringModel::of($data);
191 if (is_null($this->description)) {
193 $data = $this->
raw(self::FIELD_DESCRIPTION);
194 if (is_null($data)) {
198 $this->description = LocalizedStringModel::of($data);
214 if (is_null($this->code)) {
216 $data = $this->
raw(self::FIELD_CODE);
217 if (is_null($data)) {
220 $this->code = (string) $data;
234 if (is_null($this->cartDiscounts)) {
236 $data = $this->
raw(self::FIELD_CART_DISCOUNTS);
237 if (is_null($data)) {
240 $this->cartDiscounts = CartDiscountResourceIdentifierCollection::fromArray($data);
254 if (is_null($this->cartPredicate)) {
256 $data = $this->
raw(self::FIELD_CART_PREDICATE);
257 if (is_null($data)) {
260 $this->cartPredicate = (string) $data;
274 if (is_null($this->isActive)) {
276 $data = $this->
raw(self::FIELD_IS_ACTIVE);
277 if (is_null($data)) {
280 $this->isActive = (bool) $data;
297 if (is_null($this->maxApplications)) {
299 $data = $this->
raw(self::FIELD_MAX_APPLICATIONS);
300 if (is_null($data)) {
303 $this->maxApplications = (int) $data;
320 if (is_null($this->maxApplicationsPerCustomer)) {
322 $data = $this->
raw(self::FIELD_MAX_APPLICATIONS_PER_CUSTOMER);
323 if (is_null($data)) {
326 $this->maxApplicationsPerCustomer = (int) $data;
340 if (is_null($this->custom)) {
342 $data = $this->
raw(self::FIELD_CUSTOM);
343 if (is_null($data)) {
347 $this->custom = CustomFieldsDraftModel::of($data);
361 if (is_null($this->groups)) {
363 $data = $this->
raw(self::FIELD_GROUPS);
364 if (is_null($data)) {
367 $this->groups = $data;
381 if (is_null($this->validFrom)) {
383 $data = $this->
raw(self::FIELD_VALID_FROM);
384 if (is_null($data)) {
387 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
388 if (
false === $data) {
391 $this->validFrom = $data;
405 if (is_null($this->validUntil)) {
407 $data = $this->
raw(self::FIELD_VALID_UNTIL);
408 if (is_null($data)) {
411 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
412 if (
false === $data) {
415 $this->validUntil = $data;
527 #[\ReturnTypeWillChange]
538 return (
object) $data;