All Superinterfaces:
IClusterable, Serializable
All Known Implementing Classes:
AbstractDataExporter, CSVDataExporter

public interface IDataExporter extends IClusterable
Exports data provided by a IDataProvider as described by IExportableColumns. This interface is used by ExportToolbar to provide the export functionality.
Author:
Jesse Long
See Also:
  • Method Details

    • getDataFormatNameModel

      Returns a model of the exported data format name. This should be something like "CSV" or "Excel" etc. The value of the model returned is displayed as the export type in the ExportToolbar.
      Returns:
      a model of the exported data format name.
    • getContentType

      Returns the MIME content type of the export data type. This could be something like "text/csv". This is used to provide the correct content type when downloading the exported data.
      Returns:
      the MIME content type of the export data type.
    • getFileNameExtension

      Returns the file name extensions for the exported data, without the ".". For CSV, this should be "csv". For Excel exports, this should be "xls".
      Returns:
      the file name extensions for the exported data, without the ".".
    • exportData

      <T> void exportData(IDataProvider<T> dataProvider, List<IExportableColumn<T,?>> columns, OutputStream outputStream) throws IOException
      Exports the data provided by the IDataProvider to the OutputStream.
      Type Parameters:
      T - The type of each row of data provided by the IDataProvider.
      Parameters:
      dataProvider - The IDataProvider from which to retrieve the data.
      columns - The IExportableColumn to use to describe the data.
      outputStream - The OutputStream to which to write the exported data.
      Throws:
      IOException - If an error occurs.