Я считаю это хорошим примером использования перечисления:
public enum Type {
T1 {
@Override
public void call(String par1, String par2, String par3) {
callMode1(par1, par2, par3);
}
},
T2 {
@Override
public void call(String par1, String par2, String par3) {
callMode2(par1, par2, par3);
}
},
T3 {
@Override
public void call(String par1, String par2, String par3) {
callMode3(par1, par2, par3);
}
},
public abstract void call(String par1, String par2, String par3);
public static Type valueOfNumber(String number) {
return valueOf("T" + number);
}
}
Затем ваш контроллер просто получит соответствующий тип и вызовет для него вызов:
Type t = Type.valueOfNumber(type);
t.call(par1, par2, par3);