1 package cz
.cvut
.promod
.plugin
.notationSpecificPlugIn
.module
;
3 import cz
.cvut
.promod
.plugin
.notationSpecificPlugIn
.NotationSpecificPlugin
;
6 * ProMod, master thesis project
7 * User: Petr Zverina, petr.zverina@gmail.com
8 * Date: 20:58:36, 12.10.2009
12 * Module is notation specific type of plugin. It is supposed to extend some functionality of a notation. Modules can
13 * add some dockable frames, use tool bar, status bar, menus, etc.
15 * Any module is always related to a notation.
17 * There are several possible ways how to instantiate the module. An author of a module has to provide the module's
18 * definition with one of following types constructor. If the PluginLoaderService finds such a constructor, then it
19 * uses this one. Priority/preferred constructor is determined using order rules. To get understand these rules then
20 * check out comments about the Plugin Loader Service.
22 * @see cz.cvut.promod.services.pluginLoaderService.PluginLoaderService for more details about module instantiation
24 public interface Module
extends NotationSpecificPlugin
{
27 * Returns the notation identifier which is the module related to.
29 * @return notation identifier
31 public String
getRelatedNotationIdentifier();