3 declare(strict_types=1);
22 use DateTimeImmutable;
116 ?
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)) {
191 if (is_null($this->description)) {
193 $data = $this->
raw(self::FIELD_DESCRIPTION);
194 if (is_null($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)) {
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;
292 if (is_null($this->maxApplications)) {
294 $data = $this->
raw(self::FIELD_MAX_APPLICATIONS);
295 if (is_null($data)) {
298 $this->maxApplications = (int) $data;
312 if (is_null($this->maxApplicationsPerCustomer)) {
314 $data = $this->
raw(self::FIELD_MAX_APPLICATIONS_PER_CUSTOMER);
315 if (is_null($data)) {
318 $this->maxApplicationsPerCustomer = (int) $data;
332 if (is_null($this->groups)) {
334 $data = $this->
raw(self::FIELD_GROUPS);
335 if (is_null($data)) {
338 $this->groups = $data;
352 if (is_null($this->validFrom)) {
354 $data = $this->
raw(self::FIELD_VALID_FROM);
355 if (is_null($data)) {
359 if (
false === $data) {
362 $this->validFrom = $data;
376 if (is_null($this->validUntil)) {
378 $data = $this->
raw(self::FIELD_VALID_UNTIL);
379 if (is_null($data)) {
383 if (
false === $data) {
386 $this->validUntil = $data;
400 if (is_null($this->custom)) {
402 $data = $this->
raw(self::FIELD_CUSTOM);
403 if (is_null($data)) {
519 #[\ReturnTypeWillChange]
530 return (
object) $data;