Как связать фабрику вспомогательных инъекций, аннотированную с помощью Guice 3.0?
TL;DR - я хочу сделать это:
bind(FooFactory.class)
.annotatedWith(BarAnnotation.class)
.toProvider(FactoryProvider.newFactory(FooFactory.class, Foo.class));
Но с помощью Guice 3.0 FactoryModuleBuilder.
Вот моя установка:
interface FooFactory {
public Foo create(Bar assisted);
}
class Foo {
@Inject
public Foo(Baz dependency, @Assisted Bar assisted) {}
}
class SomeComplicatedClass {
@Inject
public(@BarAnnotation FooFactory fooFactory) {}
}
В Guice 2.0 я могу сделать это:
bind(FooFactory.class)
.annotatedWith(BarAnnotation.class)
.toProvider(FactoryProvider.newFactory(FooFactory.class, Foo.class));
Но, похоже, нет эквивалента с использованием Guice 3.0 (с использованием FactoryModuleBuilder).
Примечание: @BarAnnotation здесь строго необходимо. Я не могу это изменить.