3 declare(strict_types=1);
28 use DateTimeImmutable;
140 if (is_null($this->key)) {
142 $data = $this->
raw(self::FIELD_KEY);
143 if (is_null($data)) {
146 $this->key = (string) $data;
160 if (is_null($this->sku)) {
162 $data = $this->
raw(self::FIELD_SKU);
163 if (is_null($data)) {
166 $this->sku = (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->customerGroup)) {
223 $data = $this->
raw(self::FIELD_CUSTOMER_GROUP);
224 if (is_null($data)) {
242 if (is_null($this->channel)) {
244 $data = $this->
raw(self::FIELD_CHANNEL);
245 if (is_null($data)) {
263 if (is_null($this->validFrom)) {
265 $data = $this->
raw(self::FIELD_VALID_FROM);
266 if (is_null($data)) {
270 if (
false === $data) {
273 $this->validFrom = $data;
287 if (is_null($this->validUntil)) {
289 $data = $this->
raw(self::FIELD_VALID_UNTIL);
290 if (is_null($data)) {
294 if (
false === $data) {
297 $this->validUntil = $data;
311 if (is_null($this->tiers)) {
313 $data = $this->
raw(self::FIELD_TIERS);
314 if (is_null($data)) {
331 if (is_null($this->discounted)) {
333 $data = $this->
raw(self::FIELD_DISCOUNTED);
334 if (is_null($data)) {
352 if (is_null($this->custom)) {
354 $data = $this->
raw(self::FIELD_CUSTOM);
355 if (is_null($data)) {
455 #[\ReturnTypeWillChange]
466 return (
object) $data;