Я потратил некоторое время на размышления о том, можно ли написать модуль guice, который сам параметризован с типом T и использует его параметр типа для указания привязок.
Как в этом (не работающем) примере:
interface A<T> {}
class AImpl<T> implements A<T>{}
interface B<T> {}
class BImpl<T> implements B<T> {}
class MyModule<T> extends AbstractModule {
@Override
protected void configure() {
bind(new TypeLiteral<A<T>>(){}).to(new TypeLiteral<AImpl<T>>(){});
bind(new TypeLiteral<B<T>>(){}).to(new TypeLiteral<BImpl<T>>(){});
}
}
Я пробовал разные подходы, передавая T в MyModule как экземпляр Class / TypeLiteral, но ни один из них не работал.Помощь приветствуется.
С уважением, Лукаш Осипюк