Я унаследовал некоторый код Java, который делает следующее:
1) он получает от Clojure объект LazySeq (который состоит из нескольких объектов PersistentHashMap)
2) затем он передает этот же объект LazySeq (без изменений) обратно в сценарий Clojure, где он преобразуется в строку и передается обратно в Java.
Проблема в том, что внутри кода Java после шага (1) и до шага (2) мне нужно изменить некоторые объекты PersistentHashMap внутри LazySeq, а затем перейти к шагу (2). Что-то типа:
LazySeq seq = clojureFunctionReturningLazySeq();
//update the elements of the sequence
String result = clojureFunctionReceivingLazySeq(seq);
Я не могу изменить сам сценарий Clojure, и обновление LazySeq должно происходить внутри кода Java. Я проверил LazySeq API и не могу найти способ изменить (или добавить) элемент.
Спасибо,
Крис