org.argouml.application.api
Interface Pluggable

All Superinterfaces:
ArgoModule
All Known Subinterfaces:
PluggableAboutTab, PluggableCritic, PluggableDiagram, PluggableImport, PluggableMenu, PluggableModule, PluggableNotation, PluggableProjectReader, PluggableProjectWriter, PluggablePropertyPanel, PluggableResourceBundle, PluggableSettingsTab
All Known Implementing Classes:
ActionExportXMI, DiagramHelper, FileImportSupport, Generator, PropPanelModel, PropPanelSubsystem, ResourceBundleHelper, SettingsTabHelper

public interface Pluggable
extends ArgoModule

An interface which identifies an ArgoUML plug-in. Plug-ins are specific modules which are replacements or additions to standard Argo classes. Argo references the plug-in functionality through interfaces which define the features of each type of plug-in. This interface must be extended by another interface which is used to categorize the plugins. An example of this is the PluggableNotation interface, which provides all the required functionality to request a notation generator of a notation dialect. Argo will ask the ModuleLoader for a plug-in of a certain type. The loader will determine which plug-in to use and return a concrete class which implements that interface. It is the intent of this class that any Argo feature that can be replaced or extended by this means be callable only by this means.

Since:
0.9.4

Field Summary
static java.lang.String PLUGIN_PREFIX
           
static java.lang.String PLUGIN_TITLE
           
static java.lang.String PLUGIN_VENDOR
           
 
Fields inherited from interface org.argouml.application.api.ArgoModule
cat, MODULEFILENAME, MODULEFILENAME_ALTERNATE
 
Method Summary
 boolean inContext(java.lang.Object[] context)
          A function which allows a plug-in to decide if it is available under a specific context.
 
Methods inherited from interface org.argouml.application.api.ArgoModule
getModuleAuthor, getModuleDescription, getModuleKey, getModuleName, getModulePopUpActions, getModuleVersion, initializeModule, isModuleEnabled, setModuleEnabled, shutdownModule
 

Field Detail

PLUGIN_TITLE

public static final java.lang.String PLUGIN_TITLE
See Also:
Constant Field Values

PLUGIN_VENDOR

public static final java.lang.String PLUGIN_VENDOR
See Also:
Constant Field Values

PLUGIN_PREFIX

public static final java.lang.String PLUGIN_PREFIX
See Also:
Constant Field Values
Method Detail

inContext

public boolean inContext(java.lang.Object[] context)
A function which allows a plug-in to decide if it is available under a specific context. One example of a plugin with multiple criteria is the PluggableMenu. PluggableMenu requires the first context to be a JMenuItem which wants the PluggableMenu attached to as the context, so that it can determine that it would attach to a menu. The second context is an internal (non-localized) description of the menu such as "File" or "View" so that the plugin can further decide.

Parameters:
context - An identification of the context. The interpretation of criteria is specific to the plug-in type, but must be consistent across that type. The plug-in must want to be exposed to all contexts.
Returns:
True if the plug-in wants to make itself available for this context, otherwise false.


ArgoUML © 1996-2003 (20040229)ArgoUML Project HomeArgoUML Cookbook