To implement a Population plugin, you implement the Java interface com.treestar.lib.core.PopulationPluginInterface. This interface defines methods that allow your plugin to be represented as a ‘Plugin Node’ in the FlowJo workspace. The Plugin Node is shown as a row in the workspace’s Sample table, and like other nodes, can be double-clicked or dragged to other populations and windows. The class that implements PopulationPluginInterface should have a zero-argument constructor that FlowJo will use to instantiate the plugin object.
The methods required to implement the PopulationPluginInterface can broadly be categorized as those which are used for the user interface, those for calculating and returning results, and those for maintaining the state of the plugin.
Population Plugin Interface methods
// user interface methods String getName() Icon getIcon() boolean promptForOptions(SElement, List<String>) // calculation methods ExternalAlgorithmResults invokeAlgorithm(SElement, File, File) ExportFileTypes useExportFileType() List<String> getParameters() // state restoring methods SElement getElement() void setElement(SElement) String getVersion()