ucot.core
Class PluginLoader
java.lang.Object
ucot.core.PluginLoader
public class PluginLoader
- extends java.lang.Object
Handles plugin loading. This class finds all the subdirectories under spesific
direcotyr. Those spesific subdirectories are considered plugin directories. Very
simple configuration file is expected to be found under the plugin directory.
This file is called plugin.properties
and it is normal java properties file.
Here is example of plugin.properties file that defines plugin called "Adapter".
Property called class defines the plugins main class that is loaded under this
plugin loader.
name=Adapter
class=package1.AdapterClass
To use loaded plugins the program asks loaded class with getClasses()
or getClasses(Class)
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEFAULT_PLUGIN_DIR_NAME
private static final java.lang.String DEFAULT_PLUGIN_DIR_NAME
- See Also:
- Constant Field Values
DEFAULT_PLUGIN_PROPERTIES_FILE
private static final java.lang.String DEFAULT_PLUGIN_PROPERTIES_FILE
- See Also:
- Constant Field Values
PLUGIN_DIR_NOT_EXIST_LOGMESSAGE
private static final java.lang.String PLUGIN_DIR_NOT_EXIST_LOGMESSAGE
- See Also:
- Constant Field Values
PLUGIN_DIR_IS_NOT_DIR_LOGMESSAGE
private static final java.lang.String PLUGIN_DIR_IS_NOT_DIR_LOGMESSAGE
- See Also:
- Constant Field Values
LOADER_CHECKING_DIR_LOGMESSAGE
private static final java.lang.String LOADER_CHECKING_DIR_LOGMESSAGE
- See Also:
- Constant Field Values
FOUND_MAIN_DIR_LOGMESSAGE
private static final java.lang.String FOUND_MAIN_DIR_LOGMESSAGE
- See Also:
- Constant Field Values
NO_PLUGIN_PROPERTIES_FOUND_LOGMESSAGE
private static final java.lang.String NO_PLUGIN_PROPERTIES_FOUND_LOGMESSAGE
- See Also:
- Constant Field Values
ERROR_READING_FILE_LOGMESSAGE
private static final java.lang.String ERROR_READING_FILE_LOGMESSAGE
- See Also:
- Constant Field Values
PLUGIN_CLASS_NOT_DEFINED_LOGMESSAGE
private static final java.lang.String PLUGIN_CLASS_NOT_DEFINED_LOGMESSAGE
- See Also:
- Constant Field Values
PLUGIN_NAME_NOT_DEFINED_LOGMESSAGE
private static final java.lang.String PLUGIN_NAME_NOT_DEFINED_LOGMESSAGE
- See Also:
- Constant Field Values
LOADING_PLUGIN_LOGMESSAGE
private static final java.lang.String LOADING_PLUGIN_LOGMESSAGE
- See Also:
- Constant Field Values
PLUGIN_CLASS_NOT_FOUND_LOGMESSAGE
private static final java.lang.String PLUGIN_CLASS_NOT_FOUND_LOGMESSAGE
- See Also:
- Constant Field Values
LOADED_PLUGIN_LOGMESSAGE
private static final java.lang.String LOADED_PLUGIN_LOGMESSAGE
- See Also:
- Constant Field Values
CLASS_PROPERTY_KEY
private static final java.lang.String CLASS_PROPERTY_KEY
- See Also:
- Constant Field Values
NAME_PROPERTY_KEY
private static final java.lang.String NAME_PROPERTY_KEY
- See Also:
- Constant Field Values
pluginMainDir
java.io.File pluginMainDir
logger
java.util.logging.Logger logger
pluginClasses
java.util.Map<java.lang.Class,java.lang.String> pluginClasses
PluginLoader
public PluginLoader(Core core)
getPluginDir
public java.io.File getPluginDir()
getClasses
public java.util.Collection<java.lang.Class> getClasses()
getClasses
public java.util.Collection<java.lang.Class> getClasses(java.lang.Class reqApi)
getDirNameForPlugin
public java.lang.String getDirNameForPlugin(java.lang.Class klass)