public function __construct(array $values)
{
if (!isset($values['type'])) {
throw new \InvalidArgumentException('Validate annotations must be given a validator type.', 1318494791);
}
$this->type = $values['type'];
if (isset($values['options']) && is_array($values['options'])) {
$this->options = $values['options'];
}
if (isset($values['value']) || isset($values['argumentName'])) {
$this->argumentName = ltrim(isset($values['argumentName']) ? $values['argumentName'] : $values['value'], '$');
}
if (isset($values['validationGroups']) && is_array($values['validationGroups'])) {
$this->validationGroups = $values['validationGroups'];
}
}