Implements TypedDataInterface::setValue().
array $values: An array of property values.
Overrides TypedData::setValue
public function setValue($values) {
// Treat the values as property value of the first property, if no array is
// given and we only have one property.
if (!is_array($values) && count($this->properties) == 1) {
$keys = array_keys($this->properties);
$values = array(
$keys[0] => $values,
);
}
foreach ($this->properties as $name => $property) {
$property
->setValue(isset($values[$name]) ? $values[$name] : NULL);
}
// @todo: Throw an exception for invalid values once conversion is
// totally completed.
}