Doxygen 可以用 graphiz 生成类图。
例如:
class A {...};
class B extends A {...};
根据这段代码,我可以生成一张图片,其中 doxygen 可以显示一个类是另一个类的父类。
但是有没有一种方法可以通过类之间手动引用的代码生成图片?
例如,当我描述数据库方案并使用契约类(http://developer.android.com/training/basics/data-storage/databases.html#DefineContract)时,我想像这样执行:
class MainClass {
class A {
String COLUMN_ID = "id_a";
}
/**
* {@dotlinkto MainClass.A}
**/
@OrAnotationToDrawLink(A.class)
class B {
String COLUMN_ID = "id_b";
String COLUMN_FOREIGN_KEY_TO_A = "id_a_key";
}
}
并生成 2 个类 A 和 B 的图片,并在它们之间进行引用。
我尝试搜索文档,但找不到任何关于在 javadoc+doxygen+graphviz 中自定义绘图的合适示例或解释。
最佳答案
我能想到的最接近的事情是定义一个扩展为内联点图的自定义命令,即
class MainClass {
public class A {
String COLUMN_ID = "id_a";
}
/**
* @dotlinkbetween{A,B}
* @cond
**/
@OrAnotationToDrawLink(A.class)
/** @endcond */
public class B {
String COLUMN_ID = "id_b";
String COLUMN_FOREIGN_KEY_TO_A = "id_a_key";
}
}
在 doxygen 的配置文件中使用以下 ALIAS 定义:
ALIASES = dotlinkbetween{2}="@dot digraph { node [shape=record ]; \1 [ URL=\"\ref \1\" ]; \2 [ URL=\"\ref \2\" ]; \2 -> \1; } @enddot"
请注意,我必须使用 @cond
... @endcond
让 doxygen 跳过 @OrAnotationToDrawLink
行。
关于java - 氧点。通过注解绘制类之间的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25610378/