Я пишу приложение Clojure, которое использует BouncyCastle для шифрования данных при передаче через Интернет.Однако BouncyCastle имеет несколько очень странно написанных классов, особенно один, называемый ECCurve (эллиптическая кривая).Это просто абстрактный класс, расширенный двумя классами Fp и F2m (различные виды кривых).Тем не менее, они написаны как открытые статические классы внутри ECCurve (а не в отдельных файлах).
Итак, вопрос в том, когда я создаю экземпляр класса, объявленного как статический внутри другого,абстрактный класс, как я к нему обращаюсь?Я пробовал это:
(def curve (new ECCurve.Fp params)) ; naive, I know (ECCurve is imported btw)
(def curve (new ECCurve/Fp params))
(def curve (new (. ECCurve Fp) params))
(def curve (new (ECCurve/Fp) params))
(def curve (new org.bouncycastle.math.ec.ECCurve.Fp params))
... но ни одна из этих работ (компилятор говорит, что было выброшено ClassNotFoundException).Есть идеи, как это сделать правильно?
Спасибо, Дэвид