public class CustomTableModel2 extends AbstractTableModel{
privateString[]columnNames;privateObject[][]data;privateCaixacaixa=null;publicCustomTableModel2(BigDecimalempresaId)throwsException{VectorvCaixa=Caixa.recuperaCaixasPorEmpresa(empresaId);caixa=newCaixa();ClassclassCaixa=caixa.getClass();Field[]camposCaixa=classCaixa.getDeclaredFields();columnNames=newString[camposCaixa.length];for(inti=0;i<camposCaixa.length;i++){columnNames[i]=camposCaixa[i].getName();}data=newObject[vCaixa.size()][columnNames.length];for(inti=0;i<vCaixa.size();i++){caixa=(Caixa)vCaixa.elementAt(i);for(intj=0;j<columnNames.length;j++){Methodg=caixa.getClass().getMethod(this.buildGetMethodName(camposCaixa[j].getName()),null);//if (g.equals()) // NÃO ESTOU CONSEGUINDDO SAIR DAQUI.data[i][j]=caixa.getCaixaId();data[i][5]=caixa.getDescricao();}}}privateStringbuildGetMethodName(StringattrName){return"get"+attrName.substring(0,1).toUpperCase()+attrName.substring(1,attrName.length());}publicintgetColumnCount(){returnthis.columnNames.length;}publicStringgetColumnName(intcolumnIndex){returnthis.columnNames[columnIndex];}publicintgetRowCount(){returnthis.data.length;}publicObjectgetValueAt(introwIndex,intcolumnIndex){returnthis.data[rowIndex][columnIndex];}