setValues($values); } /** * @inheritDoc */ public function parseValue ($arg) { if(!in_array($arg, $this->_values)) throw new RangeException('La valeur ne fait partie de liste des valeurs autorisées (' . implode(', ', $this->getValues()) . ') : ' . $arg); return $arg; } /** * @inheritDoc */ public function getValueDescription () { return 'enum('.implode(',', $this->getValues()).')'; } /** * La liste des valeurs autoriséees. * * @return string[] La liste des valeurs * * @see $_values */ public function getValues() { return $this->_values; } /** * Définit la liste des valeurs autorisées. * * @param string[] $values La liste des valeurs * * @return $this * @see $_values */ public function setValues($values) { if(!is_array($values)) throw new InvalidArgumentException('La liste de valeurs n\'est pas un tableau'); if(count($values) == 0) throw new InvalidArgumentException('La liste de valeurs doit avoir au moins un élément'); $this->_values = $values; return $this; } }