public function decode(\blaze\web\application\BlazeContext $context, \blaze\web\component\UIComponent $component) { $value = $component->getValue(); if ($value != null) { if ($component->getRowIdentifier() === null) { $rowId = 0; } $found = false; foreach ($value as $tableEntry) { if ($component->getRowIdentifier() !== null) { $component->setRowId($tableEntry->getClass()->getMethod('get' . ucfirst($component->getRowIdentifier()))->invoke($tableEntry)); } $context->getELContext()->getContext(\blaze\web\el\ELContext::SCOPE_REQUEST)->set($context, $component->getRowVar(), $tableEntry); $found = $this->decodeTableRow($context, $component, $found); if ($component->getRowIdentifier() === null) { $component->setRowId($rowId++); } } $component->setRowId(-1); } }