Я хочу создать прокси для класса вместо интерфейса. Есть ответы, описывающие использование cglib или Javassist для этой цели (например, https://stackoverflow.com/a/4449998/) , но я столкнулся с проблемой, так как класс, в котором я заинтересован в проксировании, не имеет конструктора без аргументов, поэтому Enhancer.create()
выдает исключение. Глядя на Javassist ProxyFactory
javadoc, ему также нужны аргументы конструктора.
Очевидным обходным решением является поиск типов аргументов конструктора путем отражения и передачи массива нулей/0/и т.д. но это не сработает, если конструктор выдаст исключение.
Есть ли лучшие альтернативы (возможно, с использованием какой-то другой библиотеки)?