setOptional($optional); } /** * Définit si l'argument est facultatif ou non. * * @param bool $optional Argument facultatif ? * * @return $this */ public function setOptional ($optional = false) { $this->setOccurMin($optional ? 0 : 1); return $this; } /** * @inheritDoc */ public function getOccurMin () { return $this->_occurMin; } /** * Définit le nombre minimum d'occurence. * * @param int $occurMin Le nombre minimum * * @return $this * @see $_occurMin */ public function setOccurMin ($occurMin) { if (!is_numeric($occurMin)) { throw new InvalidArgumentException('Le nombre minimum d\'ocurrence n\'est pas un entier'); } if (floor($occurMin) != $occurMin) { throw new InvalidArgumentException('Le nombre minimum d\'ocurrence n\'est pas un entier'); } $int = (int)$occurMin; if ($int < 0) { throw new InvalidArgumentException('Le nombre minimum d\'ocurrence n\'est pas un entier positif'); } $this->_occurMin = $int; return $this; } /** * @inheritDoc */ public function getOccurMax () { return $this->_occurMax; } /** * Définit le nombre mawimum d'occurence. * * @param int|null $occurMax Le nombre maximum * * @return $this * @see $_occurMax */ public function setOccurMax ($occurMax) { if (!is_null($occurMax)) { if (!is_numeric($occurMax)) { throw new InvalidArgumentException('Le nombre maximum d\'ocurrence n\'est pas un entier'); } if (floor($occurMax) != $occurMax) { throw new InvalidArgumentException('Le nombre maximum d\'ocurrence n\'est pas un entier'); } $occurMax = (int)$occurMax; if ($occurMax <= 0) { throw new InvalidArgumentException('Le nombre maximum d\'ocurrence n\'est pas un entier strictement positif'); } } $this->_occurMax = $occurMax; return $this; } }