1 /**
2 *
3 */
4 package ar.com.jiji.kaya.reports;
5
6 import java.util.List;
7
8 import net.sf.jasperreports.engine.JRDataSource;
9
10 /**
11 * @author lparra * TODO: documentar y hacer tests
12 *
13 *
14 */
15 public interface ReportDSFactory {
16 /**
17 * Crea un data source para Jasper usando los datos del reporte. Se llama a
18 * <code>getDataSource(List, null)</code>.
19 *
20 * @throws ReportException
21 * @see #getDataSource(List, String[])
22 */
23 JRDataSource getDataSource(List data) throws ReportException;
24
25 /**
26 * Crea un data source para Jasper usando los datos del reporte.
27 *
28 * @param data
29 * Los datos del reporte. Puede ser null.
30 * @param colNames
31 * Los nombres de las columnas (solo es necesario cuando cada
32 * elemento es un arreglo).
33 * @return TODO ver como desacoplarlo de Jasper
34 * @throws ReportException
35 */
36 JRDataSource getDataSource(List data, String[] colNames)
37 throws ReportException;
38 }