This package provides service classes and interface definitions for creating plugin extensions to YAAC.
A plugin consists of a JAR file containing:
- a class that is a subclass of the abstract
Providerclass in this package.
- a manifest file with the line:
- whatever other class files and resources are needed to implement the services defined
The Provider subclass can define the following extensions to be added to YAAC:
- code to be executed prior to loading the next plugin, which can also test whether current environment is acceptable (or not) for running the plugin.
- classnames defining new panels to add to the expert-mode configuration dialog (should the extensions in the plugin require user configuration).
- new drivers for different types of I/O devices (subclassing the abstract
- new menu actions to be inserted into the YAAC GUI menu hierarchy (subclassing the
- new contextually-conditional menu actions to be inserted into the map or table right-click popup menu
- new automated query handlers for query-format messages (with body text "
?xxxx") (subclassing the
- new JavaHelp help sets to be merged into the online help.
- new locales of ResourceBundles for the YAAC display strings.
- credits and attributions to be displayed in the About dialog.
- code to be executed after all plugins have been loaded to finish initializing the plugin.
Plugin JAR files will be scanned in file modification date order.
ClassDescriptionThis abstract class functions more or less the same as the javax.swing.AbstractAction class, but is not subclassed from that class, so that it can be used in non-Swing environments (such as Android).This interface defines an object associated with a specific
AbstractMenuActioninstance that wants to know about changes to the AbstractMenuAction's properties.This class defines the general contract for a popup menu action, using the same rules as for a menu bar action.This class defines some infrastructure for convenient creation of pluggable query handlers for YAAC.This interface defines a decision interface identifying AbstractMenuActions that should not go on the main window menu bar, but instead on a popup menu displayed because someone right-clicked on the map.This class defines (in a non-GUI-dependent way) an extra column of data for inclusion in the station/object list table view.This interface defines an object that can provide additional columns for table views in YAAC, in a GUI-platform-independent fashion.This interface specifies an object that wants to be informed when an ExtraColumnProvider modifies its list of custom columns in real-time.This interface defines the data for one of a sequential list of elements to render in a popup window for an
ExtraColumn.This enumeration identifies the different rendering types for a set of
ExtraContentElements obtained from an ExtraColumn object for a popup window.This enum defines content types for UI panels that can launch popup menus, to help popup menu actions decide whether they can be used in the launching context.This class defines the structure of a plugin extension's definition.This class describes the name and implementing Class of an interface port driver.This interface specifies how to generically get the identifier of a record within a record set, and and add, get, and remove extra data from the record.