Accessing protected methods is a pain. You could do it with reflection, as Bill said.
In gen-class, you need to add the `:exposes-methods` option to gen-class. This will make the protected method available as a public method, under an alternate name.
For example, if you're extending Java class A which has protectedMethod(parameter), you would have something like:
(ns com.example.subclass-of-A
(:gen-class :extends com.example.A
:exposes-methods {protectedMethod exposedSuperMethod}))
(defn -protectedMethod [this parameter]
(.exposedSuperMethod this parameter))
-Stuart Sierra