2012-01-10 14 views
5

Estoy tratando de escribir un generador de código para Mapeo entre dos clases usando Eclipse. La idea es presentar un asistente donde los usuarios seleccionen dos clases cuyas propiedades necesitan ser mapeadas. A continuación, muestre todas las posibles coincidencias y, si el usuario está bien, cree una clase ClassMapper donde tengamos solo un mapa de métodos que cumplirá con la clase requerida 1.setXXX (Class2.getXXX());Generador de código Eclipse para generar mapper Clase

¿Alguna sugerencia sobre cómo podemos hacer esto?

Gracias

+0

¿Estás seguro de que un framework mapper de bean como Dozer (http://dozer.sourceforge.net/) no funcionará para ti? – Daff

+0

gracioso ... Iba a escribir un programa de swing para hacer exactamente eso ... ya que no encontré ningún complemento de eclipse. Hombre ... el número de veces que tienes que configurar esto para obtener eso ... Tanto tipear ... Pero se detuvo porque no valía la pena. Avísame si encuentras uno ... – sethu

+0

Dozer parece hacer lo que ambos necesitaban ... Pero es un mapeo estático de una clase a otra ... Si necesita mapear variables entre múltiples clases, entonces necesitaría escribir/generar el código – sethu

Respuesta

2

Esto lo que vas a hacer ofrece una funcionalidad similar a la del dormilón, pero de código estático tiene esta superioridad, que es más rápido, que contiene la lógica sólo en código, y es más fácil de encontrar el empleo de campo vía jerarquía de llamadas en IDE.

En general, el plugin de Eclipse sería la mejor manera de comenzar, ya que solo se puede proyectar GUI y la visualización se realiza por Eclipse, y también tiene acceso a sus excelentes herramientas para trabajar con código Java.

Creo que la peor parte sería la de configuración. Dozer tiene su mapeador primitivo (primitivo en la forma en que lo convierte entre los tipos Java primitivos y nativos;) que maneja las conversiones más típicas entre los tipos estándar, sin embargo, hay una gran necesidad de configurarlo. Por ejemplo, las cadenas que representan booleanos pueden ser 't' y 'f', o 'verdadero' y 'falso' o '1' y '0', o palabras de otro idioma. Las fechas pueden tener varios formatos, etc. Por lo tanto, necesitaría configurar en este plugin varios mapeadores, de forma reproducible mediante la definición de fragmentos de código propios para manejar conversiones específicas.

Sin embargo, si lo hace, será muy apreciado. Estaba buscando algo recientemente, eso haría aún más, me refiero a que podría crear mapas Y los dto con los que se combinará el código, con la posibilidad de fusionar la jerarquía de clases para el diseño, cuando los subtipos de objetos están representados por varias clases, clase única plana, mejor para el transporte json, sin embargo, sin resultado.

Cuestiones relacionadas