2012-07-03 3 views
2

Я создаю свой собственный doclet, и мне нужно показать, когда параметр из метода имеет значение NULL или нет. Для этого я хочу использовать @Nullable аннотацию из javax.annotation. Somthing нравится то, что люди говорят Google here:Javadoc 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")) { ... 

Например

Смежные вопросы