Я знаю основы clojure/java interop: вызов java из clojure и наоборот. Однако я не смог вернуть типизированную коллекцию из clojure в java. Я пытаюсь увидеть что-то из этой природы List<TypedObject>
из java-кода, который вызывает в clojure.
Java Object:
public class TypedObject {
private OtherType1 _prop1;
public OtherType1 getProp1() {
return _prop1;
}
public void setProp1(OtherType1 prop1) {
_prop1 = prop1;
}
}
CLojure method:
(defn -createListOfTypedObjects
"Creates and returns a list of TypedObjects"
[input]
;Do work here to create and return list of TypedObjects
[typedObj1, typedObj2, typedObj3])
(:gen-class
:name some.namespace
:methods [createListofTypedObjects[String] ????])
Давайте рассмотрим, что я пишу API, используя clojure, который должен быть распространен как файл jar, который будет использоваться из java. Мой вопрос был действительно как к тому, что передать вместо???? вопросительные знаки выше внутри: gen-класса для AOT, так что программист, пишущий кусок кода в java, используя мой api, может иметь соответствующее завершение intellisense/code (т.е.: createListofTypedObjects() returns List<TypedObject>
), например, из eclipse.