XDoclet - проверить аннотацию из другого класса - PullRequest
0 голосов
/ 10 февраля 2011

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

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

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

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

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

Спасибо МНОГО,

Haemi

1 Ответ

0 голосов
/ 01 марта 2011

Не знаю, лучший ли это способ, но я решил это следующим образом:

  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;
    }
  }
...