Plugin Development and Deployment
To write your plugin code, you will utilize the Java interfaces and classes that are defined in the fjlib.jar that is delivered with FlowJo. Using your favorite Java development environment, you will implement the PopulationPluginInterface or WorkspacePluginInterface, as well as utilize the ExternalAlgorithmResults and PluginHelper classes. Currently the FlowJo application uses Java 1.6, so your plugin code should be developed using the Java JDK 1.6. Once your code is developed, you will need to bundle all your modules and libraries into a single Java jar file. Be sure to export a regular jar file and not a running jar. This jar file is placed in a folder where FlowJo will discover and install your plugins when the application is started. The location of the plugin jar files folder can be specified through the FlowJo Preferences panel.
Once your plugins are discovered by the FlowJo application, you will be able to create your plugins through the FlowJo user interface. The plugin operations are visible in the Workspace ribbon under the Plugins menu. This menu will display a menu item for each population plugin, to allow the user to add a plugin node as a child of the selected population.
In addition, the Plugins menu provides a menu item to ‘Add Open/Save Plugin to Workspace’, which will display a list of available workspace plugins that can be added to the current FlowJo workspace.
When a workspace plugin is added to the current FlowJo workspace, an instance of your plugin is created and added to the workspace. When the workspace is saved, your plugin’s saveWorkspace method will be invoked.