3declare(strict_types=1);
164 if (is_null($this->key)) {
166 $data = $this->
raw(self::FIELD_KEY);
167 if (is_null($data)) {
170 $this->key = (string) $data;
185 if (is_null($this->sku)) {
187 $data = $this->
raw(self::FIELD_SKU);
188 if (is_null($data)) {
191 $this->sku = (string) $data;
206 if (is_null($this->value)) {
208 $data = $this->
raw(self::FIELD_VALUE);
209 if (is_null($data)) {
213 $this->value = MoneyModel::of($data);
227 if (is_null($this->country)) {
229 $data = $this->
raw(self::FIELD_COUNTRY);
230 if (is_null($data)) {
233 $this->country = (string) $data;
247 if (is_null($this->customerGroup)) {
249 $data = $this->
raw(self::FIELD_CUSTOMER_GROUP);
250 if (is_null($data)) {
254 $this->customerGroup = CustomerGroupResourceIdentifierModel::of($data);
268 if (is_null($this->channel)) {
270 $data = $this->
raw(self::FIELD_CHANNEL);
271 if (is_null($data)) {
275 $this->channel = ChannelResourceIdentifierModel::of($data);
289 if (is_null($this->validFrom)) {
291 $data = $this->
raw(self::FIELD_VALID_FROM);
292 if (is_null($data)) {
295 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
296 if (
false === $data) {
299 $this->validFrom = $data;
313 if (is_null($this->validUntil)) {
315 $data = $this->
raw(self::FIELD_VALID_UNTIL);
316 if (is_null($data)) {
319 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
320 if (
false === $data) {
323 $this->validUntil = $data;
338 if (is_null($this->tiers)) {
340 $data = $this->
raw(self::FIELD_TIERS);
341 if (is_null($data)) {
344 $this->tiers = PriceTierDraftCollection::fromArray($data);
358 if (is_null($this->discounted)) {
360 $data = $this->
raw(self::FIELD_DISCOUNTED);
361 if (is_null($data)) {
365 $this->discounted = DiscountedPriceDraftModel::of($data);
379 if (is_null($this->custom)) {
381 $data = $this->
raw(self::FIELD_CUSTOM);
382 if (is_null($data)) {
386 $this->custom = CustomFieldsDraftModel::of($data);
400 if (is_null($this->recurrencePolicy)) {
402 $data = $this->
raw(self::FIELD_RECURRENCE_POLICY);
403 if (is_null($data)) {
407 $this->recurrencePolicy = RecurrencePolicyResourceIdentifierModel::of($data);
421 if (is_null($this->staged)) {
423 $data = $this->
raw(self::FIELD_STAGED);
424 if (is_null($data)) {
442 if (is_null($this->active)) {
444 $data = $this->
raw(self::FIELD_ACTIVE);
445 if (is_null($data)) {
448 $this->active = (bool) $data;
568 #[\ReturnTypeWillChange]
579 return (
object) $data;