/**
* Attempts to load a plugin class. This class may or not be a plugin; only a plugin class will be loaded. A plugin
* loaded with this method will be loaded after unloading a plugin that shares the same
* {@link Plugin#idString() ID string}, if one exists.
*
* @param clazz the class to attempt to load
*
* @return true if the class is a plugin class and was successfully loaded; false otherwise
*/
public boolean loadPluginClass(Class<? extends Plugin> clazz) {
if (Plugin.class.isAssignableFrom(clazz) && !Modifier.isAbstract(clazz.getModifiers())) {
try {
Plugin.validatePluginClass(clazz);
if (Modifier.isPublic(clazz.getConstructor().getModifiers())) {
Plugin plugin = clazz.newInstance();
load(plugin);
return true;
}
} catch (ReflectiveOperationException | InvalidPluginDefinitionException e) {
log.log(Level.WARNING, "Could not load plugin class", e);
return false;
}
}
return false;
}
PluginLoader.java 文件源码
java
阅读 47
收藏 0
点赞 0
评论 0
项目:shuffleboard
作者:
评论列表
文章目录