/** * Primerio oter todos os atributos da classe de forma automática; * Depois, obter todos atributos que possuem annotações que serão utilizadas; * Estes atributos serão gerados na grid. * * @param \Dataware\Entity\Grid $grid */ private function makeGridColumnsByEntity(Grid $grid) { if (strlen($grid->getEntity()) > 0) { $annotationBuilder = new AnnotationBuilder(); $formEspecification = $annotationBuilder->getFormSpecification($grid->getEntity()); foreach ($formEspecification['elements'] as $element) { if (strlen($element['spec']['options']['label']) > 0) { // É possível a partir do tipo, conseguir descobrir o alinhamento dos registros. $gridColumn = new GridColumn($element['spec']['name'], $element['spec']['options']['label']); $grid->addColumn($gridColumn); } } } }