2012-01-10 9 views
5

Sto provando a scrivere un generatore di codice su Mapping tra due classi utilizzando Eclipse. L'idea è di presentare una procedura guidata in cui gli utenti selezionino due classi le cui proprietà devono essere mappate. Quindi visualizza tutte le potenziali corrispondenze e se l'utente sta bene allora crea una classe ClassMapper in cui avremo una sola mappa dei metodi che eseguirà il Class1.setXXX richiesto (Class2.getXXX());Generatore di codice Eclipse per generare il mapper Classe

Eventuali indicazioni su come possiamo fare questo?

Grazie

+0

Sei sicuro che un framework di bean mapping come Dozer (http://dozer.sourceforge.net/) non funzionerà per te? – Daff

+0

divertente .. Stavo per scrivere un programma di swing per fare proprio questo .. dato che non ho trovato nessun plug-in di eclissi. Amico .. il numero di volte che devi impostare questo da ottenere quello .. Tanto digitando .. Ma fermato in quanto non ne valeva la pena .. Fammi sapere se ne trovi uno .. – sethu

+0

Dozer sembra fare ciò che noi entrambi avevano bisogno .. Ma si tratta di una mappatura statica da una classe all'altra .. Se è necessario mappare le variabili tra più classi, è necessario scrivere/generare il codice – sethu

risposta

2

questo quello che stai andando a fare offre funzionalità simili come apripista, ma il codice statico ha questa superiorità, che è più veloce, contiene la logica solo nel codice, ed è più facile da trovare utilizzo dei campi tramite la gerarchia delle chiamate in IDE.

Generalmente il plug-in Eclipse sarebbe il modo migliore per iniziare, perché è possibile proiettare solo la GUI e la visualizzazione è fatta da Eclipse stessa, e inoltre si ha accesso ai suoi fantastici strumenti per lavorare con il codice java.

Penso, tuttavia, che la parte peggiore sarebbe quella di configurazione. Dozer ha il suo mappatore primitivo (primitivo nel modo in cui converte tra tipi java primitivi e nativi;) che gestisce le conversioni più tipiche tra i tipi standard, tuttavia è spesso necessario configurarlo. Ad esempio, le stringhe che rappresentano i booleani possono essere "t" e "f" o "true" e "false" o "1" e "0" o parole di un'altra lingua. Le date possono avere vari formati, ecc. Quindi è necessario configurare in questo plugin vari programmi di mappatura, in particolare attraverso la definizione di frammenti di codice per gestire una conversione specifica.

Tuttavia, se lo fai, sarai molto apprezzato. Recentemente ho cercato qualcosa, che farebbe ancora di più, voglio dire che potrebbe sia creare la mappatura AND i dto a cui il codice sarà abbinato, con possibilità di unire la gerarchia di classi per la progettazione, quando i sottotipi di oggetto sono rappresentati da varie classi, flat single class, meglio per json transport, tuttavia, senza risultato.

Problemi correlati