Я ищу решение для генерации кода. Я гуглил, искал в SO и некоторых блогах, но не нашел хорошего решения.
Я хотел бы поместить аннотацию в свой класс, и во время компиляции некоторые методы и свойства будут автоматически добавлены в класс.
Ключевые моменты решения, которое я ищу:
- Сгенерированный код настраиваемый (ОБЯЗАТЕЛЬНО)
- Никакой внешний инструмент, такой как
apt
, не должен вызываться (ОБЯЗАТЕЛЬНО) - Только JDK, никаких сторонних фреймворков (
ОБЯЗАТЕЛЬНОНЕОБЯЗАТЕЛЬНО) - Настраиваемое имя аннотации (НЕОБЯЗАТЕЛЬНО)
Например :
@Aliasable
public class MyClass {
//Some properties
// Contructor ...
// Some methods
}
Мой класс будет выглядеть так после компиляции:
public class MyClass {
//Some properties
private String alias;
// Contructor ...
// Some methods
public String getAlias() {
return alias;
}
public void setAlias(String alias) {
this.alias=alias;
}
}
EDIT:
Наконец, я изменил свое третье требование с ОБЯЗАТЕЛЬНОГО на НЕОБЯЗАТЕЛЬНОЕ и выбрал проект Lombok (простая интеграция с Maven и Eclipse, практически ничего не нужно делать для его использования).