Мне было интересно, есть ли какая-то функциональность для генерации скелетов декоратора из интерфейса, подобного 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();
}
}