我发现我需要经常支持组合而不是继承,因此我需要生成的许多代码行都是由 theprivate final Contract implementation
和Contract
接口方法之间的映射组成的。
(可预测的)映射示例
public abstract class Sloth<T> extends BaseAnimal implements Valuator<T> {
private final Valuator<T> valuator = new GenericValuator<T>();
@Override
public void setValue(T value) {
valuator.setValue(value);
}
@Override
public void clearValue() {
valuator.clearValue();
}
@Override
public T getDefault() {
return valuator.getDefault();
}
@Override
public T getValue() {
return valuator.getValue();
}
@Override
public void addStorageBidListeners(OnStorageBid<T>... onStorageBid) {
valuator.addStorageBidListeners(onStorageBid);
}
}
有没有办法自动生成这个映射:
- 原则上只提供接口和实现就足够了?
- 目前我正在手动写出所有
valuator.
映射,我希望有这样一种自动重构的捷径吗?