jQassistant插件 - 添加属性或指向现有节点/链接的链接

时间:2015-08-04 12:19:31

标签: jqassistant

我目前正在开发一个项目,我尝试创建一个jQassistant-plugin,它以属性的形式(如@author)向现有节点/链接(由Java插件创建)添加其他信息(Javadoc)或@version)或新链接(@see)。

我现在面临的问题是,我需要以某种方式访问​​现有节点或链接以添加属性,但我似乎无法找到方法来实现这一目标。

一点点暗示让我走向正确的方向将非常感激:)

1 个答案:

答案 0 :(得分:1)

Java插件(jqassistant.plugin.java)提供了一个接口TypeResolver,它允许查找包括其成员在内的现有类型(类,接口,枚举,注释)节点。您可以从提供给扫描程序插件的上下文中获取类型解析程序的实例:

TypeCache.CachedType<TypeDescriptor> resolver = context.peek(TypeResolver.class);
CachedType cachedType = resolver.resolve(typeName, context);
TypeDescriptor typeDescriptor = cachedType .getTypeDescriptor();
MethodDescriptor methodDescriptor = typeDescriptor .getMethod(methodSignature);
FieldDescriptor fieldDescriptor = typeDescriptor .getMethod(fieldSignature);

这有两个问题:

  1. 这些界面可能还不稳定(即将来可能会有一些变化)
  2. 您可能无法获得TypeResolver实例 - 只有当前扫描Java类路径时才可用(例如,类目录或JAR文件)。你实际在扫描什么(例如JavaDoc)以及如何(命令行界面或Maven插件)?