New Jide License
[indepmod/experimental.git] / IndependentModeler / src / cz / cvut / promod / plugin / notationSpecificPlugIn / module / Module.java
blob8a9b0169991eeead7e1c3c8d256a1e7a7afa9866
1 package cz.cvut.promod.plugin.notationSpecificPlugIn.module;
3 import cz.cvut.promod.plugin.notationSpecificPlugIn.NotationSpecificPlugin;
5 /**
6 * ProMod, master thesis project
7 * User: Petr Zverina, petr.zverina@gmail.com
8 * Date: 20:58:36, 12.10.2009
9 */
11 /**
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 {
26 /**
27 * Returns the notation identifier which is the module related to.
29 * @return notation identifier
31 public String getRelatedNotationIdentifier();