У меня есть интерфейс: InterfaceA .
У меня есть класс: ConcreteA .
У меня также есть две аннотации: @ AnnotA и @AnnotB.
Я сделал следующие привязки:
bind(InterfaceA).annotatedWith(AnnotA).to(ConcreteA);
bind(InterfaceA).annotatedWith(AnnotB).to(ConcreteA);
Далее, класс ConcreteA имеет конструктор, который принимает String
Аргумент с именем hostName .
class ConcreteA
{
@Inject
public ConcreteA(@Named("hostName") hostName) {
}
... <rest of class>
}
Мне нужен код для описания следующего:
Если ConcretaA использует @AnnotA, тогда bindhostName со строковым значением 'localhost'
Если ConcreteA использует @AnnotB, тогда свяжите hostName со строковым значением 'externalhost'
Любые идеирешения для этого?