У меня более тысячи POJO, свойства которых мне нужно правильно аннотировать в соответствии с созданной мной библиотекой аннотаций для синтаксического анализа XML. Поскольку число POJO велико и они уже аннотированы JAXB, мне нужна автоматизация 2 3 задач:
- Удаление "всех" существующих аннотаций
- Повторное аннотирование POJO с 1
Правила просты для (1) - удалить любую строку, начинающуюся с "@"
(2) является сложным, и я хочу начать с обнаружения «открытого класса XYZ» в классе Java и аннотирования его с помощью @BeanName (beanName = "XYZ") *
После этого, как элемент действия (3), мне нужно определить тип данных моей переменной в POJO, аннотировать его следующим образом:
@ClassMember(dataType = DataType.INTEGER, memberName = "tripId")
public int tripId;
@ClassMember(dataType = DataType.COMPLEX, memberName = "stop")
public Stop stop;
Я думаю, что сценарий sed тоже может помочь, но я предпочитаю Java, как я «догадываюсь», мне может понадобиться использовать отражение для следующих шагов.
Спасибо!
РЕДАКТИРОВАТЬ:
Я понимаю, что приведенные выше случаи очень просты и могут быть достигнуты с помощью инструментов регулярных выражений, но мне нужен скрипт / программа для этого. Если сообщество может помочь мне написать код для «простых» случаев, подобных этому, я могу расширить для сложных сценариев - что «невозможно» (без большого ручного вмешательства) с помощью инструментов регулярных выражений, встроенных в IDE.
РЕДАКТИРОВАТЬ 2:
Я добавил пункт (3), чтобы моя проблема выглядела «реальной»