3declare(strict_types=1);
130 if (is_null($this->value)) {
132 $data = $this->
raw(self::FIELD_VALUE);
133 if (is_null($data)) {
136 $className = TypedMoneyModel::resolveDiscriminatorClass($data);
137 $this->value = $className::of($data);
151 if (is_null($this->country)) {
153 $data = $this->
raw(self::FIELD_COUNTRY);
154 if (is_null($data)) {
157 $this->country = (string) $data;
171 if (is_null($this->customerGroup)) {
173 $data = $this->
raw(self::FIELD_CUSTOMER_GROUP);
174 if (is_null($data)) {
178 $this->customerGroup = CustomerGroupKeyReferenceModel::of($data);
192 if (is_null($this->channel)) {
194 $data = $this->
raw(self::FIELD_CHANNEL);
195 if (is_null($data)) {
199 $this->channel = ChannelKeyReferenceModel::of($data);
213 if (is_null($this->validFrom)) {
215 $data = $this->
raw(self::FIELD_VALID_FROM);
216 if (is_null($data)) {
219 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
220 if (
false === $data) {
223 $this->validFrom = $data;
237 if (is_null($this->validUntil)) {
239 $data = $this->
raw(self::FIELD_VALID_UNTIL);
240 if (is_null($data)) {
243 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
244 if (
false === $data) {
247 $this->validUntil = $data;
261 if (is_null($this->custom)) {
263 $data = $this->
raw(self::FIELD_CUSTOM);
264 if (is_null($data)) {
268 $this->custom = CustomModel::of($data);
282 if (is_null($this->discounted)) {
284 $data = $this->
raw(self::FIELD_DISCOUNTED);
285 if (is_null($data)) {
289 $this->discounted = DiscountedPriceModel::of($data);
303 if (is_null($this->tiers)) {
305 $data = $this->
raw(self::FIELD_TIERS);
306 if (is_null($data)) {
309 $this->tiers = PriceTierCollection::fromArray($data);
323 if (is_null($this->key)) {
325 $data = $this->
raw(self::FIELD_KEY);
326 if (is_null($data)) {
329 $this->key = (string) $data;
417 #[\ReturnTypeWillChange]
428 return (
object) $data;