2012-07-03 56 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")) { ... 

例如。