сценарий использования : для класса конфигурации мне нужно использовать класс переводчика.
У меня есть 3 класса конфигурации (A, B, C) и 3 класса переводчика. (X, Y, Z).
A - родительский конфигурационный класс, а (B, C) - подклассы. Точно так же X - это родительский класс транслятора, а (Y, Z) - подклассы.
Переводчик Y переводит B, а Переводчик Z переводит C ie (B -> Y, C -> Z) * 1009 *
СЕЙЧАС, я получаю строковый ввод (для класса конфигурации) и использую Джексон для десериализации его в тип класса конфигурации А. С Джексоном я упомянул подтипы, и Джексон может десериализовать его в требуемые подтипы В или C правильно.
A a = new ObjectMapper().readValue(inputString, A.class)
Теперь я хочу сделать что-то вроде:
if(a.type == 'B') Y.process((B)a) // Since translator Y was for B subClass
if(a.type == 'C') Z.process((C)c)// Since translator Z was for C subClass
есть ли способ, я могу избежать здесь приведения типов.