public function checkValidity($data, $omitMandatoryCheck = false)
{
if (!$omitMandatoryCheck and $this->getMandatory() and empty($data)) {
throw new Element\ValidationException("Empty mandatory field [ " . $this->getName() . " ]");
}
if (is_array($data)) {
foreach ($data as $elementMetadata) {
if (!$elementMetadata instanceof Object\Data\ElementMetadata) {
throw new Element\ValidationException("Expected Object\\Data\\ElementMetadata");
}
$d = $elementMetadata->getElement();
if ($d instanceof Document) {
$allow = $this->allowDocumentRelation($d);
} elseif ($d instanceof Asset) {
$allow = $this->allowAssetRelation($d);
} elseif ($d instanceof Object\AbstractObject) {
$allow = $this->allowObjectRelation($d);
} elseif (empty($d)) {
$allow = true;
} else {
$allow = false;
}
if (!$allow) {
throw new Element\ValidationException("Invalid multihref relation", null, null);
}
}
}
}