Overview | Package | Class | Tree | Deprecated | Index | Help
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

## Package org.ka2ddo.yaac.pluginapi

This package provides service classes for creating plugin extensions to YAAC.

See:
Description

Interface Summary
AbstractMenuActionPropertyListener | This interface defines an object associated with an AbstractMenuAction that wants to know about changes to the AbstractMenuAction's properties.
AddToPopupMapMenuIfc | 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.

Class Summary
AbstractMenuAction | This 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).
AbstractPopupMenuAction | This class defines the general contract for a popup menu action, using the same rules as for a menu bar action.
AbstractQueryHandler | This class defines some infrastructure for convenient creation of pluggable query handlers for YAAC.
Provider | This class defines the structure of a plugin extension's definition.
Provider.PortEntry | This class describes the name and implementing Class of an interface port driver.

## Package org.ka2ddo.yaac.pluginapi Description

This package provides service classes for creating plugin extensions to YAAC.

A plugin consists of a JAR file containing:

1. a class that is a subclass of the abstract Provider class in this package.
2. a manifest file with the line:
   `YAAC-Provider: fully.qualified.provider.subclass.name`
3. whatever other class files and resources are needed to implement the services defined by the Provider subclass.

This JAR file should be placed in the YAAC installation directory's `plugins` subdirectory.

The Provider subclass can define the following extensions to be added to YAAC:

- code to be executed prior to loading the next 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 `PortConnector` class).
- new menu actions to be inserted into the YAAC GUI menu hierarchy (subclassing the `AbstractMenuAction` class).
- new contextually-conditional menu actions to be inserted into the map right-click popup menu (subclassing the `AbstractPopupMenuAction` class).
- new automated query handlers for query-format messages (with body text "`?xxxx`") (subclassing the `AbstractQueryHandler` class).
- 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.

If any extension is a duplicate of an extension defined by an earlier plugin (or the YAAC core software itself), such as an identically-named menu item, it will replace the earlier defined extension.

Plugin JAR files will be scanned in file modification date order.

See Also:
  `Provider`, `AbstractMenuAction`, `AbstractPopupMenuAction`, `AbstractQueryHandler`, `PortConnector`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES