XDoclet — проверить аннотацию из другого класса

Я использую XDoclet для генерации кода:

/**
 * @diff.special
 */
public String myString;

Теперь я хотел бы сгенерировать код в зависимости от этой аннотации И аннотации в другом классе, т.е.

если аннотация в классе 1 = diff.special ===> решить, что делать в соответствии с аннотацией в классе 2, если аннотация в классе 1 = diff.normal ===> решить, что делать в соответствии с аннотацией в классе 3

Как я могу добиться этого в своем обработчике? Когда моя задача ant запускается и работает над аннотацией класса 1, как я могу получить аннотации класса 2 или 3?

Большое спасибо,

Хэми


person swalkner    schedule 10.02.2011    source источник


Ответы (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;
    }
  }
person swalkner    schedule 01.03.2011