Я получаю значение перечисления в качестве входных данных, каждое значение перечисления соответствует классу.Как определить конфигурацию пружины, учитывая, что значение перечисления должно быть преобразовано в объект класса
public enum R {
eR1,
eR2,
eR3;
}
//simple interface
interface R {
dosomething();
}
//R1 class
class R1 implements R {
dosomething() {
//implmentation for R1
}
}
//R2 class
class R2 implements R {
dosomething() {
//implementation for R2
}
}
У меня есть API, скажем,
getR(R er1) {
//How do I define spring configuration to get class object given enum value??
}
I want to avoid if conditions in API, something like this
getR(R er) {
if(er.equals(R.eR1)) {
//do this
} else if(er.equals(R.eR2)) {
//do this
}
}
I want to spring to inject right class based on input parameter so that I can avoid if statement.
скажем, для трех полей перечисления, я хочу избежать трех идентификаторов ввесна.
Can I define somethign like this
<bean id="r" class="com.myProject.R1">
<property name="er1" value="eR1"/>
</bean>
<bean id="r" class="com.myProject.R2">
<property name="er2" value="eR2"/>
</bean>
//similary for R3 as well