gpt4 book ai didi

java - 氧点。通过注解绘制类之间的链接

转载 作者:行者123 更新时间:2023-11-30 09:03:28 25 4
gpt4 key购买 nike

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com