Обычно вам нужен установщик для Mapper
в Outer
и экземпляр необходимого Mapper
. Но так как они:
- частный
- внутренний
классы, которые становятся немного хитрыми (как вы определили). Если вы сделаете их общедоступными, я уверен, что вы можете создать экземпляр, используя Outer$MapperA
и т. Д. Но это кажется немного неприятным. Итак:
- они должны быть внутренними и личными?
- возможно, Outer может взять String и определить из этого, следует ли создавать экземпляр
MapperA
или MapperB
. то есть здесь есть некоторые заводские возможности.
Самое простое, что нужно сделать, - это действительно определить, должны ли они быть внутренними / личными. Если это так, то на них действительно не следует ссылаться в конфиге, который должен говорить об общедоступных классах.