Есть ли способ легко генерировать java bean-компоненты по заданному вектору в clojure? Например, для такого вектора:
[
String :key1
Integer :key2
]
Я бы хотел, чтобы он сгенерировал такой код:
public class NotSureWhatTheTypeWouldBeHere {
private String key1;
private Integer key2;
public NotSureWhatTheTypeWouldBeHere() {}
public NotSureWhatTheTypeWouldBeHere(String key1, Integer key2) {
this.key1 = key1;
this.key2 = key2;
}
public void setKey1(String key1) {
this.key1 = key1;
}
public String getKey1() {
return this.key1;
}
public void setKey2(Integer key2) {
this.key2 = key2;
}
public String getKey2() {
return this.key2;
}
// and equals,hashCode, toString, etc.
}
Для контекста я хотел бы написать приложение, написанное на java, но вызывающее библиотеку, написанную на clojure. Это означает, что возвращаемые значения должны быть java bean-компонентами (я знаю, что это не обязательно, но я бы хотел, чтобы они были). Одним из способов было бы определить модель в java, а затем использовать обычное взаимодействие java с clojure для заполнения модели в коде clojure, но мне нравится идея краткого вектора clojure (или карты), расширяющегося до (подробного) java bean.