Подтвердить что ты не робот

Есть ли ярлык в Eclipse для генерации кода для декораторов?

Мне было интересно, есть ли какая-то функциональность для создания скелетов декоратора из интерфейса, подобного Generate Setters and Getters. Я хотел бы создать класс из интерфейса, который взял экземпляр этого интерфейса и реализовал каждый метод как вызов того же метода с теми же параметрами в экземпляре. У меня есть уродливый класс из библиотеки, которую я хотел бы украсить, но у нее есть ~ 50 методов, и я хочу только изменить функциональность одного из них и хотел бы сохранить некоторую типизацию. Есть ли что-нибудь подобное?

Пример, учитывая интерфейс:

 interface FooBar{
      void foo( Object o );
      Object bar();
 }

создайте что-то вроде класса:

 class FooBarDecorator implements FooBar{
      private final FooBar fubee;

      FooBarDecorator( final FooBar fb ){
           this.fubee = fb;
      }

      public void foo( Object o ){
           this.fubee.foo( o );
      }

      public Object bar(){
           return this.fubee.bar();
      }
 }
4b9b3361

Ответ 1

Да!! Щелкните правой кнопкой мыши на элементе fubee, выберите SourceGenerate Delegate Methods → done! Хотя, я думаю, что для этого вам нужно будет написать

class FooBarDecorator implements FooBar {
// [...]

Позволяя декоратору реализовать интерфейс