Ajuda com iReport

Olá pessoa !!!

Bom é o seguinte, eu estou usando o iReport para gerar relatorios e esta funcionando normalmente passando uma query dentro do ireport, como faço para gerar um relatorio sem passar a query dentro do ireport e sim pegar ela de uma classe que contem um por exemplo metodo consultar();

obrigado desde já

e vou passar meu codigo que esta funcionando aki para quem precisar…

public void report(HttpServletRequest request, HttpServletResponse response)
throws Exception{
Connection conn = ServiceLocator.getConnectionOracle();
CadastroTO cadTO = new CadastroTO();
try{
ServletContext context = getServletContext();

	byte[] bytes = null;
    JasperReport relatorioJasper = (JasperReport)JRLoader.loadObject(
            context.getRealPath("/WEB-INF/report/cadastro.jasper"));
    
    cadTO.setNome(request.getParameter("nome"));

// inclui parâmetros (se houverem)
Map parametros = new HashMap();
// parametros.put(“pageRoot”, context.getRealPath("/"));
parametros.put(“nome”, cadTO.getNome());

    bytes = JasperRunManager.runReportToPdf(relatorioJasper,parametros,conn);
    if (bytes != null && bytes.length > 0) {
    	//
        // envia o relatório em formato PDF para o browser
        response.setContentType("application/pdf");
        response.setContentLength(bytes.length);
        ServletOutputStream ouputStream = response.getOutputStream();
        ouputStream.write(bytes, 0, bytes.length);
        ouputStream.flush();
        ouputStream.close();
    }
    
    
}catch(Exception e ){
	
}

}

Você vai ter que criar um objeto da classe JRResultSetDataSource, essa classe herda da classe ResultSet, ou seja, você pode atribuir a esse objeto o resultado de uma query sua do tipo ResultSet e passar para o jasper.
Tipo assim:

JRResultSetDataSource jRs = new JRResultSetDataSource(objetoDaSuaQuery);

Espero ter ajudado!

Falou!