Conosco le basi di clojure/java interop: chiama java da clojure e viceversa. Tuttavia, non ero in grado di restituire una raccolta tipizzata da clojure a java. Sto cercando di vedere qualcosa di quella natura List<TypedObject>
dal codice java che sta chiamando in clojure.Come passare una collezione tipizzata da clojure a java?
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] ????])
Consideriamo che sto scrivendo un'API utilizzando clojure, che deve essere distribuito come un file jar, per essere utilizzato da Java. La mia domanda era davvero come cosa passare al posto del ???? questioni di marchi di cui sopra all'interno del: Gen-classe per AOT, in modo che un programmatore che scrive un pezzo di codice in Java utilizzando il mio api, può avere il completamento intellisense/codice appropriato (cioè .: createListofTypedObjects() returns List<TypedObject>
) dall'interno di Eclipse per esempio.
un breve esempio del codice java che chiama clojure mi aiuterebbe molto anser questo :) –
Grazie Alex e Stuart per le vostre risposte. Hanno perfettamente senso, ma non proprio quello che stavo cercando. Spero che la mia domanda ora sia meno ambigua. – user258030