3declare(strict_types=1);
165 if (is_null($this->key)) {
167 $data = $this->
raw(self::FIELD_KEY);
168 if (is_null($data)) {
171 $this->key = (string) $data;
186 if (is_null($this->sku)) {
188 $data = $this->
raw(self::FIELD_SKU);
189 if (is_null($data)) {
192 $this->sku = (string) $data;
207 if (is_null($this->value)) {
209 $data = $this->
raw(self::FIELD_VALUE);
210 if (is_null($data)) {
214 $this->value = MoneyModel::of($data);
228 if (is_null($this->country)) {
230 $data = $this->
raw(self::FIELD_COUNTRY);
231 if (is_null($data)) {
234 $this->country = (string) $data;
248 if (is_null($this->customerGroup)) {
250 $data = $this->
raw(self::FIELD_CUSTOMER_GROUP);
251 if (is_null($data)) {
255 $this->customerGroup = CustomerGroupResourceIdentifierModel::of($data);
270 if (is_null($this->channel)) {
272 $data = $this->
raw(self::FIELD_CHANNEL);
273 if (is_null($data)) {
277 $this->channel = ChannelResourceIdentifierModel::of($data);
291 if (is_null($this->validFrom)) {
293 $data = $this->
raw(self::FIELD_VALID_FROM);
294 if (is_null($data)) {
297 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
298 if (
false === $data) {
301 $this->validFrom = $data;
315 if (is_null($this->validUntil)) {
317 $data = $this->
raw(self::FIELD_VALID_UNTIL);
318 if (is_null($data)) {
321 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
322 if (
false === $data) {
325 $this->validUntil = $data;
340 if (is_null($this->tiers)) {
342 $data = $this->
raw(self::FIELD_TIERS);
343 if (is_null($data)) {
346 $this->tiers = PriceTierDraftCollection::fromArray($data);
360 if (is_null($this->discounted)) {
362 $data = $this->
raw(self::FIELD_DISCOUNTED);
363 if (is_null($data)) {
367 $this->discounted = DiscountedPriceDraftModel::of($data);
381 if (is_null($this->custom)) {
383 $data = $this->
raw(self::FIELD_CUSTOM);
384 if (is_null($data)) {
388 $this->custom = CustomFieldsDraftModel::of($data);
402 if (is_null($this->recurrencePolicy)) {
404 $data = $this->
raw(self::FIELD_RECURRENCE_POLICY);
405 if (is_null($data)) {
409 $this->recurrencePolicy = RecurrencePolicyResourceIdentifierModel::of($data);
423 if (is_null($this->staged)) {
425 $data = $this->
raw(self::FIELD_STAGED);
426 if (is_null($data)) {
444 if (is_null($this->active)) {
446 $data = $this->
raw(self::FIELD_ACTIVE);
447 if (is_null($data)) {
450 $this->active = (bool) $data;
570 #[\ReturnTypeWillChange]
581 return (
object) $data;