3 declare(strict_types=1);
32 use DateTimeImmutable;
160 if (is_null($this->key)) {
162 $data = $this->
raw(self::FIELD_KEY);
163 if (is_null($data)) {
166 $this->key = (string) $data;
180 if (is_null($this->value)) {
182 $data = $this->
raw(self::FIELD_VALUE);
183 if (is_null($data)) {
187 $this->value = $className::of($data);
201 if (is_null($this->country)) {
203 $data = $this->
raw(self::FIELD_COUNTRY);
204 if (is_null($data)) {
207 $this->country = (string) $data;
221 if (is_null($this->validFrom)) {
223 $data = $this->
raw(self::FIELD_VALID_FROM);
224 if (is_null($data)) {
228 if (
false === $data) {
231 $this->validFrom = $data;
245 if (is_null($this->validUntil)) {
247 $data = $this->
raw(self::FIELD_VALID_UNTIL);
248 if (is_null($data)) {
252 if (
false === $data) {
255 $this->validUntil = $data;
270 if (is_null($this->customerGroup)) {
272 $data = $this->
raw(self::FIELD_CUSTOMER_GROUP);
273 if (is_null($data)) {
292 if (is_null($this->channel)) {
294 $data = $this->
raw(self::FIELD_CHANNEL);
295 if (is_null($data)) {
313 if (is_null($this->discounted)) {
315 $data = $this->
raw(self::FIELD_DISCOUNTED);
316 if (is_null($data)) {
337 if (is_null($this->staged)) {
339 $data = $this->
raw(self::FIELD_STAGED);
340 if (is_null($data)) {
343 $this->staged = (bool) $data;
357 if (is_null($this->tiers)) {
359 $data = $this->
raw(self::FIELD_TIERS);
360 if (is_null($data)) {
377 if (is_null($this->custom)) {
379 $data = $this->
raw(self::FIELD_CUSTOM);
380 if (is_null($data)) {
400 if (is_null($this->productVariant)) {
402 $data = $this->
raw(self::FIELD_PRODUCT_VARIANT);
403 if (is_null($data)) {
423 if (is_null($this->product)) {
425 $data = $this->
raw(self::FIELD_PRODUCT);
426 if (is_null($data)) {
542 #[\ReturnTypeWillChange]
553 return (
object) $data;