Javadoc doclet:获取“@Nullable”注释(javax)。如何在doclet中获取该注释?

时间:2012-07-03 12:35:34

标签: java javadoc doclet

我正在创建自己的doclet,我需要显示方法中的参数何时可以为空。为此,我想使用javax.annotation中的@Nullable注释。像谷歌人所说的here

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

我的Doclet中是否有任何方法可以获取该Phone参数的“可空”注释?

1 个答案:

答案 0 :(得分:3)

发现它!

Parameter接口已经有了一个很好的annotations()方法,我们可以从中获取与该参数相关的所有注释的AnnotationDesc数组。因此,我们只需从MethodDoc(MethodDoc.parameters())中获取所需的参数,然后从那里获取该参数的注释,其中annotations()方法(AnnotationDesc [] annotations = pParam.annotations();)。从那里,如果与该参数相关的注释是“可空的”(:

),则很容易获得
for(AnnotationDesc annotation : annotations) {
      if(annotation.toString().equals("@javax.annotation.Nullable")) { ...

例如。