|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sourceforge.pain.plugin.PluginManager
Manager for plugin loading/reloading/unloading...
Constructor Summary | |
PluginManager()
|
Method Summary | |
java.util.List |
getActivePluginsList()
|
Plugin |
getPlugin(java.lang.String pluginName)
|
void |
init(java.lang.String pluginsHomePackagePrefix,
java.lang.String pluginClassesDir)
All classes under pluginsHomePackagePrefix assumed as |
boolean |
isInPluginPackages(java.lang.String className)
|
java.lang.Class |
loadClassByPluginClassloader(java.lang.String requesterPluginName,
java.lang.String requestedClassName)
if plugin A uses classes from plugin B this dialog will be called during plugin A class instantiation this method is also used in LogicLoader to provide plugin classes to logic ones todo: logic classes should be reloaded only if they use this plugin |
Plugin |
loadPlugin(java.lang.String pluginName)
|
void |
loadPluginsFromFile(java.io.File configFile)
|
void |
unloadPlugin(Plugin p)
WARN: all net.sourceforge.pain.logic.* classes have direct access to plugins we will unload all this code after plugin is unloaded in this method WARN: all child plugins will be unloaded! |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public PluginManager()
Method Detail |
public void init(java.lang.String pluginsHomePackagePrefix, java.lang.String pluginClassesDir)
pluginsHomePackagePrefix
- - package name ending with '.' (example: net.sourceforge.pain.tinylib.plugin)public void loadPluginsFromFile(java.io.File configFile) throws java.lang.Exception
java.lang.Exception
public Plugin getPlugin(java.lang.String pluginName)
pluginName
- - is className without PLUGINS_HOME_PREFIXpublic Plugin loadPlugin(java.lang.String pluginName) throws java.lang.Exception
pluginName
- is className without PLUGINS_HOME prefix
java.lang.Exception
public java.lang.Class loadClassByPluginClassloader(java.lang.String requesterPluginName, java.lang.String requestedClassName) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
public void unloadPlugin(Plugin p)
public java.util.List getActivePluginsList()
public boolean isInPluginPackages(java.lang.String className)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |