Интерфейс форсирования Java в стороннем классе через анонимный класс - PullRequest
1 голос
/ 23 марта 2012

У меня есть некоторые сторонние bean-компоненты, которые имеют сигнатуры методов, которые очень хорошо вписываются в существующий интерфейс, но не реализуют интерфейс.

Теперь я хотел бы сделать что-то подобное, но это не работает. Есть ли обходной путь?

 someBean.setSomeInterface(
         new Interface() extends SomeBeanThatMatchesAlotOfMethodsOfTheInterface {
     });

Ответы [ 2 ]

2 голосов
/ 23 марта 2012

Вы можете использовать шаблон для декоратора для этого

Определите класс, который реализует ваш интерфейс и во всех вызовах методов делегирует реализацию someBean.

1 голос
/ 23 марта 2012

Я думаю, что все, что вы могли бы сделать, это расширить их класс (как вы это делали выше), а затем сказать, что реализует.Интерфейс возможно, что он может сломаться в будущем.Просто знайте об этом.

...