有時,雖然部分的 classes 或是 functions 是設為 public 的,但在產生 javadoc 文件時,我們卻希望不要將這些資訊呈現給看文件的使用者。一種可能的情況是,我們在程式碼中已經有實作某些新的功能,卻不希望使用者事前知道這些功能的存在。

最基本的 javadoc 並不支援這樣子的功能,我們可以透過 doclava 這個 客製化的 javadoc doclet 來幫我們達成。

首先要先在你的 gradle 文件中加入 dependency,並在 javadoc task 中多幾行設定。基本上就完成了。

再來就是在你想要隱藏的 class 或 function 的 javadoc comment 上,加上 @hide 的 annotation。像是以下的例子:

hide class

hide function at line 17

我在 github 上放了一個很簡單的 android 範例

針對他產生出來的 javadoc 文件則可以在下面看得到:

完整的文件,沒有套用 doclava doclet

套用過 doclava 的文件:

可以看得出來,兩份文件的長相其實並不太一樣。但至少,可以達到我們想要的功能了。

Google Code Archive - Long-term storage for Google Code Project Hosting.