net.sf.jasperreports.export

## Interface Exporter<I extends ExporterInput,IC extends ReportExportConfiguration,C extends ExporterConfiguration,O extends ExporterOutput>

- All Known Subinterfaces:
    JRExporter<I,IC,C,O>
  All Known Implementing Classes:
    AbstractHtmlExporter, HtmlExporter, JExcelApiExporter, JExcelApiMetadataExporter, JRAbstractCsvExporter, JRAbstractExporter, JRCsvExporter, JRCsvMetadataExporter, JRDocxExporter, JRGraphics2DExporter, JRHtmlExporter, JROdsExporter, JROdtExporter, JRPdfExporter, JRPptxExporter, JRPrintServiceExporter, JRRtfExporter, JRTextExporter, JRXhtmlExporter, JRXlsAbstractExporter, JRXlsAbstractMetadataExporter, JRXlsExporter, JRXlsMetadataExporter, JRXlsxExporter, JRXml4SwfExporter, JRXmlExporter, JsonExporter

      public interface Exporter<I extends ExporterInput,IC extends ReportExportConfiguration,C extends ExporterConfiguration,O extends ExporterOutput>

  All document exporting in JasperReports is done through this interface. There is an implementation of this interface for every document format that JasperReports supports at the moment.

  Export customization is realized by setting an ExporterConfiguration instance on the exporter and/or provide an instance of the same ExporterConfiguration interface for each item to be exported in batch mode using `ExporterInputItem.getConfiguration()`.

  An important aspect is the output type of each exporter. There are three types of exporters depending on the type of output they produce:

  - exporters that export to text or character based file formats (HTML, RTF, CSV, TXT, XML exporters);
  - exporters that export to binary file formats (PDF and XLS exporters)
  - exporters that export directly to graphic devices (Graphics2D and Java Print Service exporters)

  All existing exporters fall into two categories depending on the way the content of the documents they produce could be structured:

  - there are the exporters which target document formats which support free-form page content. These are the Grapchis2D, PDF, RTF and XML exporters.
  - the second category of exporters groups those exporters that target document formats which only support relative positioning of elements on a page or a grid-based layout. In this category we have the HTML, XLS and CSV exporters.
  Version:
    $Id: Exporter.java 6805 2014-01-10 12:42:19Z teodord $
  Author:
    Teodor Danciu (teodord@users.sourceforge.net)

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `exportReport()` Performs the export.
    `ReportContext` | `getReportContext()`
    `void` | `setConfiguration(C configuration)`
    `void` | `setConfiguration(IC configuration)`
    `void` | `setExporterInput(I input)` Provides the input for this exporter.
    `void` | `setExporterOutput(O output)` Provides the output for this exporter.
    `void` | `setReportContext(ReportContext reportContext)`

- - ### Method Detail

    - #### setExporterInput

          void setExporterInput(I input)

      Provides the input for this exporter.

    - #### setExporterOutput

          void setExporterOutput(O output)

      Provides the output for this exporter.

    - #### setConfiguration

          void setConfiguration(IC configuration)

    - #### setConfiguration

          void setConfiguration(C configuration)

    - #### setReportContext

          void setReportContext(ReportContext reportContext)

    - #### getReportContext

          ReportContext getReportContext()

    - #### exportReport

          void exportReport()
                            throws JRException

      Performs the export.
      Throws:
        `JRException`

© 2001-2010 Jaspersoft Corporation www.jaspersoft.com