XDoclet - проверить аннотацию из другого класса
Я использую XDoclet для генерации кода:
/**
* @diff.special
*/
public String myString;
Теперь я хотел бы сгенерировать код в зависимости от этой аннотации и аннотации в другом классе, т.е.
если аннотация в классе 1 = diff.special ===> решить, что делать в соответствии с аннотацией в классе 2, если аннотация в классе 1 = diff.normal ===> решить, что делать в соответствии с аннотацией в классе 3
Как я могу добиться этого в моем обработчике? Когда моя задача муравья запускается и работает над аннотацией в классе 1, как я могу получить аннотации класса 2 или 3?
Большое спасибо,
Haemi
1 ответ
Решение
Не знаю, лучший ли это способ, но я решил это следующим образом:
final XJavaDoc xJavaDoc = XDocletTagSupport.getXJavaDoc();
final XClass xClass = xJavaDoc.getXClass(clazz.getCanonicalName());
// iterate over all fields in the angebot class and...
for (Object field : xClass.getFields(true)) {
final XField xfield = (XField) field;
// ... check if it contains the corresponding field, ...
if (xfield.getName().contains(fieldNameToLookFor)) {
return xfield;
}
}