据我所知,taglet api在其包中只有一个类:Taglet
,如果您将Taglet.html
更改为package-summary.html
,则其中没有其他任何内容(而且这是有点可怕的消息:
从JDK 1.5版开始,由
取代com.sun.tools.doclets.internal.toolkit.util.
我假设这不会影响Taglet
接口本身。)
接口中没有任何内容可以了解taglet所在的类 - 它的上下文无关。
无论如何都要获取从中“调用”taglet的类的名称?具有{@.myTaglet}
存在的JavaDoc块的类?
作为一个黑客,我想在使用任何自定义标记之前强迫用户在顶部设置{@.thisClass my.package.AClass}
。
更好的想法会很棒。
(这是Sun的taglet overview。)
(另外,请考虑查看我之前的问题,这是另一个标记问题: How to make inline taglets (which require com.sun) more cross-platform? Is there a non-Oracle/more-cross-platform javadoc parser? )
答案 0 :(得分:0)
当我研究这个问题时,我想出来了。这是演示UnderlineTaglet
中的一个函数:
public String toString(Tag tag) {
return "<u>" + tag.text() + "[" + tag + ", [" +
tag.holder() + "]]</u>";
}
如果此标记位于com.github.xbn.insertexample.BasicOutputProcessors
{@underline xxx}
导致
<u>xxxy[@underline:xxxy, [com.github.xbn.insertexample.BasicOutputProcessors]]</u>
所以tag.holder().toString()
就是答案。
API: