There is not bind(XXX).toProviderInstance(YYY)
Instead you can directly use the following:
Foo someInstance = new Foo();
binder.bind(IFoo.class).toInstance(someInstance);
Thanks very much, but could someone help me by fixing the following code (I hope the intention is clear):
private void bindList(Binder pBinder) {
final List<?> list = new ArrayList<Object>();
final Provider<O extends List> provider = new Provider<O>(){
public O get() {
return list;
}
};
pBinder.bind(List.class).toProvider((com.google.inject.Provider<? extends List>) provider);
}
Additionally, is it possible to have something like
private <O> void bind(Binder pBinder, Class<O> pInterfaceClass, O pImplementation) {
// ?