Package com.iizix.server
Class PluginLoader
- java.lang.Object
-
- com.iizix.server.PluginLoader
-
public class PluginLoader extends java.lang.Object
The plug-in loader class checking for plug-in dependencies in a Module project.- Author:
- Christopher Mindus
-
-
Constructor Summary
Constructors Constructor Description PluginLoader(PropFactory factory, java.lang.ClassLoader classLoader)
Creates the instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ClassLoader
createClassLoader(java.lang.ClassLoader parentClassLoader)
Creates a new classloader that also handles loading classes from the added plugins.java.lang.String
getLoadedPlugins()
Gets the comma-separated list of loaded plugins.java.util.List<IPluginDescriptor<?>>
loadPlugins(java.lang.String names)
Loads required plug-in's.
-
-
-
Constructor Detail
-
PluginLoader
public PluginLoader(PropFactory factory, java.lang.ClassLoader classLoader)
Creates the instance.- Parameters:
factory
- The factory to register the plug-ins in.classLoader
- The ClassLoader to use when running in a Server environment.
-
-
Method Detail
-
loadPlugins
public java.util.List<IPluginDescriptor<?>> loadPlugins(java.lang.String names) throws java.io.IOException
Loads required plug-in's.Each plug-in must have a class called "name.server.Descriptor" that implement the interface
com.iizix.IPluginDescriptor
available.The plug-in definition should be found at the "name/schema/properties.xml", but the iiziGo modules have the "iizigo" module instead of "iizix". To figure out translation of names, a class called "name.server.Descriptor" is loaded and should implement the interface
- Parameters:
names
- The plug-in name, e.g. "com.iizigo.db,com.iizigo.term,com.iizigo.ws".- Returns:
- The list of plug-in descriptors.
- Throws:
java.io.IOException
- If a plug-in failed to load.
-
getLoadedPlugins
public java.lang.String getLoadedPlugins()
Gets the comma-separated list of loaded plugins.- Returns:
- The comma-separated list of loaded plugins, empty string for none.
-
createClassLoader
public java.lang.ClassLoader createClassLoader(java.lang.ClassLoader parentClassLoader)
Creates a new classloader that also handles loading classes from the added plugins.- Parameters:
parentClassLoader
- The parent class loaders, must be defined.- Returns:
- A new class loader.
-
-