Como retornar os todos os gets de um objeto

Pessoal no codigo abaixo deixei comentado as linhas em que o programa funciona normalmente, ou seja gera as celulas no arquivo excel.
Mas estou tentando deixar o codigo mais pratico sem ter que entrar celula a celula.
Gostaria de saber se tem como pegar os gets dentro do laço for.
Retornar todos os gets de uma só vez.
objTipo.getCodigo(), objTipo.getTipo() e objTipo.getStatus();

int r = 1;

 for(Tipo objTipo : lstTipos){

                    Row row = sheet.createRow(r++);
                    
//                    //codigo
//                    Cell cellCodigo = row.createCell(0);
//                    cellCodigo.setCellValue(objTipo.getCodigo());
//
//                    //nome
//                    Cell cellTipo = row.createCell(1);
//                    cellTipo.setCellValue(objTipo.getTipo());
//
//                    //secao
//                    Cell cellStatus = row.createCell(2);
//                    cellStatus.setCellValue(objTipo.getStatus());
                    
                      for(int i=0; i < qdeCampos; i++){
                          Cell cell = row.createCell(i);
                          cell.setCellValue(objTipo.getTipo());
                      }

                    r++;
              }

Quanto ao excel, não tenho idéia.

Quanto ao título do tópico:

Como retornar os todos os gets de um objeto

Tem este exemplo:

public class Encadear {

    private int num = 5;
    private String txt = "texto";
    private boolean teste = true;

    public int getNum() {
        return num;
    }

    public String getTxt() {
        return txt;
    }

    public boolean isTeste() {
        return teste;
    }
    //pegando todas as SAÍDAS dos processamentos realizados por todos os getters
    public Object[] allGetters() {
        return new Object[]{getNum(), getTxt(), isTeste()};
    }

    //Considero este método mais adequado, pois talvez não seja interessante pegar tudo, apenas parte dos atributos
    public Object[] allNecessary() {
        return new Object[]{num, teste};
    }

    public static void main(String[] args) {
        Object[] objetos = new Encadear().allGetters();
        System.out.println(objetos[0] + " " + objetos[1] + " " + objetos[2]);
        System.out.println((int) objetos[0] * 2);
    }
}
  • Vc pode criar uma espécie de “Result” em que armazena as informações num objeto, como no exemplo de @addller

  • Usar um método para criar as células (Recomendo!!!)

      public static void preencherCelulas1(Row row, Tipo objTipo) {
      	// codigo
      	row.createCell(0).setCellValue(objTipo.getCodigo());
    
      	// nome
      	row.createCell(1).setCellValue(objTipo.getTipo());
    
      	// secao
      	row.createCell(2).setCellValue(objTipo.getStatus());
      } 
    
  • Usar uma lista de funções e executar uma a uma num método (não recomendo, mas acho interessante)

      private static final Function<Tipo, Object> GET_CODIGO = Tipo::getCodigo;
      private static final Function<Tipo, Object> GET_TIPO = Tipo::getTipo;
      private static final Function<Tipo, Object> GET_STATUS = Tipo::getStatus;
    
      private static final List<Function<Tipo, Object>> FUNCTIONS_LIST = Arrays.asList(GET_CODIGO, GET_TIPO, GET_STATUS);
    
      public static void preencherCelulas2(Row row, Tipo objTipo) {
      	for (int i = 0; i < FUNCTIONS_LIST.size();i++) {
      		row.createCell(i).setCellValue(FUNCTIONS_LIST.get(i).apply(objTipo));
      	}
      }
    

Também não conheço essa ferramenta do excel, mas provavelmente seja mais prático assim mesmo, célula a célula

Obrigado amigos funcionou com a dica do addller e ficou assim
 Na classe do modelo ficou assim:

public Object[] allGetters() {
    return new Object[]{getCodigo(), getTipo(), getStatus()};
}


 private void GerarParaExcel() {
    //ESTE METODO FOI GERADO UTILIZANDO A BIBLIOTECA POI ONDE O MESMO ACESSA A BASE DE 
    //DADOS E GERA UM RELATORIO NO EXCEL
    String nomeCampo = null;`Texto pré-formatado`
    
    //recuperando a qde de colunas da tabela
    int qdeCampos = 0;
    qdeCampos     = umabiblio.retornaQdeColunasDaTabela("tbltipos");
    
    //recuperando os nomes das colunas da tabela
    ArrayList<String> lstNomesColunas = umabiblio.recuperarNomesColunas("tbltipos");
                  
    //selecionar o local para salvar o arquivo
    JFileChooser chooser = new JFileChooser();
    FileNameExtensionFilter filtro = new FileNameExtensionFilter("Arquivos de excel", "xls");
    chooser.setFileFilter(filtro);
    chooser.setDialogTitle("Salvar arquivo");
    chooser.setMultiSelectionEnabled(false);
           
    //se escolheu um local valido
    if(chooser.showSaveDialog(null)==JFileChooser.APPROVE_OPTION){
        //passando o caminho completo do nome do arquivo a ser gerado
        String nomeArquivo = chooser.getSelectedFile().toString().concat(".xls");
        
        try 
        {  
            List<Tipo> lstTipos = tipoDAO.gerarListaTiposSQL(sqlDefault);                
            
            //criando o cabecalho
            HSSFWorkbook workbook   = new HSSFWorkbook();
            HSSFSheet sheet         = workbook.createSheet("Lista de Tipos"); //nome da aba a ser cridada
            Row cabecalho           = sheet.createRow(0);
            
            for(int i=0; i < qdeCampos; i++){
                //passando os nomes das colunas para o cabeçalho atraves dos nomes retornados pelo array
                nomeCampo = lstNomesColunas.get(i);
                cabecalho.createCell(i).setCellValue(nomeCampo);                                        
                
                //formatando o cabeçalho
                HSSFCellStyle estiloCabecalho = workbook.createCellStyle();
                HSSFFont font = workbook.createFont();
                font.setFontName(HSSFFont.FONT_ARIAL);
                font.setFontHeightInPoints((short)10);
                estiloCabecalho.setFont(font);
                estiloCabecalho.setVerticalAlignment(HSSFCellStyle.ALIGN_CENTER);
                cabecalho.getCell(i).setCellStyle(estiloCabecalho);
               
            }
            
            
        //para começar na segunda linha depois do cabecalho
        int r = 1;
        
            //iterando a lista e criando as celulas o arquivo excel
            for(Tipo objTipo : lstTipos){
                  
                  for(int i=0; i < qdeCampos; i++){
                      //allGetters foi criado no modelo da classe Tipo para que sejam gerados todos os gets de todos os atributos como acima
                      Object[] objetos = objTipo.allGetters();   
                      Cell cell = row.createCell(i);
                      cell.setCellValue((String) objetos[i].toString());                           
                  }

                r++;
          
        
            for(int i=0; i < qdeCampos; i++){
                //tamanho das celulas automaticas     
                sheet.autoSizeColumn(i);
            }
           
        }
        
        //salvar o arquivo excel
        FileOutputStream out = new FileOutputStream(new File(nomeArquivo));
        workbook.write(out);
        out.close();
        JOptionPane.showMessageDialog(null, "Arquivo Excel gerado com sucesso!");

        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        }
    }
}