private List<CrateComponentLoader.OnModuleReference> loadModuleReferences(Plugin plugin) {
List<CrateComponentLoader.OnModuleReference> list = Lists.newArrayList();
for (Method method : plugin.getClass().getDeclaredMethods()) {
if (!method.getName().equals("onModule")) {
continue;
}
if (method.getParameterTypes().length == 0 || method.getParameterTypes().length > 1) {
logger.warn("Plugin: {} implementing onModule with no parameters or more than one parameter", plugin.name());
continue;
}
Class moduleClass = method.getParameterTypes()[0];
if (!Module.class.isAssignableFrom(moduleClass)) {
logger.warn("Plugin: {} implementing onModule by the type is not of Module type {}", plugin.name(), moduleClass);
continue;
}
method.setAccessible(true);
//noinspection unchecked
list.add(new CrateComponentLoader.OnModuleReference(moduleClass, method));
}
return list;
}
PluginLoader.java 文件源码
java
阅读 38
收藏 0
点赞 0
评论 0
项目:Elasticsearch
作者:
评论列表
文章目录