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