Я знаком с Lombok, умею генерировать геттеры, сеттеры, конструкторы, строители, холку и т. Д. Однако, по моему мнению, чего-то не хватает. Предположим, у вас есть следующий класс
public class Example {
List<Item> items;
}
Я ищу аннотацию, которая может генерировать следующие методы:
public List<Item> getItems() {
return Collections.unmodifiableList(items);
}
public boolean addItem(Item item) {
return items.add(item);
}
public boolean addAllItems(List<Item> items) {
return this.items.addAll(items);
}
public boolean removeItem(Item item) {
return items.remove(item);
}
public boolean removeAllItems(List<Item> items) {
return this.items.removeAll(items);
}
public void clearItems() {
items.clear();
}
Существует ли какая-либо платформа или API с аннотацией, которая может предоставить эти (или аналогичные) методы?
А если нет, то как это можно реализовать? (Для контекста: я сам до сих пор занимался только обработкой аннотаций во время выполнения, а не во время компиляции).