2.17.2: 2011-06-17

net.sf.basedb.core.plugin
Interface ImmediateDownloadExporter

All Superinterfaces:
Plugin
All Known Implementing Classes:
AbstractExporterPlugin, BaseFileExporterPlugin, BioAssaySetExporter, 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 (Thu, 11 Sep 2008) $

Nested Class Summary
 
Nested classes/interfaces inherited from interface net.sf.basedb.core.plugin.Plugin
Plugin.MainType
 
Method Summary
 void doExport(ExportOutputStream out, ProgressReporter progress)
          Perform the export.
 
Methods inherited from interface net.sf.basedb.core.plugin.Plugin
done, getAbout, getMainType, getPermissions, init, requiresConfiguration, run, supportsConfigurations
 

Method Detail

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

2.17.2: 2011-06-17