如何将默认方法添加到 Guice 接口
How to add default methods to Guice interface
我有以下界面:
public interface FooFactory {
Foo create();
default Foo createWithData(Data data){
Foo foo = create();
foo.addData(data);
return foo;
}
}
我安装如下:
install(new FactoryModuleBuilder().build(FooFactory.class));
但是,问题是 Guice 用它自己的工厂方法覆盖了我的默认方法。我返回的 Foo 与 create()
中的 Foo 相同(未设置数据)。默认方法永远不会被调用。
现在,这只是一个方便的方法,但我可以告诉 Guice 不要覆盖我的函数吗?
我有以下界面:
public interface FooFactory {
Foo create();
default Foo createWithData(Data data){
Foo foo = create();
foo.addData(data);
return foo;
}
}
我安装如下:
install(new FactoryModuleBuilder().build(FooFactory.class));
但是,问题是 Guice 用它自己的工厂方法覆盖了我的默认方法。我返回的 Foo 与 create()
中的 Foo 相同(未设置数据)。默认方法永远不会被调用。
现在,这只是一个方便的方法,但我可以告诉 Guice 不要覆盖我的函数吗?