* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Core\Domain\Feature\Command; use PrestaShop\PrestaShop\Core\Domain\Feature\Exception\FeatureConstraintException; use PrestaShop\PrestaShop\Core\Domain\Feature\ValueObject\FeatureId; /** * Edit feature with given data. */ class EditFeatureCommand { /** * @var FeatureId */ private $featureId; /** * @var string[] */ private $localizedNames; /** * @var int[] */ private $associatedShopIds; /** * @param int $featureId */ public function __construct($featureId) { $this->featureId = new FeatureId($featureId); } /** * @return FeatureId */ public function getFeatureId() { return $this->featureId; } /** * @return string[]|null */ public function getLocalizedNames() { return $this->localizedNames; } /** * @param string[] $localizedNames * * @return EditFeatureCommand */ public function setLocalizedNames(array $localizedNames) { if (empty($localizedNames)) { throw new FeatureConstraintException('Feature name cannot be empty', FeatureConstraintException::EMPTY_NAME); } $this->localizedNames = $localizedNames; return $this; } /** * @return int[]|null */ public function getAssociatedShopIds() { return $this->associatedShopIds; } /** * @param int[] $associatedShopIds * * @return EditFeatureCommand */ public function setAssociatedShopIds($associatedShopIds) { $this->associatedShopIds = $associatedShopIds; return $this; } }