[英]How can a taglet know about the class it's located in?
據我所知,taglet api的包中僅包含一個類: Taglet
,如果將Taglet.html
更改為package-summary.html
,則其中沒有其他內容(並且出現了一些令人恐懼的消息:
從JDK 1.5版開始,由
com.sun.tools.doclets.internal.toolkit.util.
取代com.sun.tools.doclets.internal.toolkit.util.
我假設這不會影響Taglet
接口本身。)
接口中什么都不知道小標簽所駐留的類,也不了解其上下文。
無論如何,從中獲得“調用”標簽的類的名稱嗎? 具有{@.myTaglet}
存在的JavaDoc塊的類?
作為一種hack,我正在考慮強迫用戶在使用我的任何自定義標簽之前在頂部使用{@.thisClass my.package.AClass}
進行設置。
更好的主意會很棒。
(這是Sun的標簽概述 。)
(另外,請考慮看我先前的問題,這是另一個標簽問題: 如何使內嵌標簽(需要com.sun)更跨平台?是否有非Oracle /更多跨平台的Javadoc解析器? )
在研究這個問題時,我已經弄清楚了。 這是演示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:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.