3declare(strict_types=1);
135 if (is_null($this->key)) {
137 $data = $this->
raw(self::FIELD_KEY);
138 if (is_null($data)) {
141 $this->key = (string) $data;
156 if (is_null($this->value)) {
158 $data = $this->
raw(self::FIELD_VALUE);
159 if (is_null($data)) {
177 if (is_null($this->country)) {
179 $data = $this->
raw(self::FIELD_COUNTRY);
180 if (is_null($data)) {
183 $this->country = (string) $data;
197 if (is_null($this->customerGroup)) {
199 $data = $this->
raw(self::FIELD_CUSTOMER_GROUP);
200 if (is_null($data)) {
204 $this->customerGroup = CustomerGroupResourceIdentifierModel::of($data);
218 if (is_null($this->channel)) {
220 $data = $this->
raw(self::FIELD_CHANNEL);
221 if (is_null($data)) {
225 $this->channel = ChannelResourceIdentifierModel::of($data);
239 if (is_null($this->validFrom)) {
241 $data = $this->
raw(self::FIELD_VALID_FROM);
242 if (is_null($data)) {
245 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
246 if (
false === $data) {
249 $this->validFrom = $data;
263 if (is_null($this->validUntil)) {
265 $data = $this->
raw(self::FIELD_VALID_UNTIL);
266 if (is_null($data)) {
269 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
270 if (
false === $data) {
273 $this->validUntil = $data;
294 if (is_null($this->discounted)) {
296 $data = $this->
raw(self::FIELD_DISCOUNTED);
297 if (is_null($data)) {
316 if (is_null($this->tiers)) {
318 $data = $this->
raw(self::FIELD_TIERS);
319 if (is_null($data)) {
336 if (is_null($this->custom)) {
338 $data = $this->
raw(self::FIELD_CUSTOM);
339 if (is_null($data)) {
343 $this->custom = CustomFieldsDraftModel::of($data);
357 if (is_null($this->recurrencePolicy)) {
359 $data = $this->
raw(self::FIELD_RECURRENCE_POLICY);
360 if (is_null($data)) {
364 $this->recurrencePolicy = RecurrencePolicyResourceIdentifierModel::of($data);
460 #[\ReturnTypeWillChange]
471 return (
object) $data;