Interface JRReport<R>

Type Parameters:
R - the type this report produces when filled
All Superinterfaces:
Report<net.sf.jasperreports.engine.JasperReport,Map<String,Object>,R>

public interface JRReport<R> extends Report<net.sf.jasperreports.engine.JasperReport,Map<String,Object>,R>
A JasperReport, producing a result of type R when filled.

Identified by a plain ReportType, created via ReportType.reportType(String), since a report type names a report and says nothing of the engine backing it:

 ReportType<Map<String, Object>, JasperPrint> REPORT = reportType("customer_report");

 add(REPORT, classPathReport(Store.class, "customer_report.jasper"));

Filling produces a JasperPrint unless an export is applied via JasperReports.export(JRReport, JRExport), in which case the report produces whatever that export produces, a PDF for example, in which case the client never sees a JasperReports type:

 ReportType<Map<String, Object>, byte[]> REPORT = reportType("customer_report");

 add(REPORT, export(classPathReport(Store.class, "customer_report.jasper"), PDF));
See Also: