protected function fillResultMap($resultMapName, $row, $parentGroup = null, &$resultObject = null)
{
$resultMap = $this->getManager()->getResultMap($resultMapName);
$registry = $this->getManager()->getTypeHandlers();
$resultMap = $resultMap->resolveSubMap($registry, $row);
if ($resultObject === null) {
$resultObject = $resultMap->createInstanceOfResult($registry);
}
if (is_object($resultObject)) {
if (strlen($resultMap->getGroupBy()) > 0) {
return $this->addResultMapGroupBy($resultMap, $row, $parentGroup, $resultObject);
} else {
foreach ($resultMap->getColumns() as $property) {
$this->setObjectProperty($resultMap, $property, $row, $resultObject);
}
}
} else {
$resultObject = $this->fillDefaultResultMap($resultMap, $row, $resultObject);
}
return $resultObject;
}