2012-07-03 69 views
2

我正在創建自己的doclet,並且需要顯示方法中的參數是否可以爲空。爲此,我想使用javax.annotation中的@Nullable註釋。財產以後喜歡什麼谷歌的人說hereJavadoc doclet:獲取「@Nullable」註釋(javax)。如何在doclet中獲得該註釋?

public Object myMethod(String firstName, String lastName, @Nullable Phone phone) { 
//code 
} 

有沒有在我的Doclet任何方式獲取該手機的參數,「可空」的註釋?

回答

3

找到了!

Parameter接口已經有一個漂亮的annotations()方法,從中我們可以從與該參數相關的所有註釋中獲取AnnotationDesc數組。因此,我們只需從MethodDoc(MethodDoc.parameters())中獲取所需的參數,然後從那裏獲取annotations()方法(AnnotationDesc [] annotations = pParam.annotations();)中該參數的註釋。從那裏,很容易得到,如果與該參數的註釋是「可空」(:

for(AnnotationDesc annotation : annotations) { 
     if(annotation.toString().equals("@javax.annotation.Nullable")) { ... 

例如。