Может ли Eclipse автоматически генерировать интерфейс класса сторонней библиотеки?

Я работаю с классом Apache FTPClient в сетевой библиотеке Apache commons. К сожалению, он не реализует интерфейс для большей части функциональности, которая делает классы тестирования, которые используют это сложно. Итак, я думал, что создам свой собственный класс, который обертывает это и реализует интерфейс. Так или иначе, что фон. Мой вопрос: возможно ли в Eclipse создать интерфейс (аналогичный Refactor- > Extract Interface), но для стороннего кода, сидящего в файле jar?

Просто, чтобы уточнить, я не ищу, чтобы FTPClient теперь реализовал новый интерфейс, но для создания интерфейса, который имитирует тот же публичный API, что и FTPClient. Затем я могу создать свой собственный класс, который реализует этот интерфейс и обертывает FTPClient.

Ответ 1

Hm. Почему бы не начать с пустого класса, например

class MyWrapper {

    private Referent client;
}

Затем я бы сделал "Source → Generate Methodsate Methods", заполнив пустой класс делегированием вызовов базовому исходному объекту по мере необходимости. Из этого класса вы можете теперь "Refactor → Extract interface"... Поскольку вам все равно нужна оболочка для производства, это позволит одновременно решить обе проблемы (генерация оболочки + создание интерфейса).