簡體   English   中英

標簽如何知道其所在的類?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM