Package project35.soa.plugins

This package contains all the classes that are needed for developers to extend the system with their own plugins.

See:
          Description

Interface Summary
AnalysisPlugin a marker interface to help identify a plugin as an Analysis plugin When Project35 registers plugins for the current record, it does a count of how many plugins are for analysis, validation, data input or data export
DataExportPlugin a marker interface to help identify a plugin as a Data Export plugin When Project35 registers plugins for the current record, it does a count of how many plugins are for analysis, validation, data input or data export
DataImportPlugin a marker interface to help identify a plugin as a Data Import plugin When Project35 registers plugins for the current record, it does a count of how many plugins are for analysis, validation, data input or data export
Project35Plugin the interface developers must implement if they want to make plugins for Project35
ValidationPlugin a marker interface to help identify a plugin as an Validation plugin When Project35 registers plugins for the current record, it does a count of how many plugins are for analysis, validation, data input or data export
 

Class Summary
AbstractProject35Plugin Copyright (c) 2008 Kevin Garwood for Project35.
PluginFactory creates instances of plugins.
PluginFileFilter This class is used by the PluginLoader to show only *.plugins files
PluginLoader class responsible for scanning a library directory for *.plugin jar files, identifying those which implement project35.soa.plugins, and instantiating them as part of a list of plugins known by the system
PluginManager determines what plugins are appropriate to associate with the currently displayed record
PluginSelectionDialog a dialog which presents a list of plugins to the end-users
StubbedProject35Plugin Copyright (c) 2008 Kevin Garwood for Project35.
 

Package project35.soa.plugins Description

This package contains all the classes that are needed for developers to extend the system with their own plugins. Project35Plugin is the main interface that developers must use if they are making their own plugins. The class implementing Project35Plugin can also implement a number of marker interfaces such as DataExportPlugin, DataImportPlugin, ValidationPlugin and AnalysisPlugin. When Project35 registers plugins, for the current form, it shows a count of import, export and analysis plugins on the status bar.

At startup, Project35 uses PluginFileFilter to identify JAR files that end in the *.plugins extension. The PluginLoader examines each Java class in these jar files to determine whether they implement the Project35Plugin interface and other marker interfaces. It also determines whether a plugin can be applied to the current record type being displayed.

If the currently displayed record has plugins associated with it, Project35 renders a button in the top right corner of the form. If a field is associated with plugins, the tool renders the same kind of button at the end of the form field. When end-users press the button, an instance of PluginSelectionDialog appears. The dialog presents the end-users with a list of the available plugins.