com.azalient.api.b.plugins
Interface IPlugin

All Known Implementing Classes:
com.azalient.base.BaseInternals, BasePlugin

public interface IPlugin

The base interface for a plugin. Any user defined plugin must implement this, by sub-classing BasePlugin.


Method Summary
 void moduleChanged(PageType moduleType)
          This is called when a module is changed.
 IModule[] moduleDependencies()
          Deprecated. use moduleTypeDependencies()
 PageType[] moduleTypeDependencies()
          Return an array of module page types on which this plugin depends.
 void pluginClose()
          Called when a plugin is closed.
 void pluginOpen()
          Called after a model has been opened, and also when a module is changed, unless you override the default behaviour of moduleChanged()
 void pluginSave()
          Save plugin-specific data
 

Method Detail

pluginOpen

void pluginOpen()
Called after a model has been opened, and also when a module is changed, unless you override the default behaviour of moduleChanged()


pluginClose

void pluginClose()
Called when a plugin is closed. Use this to close any windows and release references to data


pluginSave

void pluginSave()
Save plugin-specific data


moduleDependencies

IModule[] moduleDependencies()
Deprecated. use moduleTypeDependencies()


moduleTypeDependencies

PageType[] moduleTypeDependencies()
Return an array of module page types on which this plugin depends. This will cause moduleChanged() to be called if the module is changed. Return null to be notified for all plugins, or PageType.ZERO if you want no module change notifications.


moduleChanged

void moduleChanged(PageType moduleType)
This is called when a module is changed. The default action is to call pluginClose() followed by pluginOpen() but you should also call destroy() on any tables you may have to remove any references to the old network and reduce memory leakage. if you have a UI window, you should dispose() of it in pluginClose().