Interface ImmediateDownloadExporter

All Superinterfaces:
Plugin
All Known Implementing Classes:
AbstractExporterPlugin, BaseFileExporterPlugin, GalExporter, HelpExporter, PackedFileExporter, PlateMappingExporter, PluginConfigurationExporter, SimpleExport

public interface ImmediateDownloadExporter
extends Plugin
This interface should be implemented by export plugins that supports immediate download to the client application.

The plugin will be loaded and initialised normally and a job configuration sequence is started by a call to InteractivePlugin.configure(GuiContext, Request, Response). When the configuration is complete the plugin may respond with a Response.setDownloadImmediately(String, Job.ExecutionTime, boolean) instead of a Response.setDone(String, Job.ExecutionTime). This will prevent the core from saving a job in the job queue. Instead it will call the doExport(ExportOutputStream, ProgressReporter) method to let the plugin generate it's output. The Plugin.run(Request, Response, ProgressReporter) method is never called.

Note that this feature requires that the plugin is executed in the same virtual machine and prevents the use of job agents. Plugins should not use immediate export if they use a lot of memory, requires long running times or consumes other resources that may cause problems for other code.

Version:
2.2
Author:
Nicklas
Last modified
$Date: 2008-09-11 22:09:17 +0200 (to, 11 sep 2008) $
  • Method Details

    • doExport

      void doExport​(ExportOutputStream out, ProgressReporter progress) throws IOException
      Perform the export.
      Parameters:
      out - The output stream that the exported data should be written to
      progress - An optional progress reporter, may be null
      Throws:
      IOException - If there is an error writing to the export stream