<?php namespace Xentral\Modules\AmazonVendorDF\Data; class Quantity { /** @var int */ private $amount; /** @var string */ private $unitOfMeasure; /** @var int */ private $unitSize; public function __construct(int $amount, string $unitOfMeasure = 'Each', ?int $unitSize = 1) { $this->amount = $amount; $this->unitOfMeasure = $unitOfMeasure; $this->unitSize = $unitSize; } public function getAmount(): int { return $this->amount; } public function getUnitOfMeasure(): string { return $this->unitOfMeasure; } public function getUnitSize(): int { return $this->unitSize; } public function toArray(): array { return [ 'amount' => $this->amount, 'unitOfMeasure' => $this->unitOfMeasure, 'unitSize' => $this->unitSize, ]; } public static function fromArray(array $data) { return new static( $data['amount'], $data['unitOfMeasure'], isset($data['unitSize']) ? $data['unitSize'] : null ); } }