Sto creando un framework / libreria per un caso d'uso piuttosto specifico (tipo di dati). Usa diversi componenti della molla, inclusi i dati di molla. La libreria ha una serie di classi di entità correttamente configurate e in base ai livelli di servizio e dao. Il lavoro principale o il vantaggio principale del framework si trova nel livello dao e servizio.
Gli sviluppatori che utilizzano il framework dovrebbero essere in grado di estendere le mie classi di entità per aggiungere campi aggiuntivi di cui hanno bisogno. Pertanto ho creato dao e service layer generico in modo che possa essere utilizzato da tali classi di entità estese.
Ora sto affrontando un problema nella parte IO del framework. Deve essere in grado di importare il secondo "tipo di dati speciali" nel database. In questa parte ho bisogno di creare una nuova istanza di entità e quindi ho bisogno della classe effettiva utilizzata. La mia soluzione attuale è quella di configurare in primavera un bean della classe effettiva utilizzata. Il problema è che un'applicazione che usa il framework può usare solo 1 implementazione dell'entità (quella originale da me o esattamente 1 sottoclasse ma non 2 diverse classi della stessa gerarchia.
Sto cercando suggerimenti / progetti per risolvere questo problema. Qualche idea?
EDIT:
l'unica idea che ho è di aggiungere un parametro ai metodi interessati che accetta un oggetto Class. Questa sarebbe la soluzione facile e pragmatica ma sembra molto brutta?