3declare(strict_types=1);
134 private static $discriminatorClasses = [
135 'Company' => CompanyDraftModel::class,
136 'Division' => DivisionDraftModel::class,
147 ?
string $name =
null,
188 if (is_null($this->key)) {
190 $data = $this->
raw(self::FIELD_KEY);
191 if (is_null($data)) {
194 $this->key = (string) $data;
208 if (is_null($this->status)) {
210 $data = $this->
raw(self::FIELD_STATUS);
211 if (is_null($data)) {
214 $this->status = (string) $data;
231 if (is_null($this->stores)) {
233 $data = $this->
raw(self::FIELD_STORES);
234 if (is_null($data)) {
237 $this->stores = StoreResourceIdentifierCollection::fromArray($data);
252 if (is_null($this->storeMode)) {
254 $data = $this->
raw(self::FIELD_STORE_MODE);
255 if (is_null($data)) {
258 $this->storeMode = (string) $data;
272 if (is_null($this->unitType)) {
274 $data = $this->
raw(self::FIELD_UNIT_TYPE);
275 if (is_null($data)) {
278 $this->unitType = (string) $data;
292 if (is_null($this->name)) {
294 $data = $this->
raw(self::FIELD_NAME);
295 if (is_null($data)) {
298 $this->name = (string) $data;
312 if (is_null($this->contactEmail)) {
314 $data = $this->
raw(self::FIELD_CONTACT_EMAIL);
315 if (is_null($data)) {
318 $this->contactEmail = (string) $data;
333 if (is_null($this->associateMode)) {
335 $data = $this->
raw(self::FIELD_ASSOCIATE_MODE);
336 if (is_null($data)) {
339 $this->associateMode = (string) $data;
353 if (is_null($this->associates)) {
355 $data = $this->
raw(self::FIELD_ASSOCIATES);
356 if (is_null($data)) {
375 if (is_null($this->approvalRuleMode)) {
377 $data = $this->
raw(self::FIELD_APPROVAL_RULE_MODE);
378 if (is_null($data)) {
381 $this->approvalRuleMode = (string) $data;
395 if (is_null($this->addresses)) {
397 $data = $this->
raw(self::FIELD_ADDRESSES);
398 if (is_null($data)) {
401 $this->addresses = BaseAddressCollection::fromArray($data);
416 if (is_null($this->shippingAddresses)) {
418 $data = $this->
raw(self::FIELD_SHIPPING_ADDRESSES);
419 if (is_null($data)) {
422 $this->shippingAddresses = $data;
436 if (is_null($this->defaultShippingAddress)) {
438 $data = $this->
raw(self::FIELD_DEFAULT_SHIPPING_ADDRESS);
439 if (is_null($data)) {
442 $this->defaultShippingAddress = (int) $data;
457 if (is_null($this->billingAddresses)) {
459 $data = $this->
raw(self::FIELD_BILLING_ADDRESSES);
460 if (is_null($data)) {
463 $this->billingAddresses = $data;
477 if (is_null($this->defaultBillingAddress)) {
479 $data = $this->
raw(self::FIELD_DEFAULT_BILLING_ADDRESS);
480 if (is_null($data)) {
483 $this->defaultBillingAddress = (int) $data;
497 if (is_null($this->custom)) {
499 $data = $this->
raw(self::FIELD_CUSTOM);
500 if (is_null($data)) {
504 $this->custom = CustomFieldsDraftModel::of($data);
519 if (is_null($this->customerGroupAssignments)) {
521 $data = $this->
raw(self::FIELD_CUSTOMER_GROUP_ASSIGNMENTS);
522 if (is_null($data)) {
525 $this->customerGroupAssignments = CustomerGroupAssignmentDraftCollection::fromArray($data);
669 if (is_object($value) && isset($value->$fieldName)) {
671 $discriminatorValue = $value->$fieldName;
672 if (isset(self::$discriminatorClasses[$discriminatorValue])) {
673 return self::$discriminatorClasses[$discriminatorValue];
676 if (is_array($value) && isset($value[$fieldName])) {
678 $discriminatorValue = $value[$fieldName];
679 if (isset(self::$discriminatorClasses[$discriminatorValue])) {
680 return self::$discriminatorClasses[$discriminatorValue];
685 $type = BusinessUnitDraftModel::class;