* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ declare(strict_types=1); namespace PrestaShop\PrestaShop\Core\Domain\Zone\Command; use PrestaShop\PrestaShop\Core\Domain\Zone\ValueObject\ZoneId; /** * Command that edits zone */ class EditZoneCommand { /** * @var ZoneId */ private $zoneId; /** * @var string */ private $name; /** * @var bool */ private $enabled; /** * @var array|null */ private $shopAssociation; /** * @param int $zoneId */ public function __construct(int $zoneId) { $this->zoneId = new ZoneId($zoneId); } /** * @return ZoneId */ public function getZoneId(): ZoneId { return $this->zoneId; } /** * @return string */ public function getName(): string { return $this->name; } /** * @param string $name * * @return self */ public function setName(string $name): self { $this->name = $name; return $this; } /** * @return bool */ public function isEnabled(): bool { return $this->enabled; } /** * @param bool $enabled * * @return self */ public function setEnabled(bool $enabled): self { $this->enabled = $enabled; return $this; } /** * @return array|null */ public function getShopAssociation(): ?array { return $this->shopAssociation; } /** * @param array|null $shopAssociation * * @return self */ public function setShopAssociation(?array $shopAssociation): self { $this->shopAssociation = $shopAssociation; return $this; } }