¿Hay alguna implementación que serialice un objeto Java como código Java? Por ejemplo, si tengo el objetoSerializar un objeto Java a código Java?
Map<String,Integer> m = new Map<String,Integer>();
m.put("foo",new Integer(21));
que podría serializar esto utilizando
ObjectOutputStream out = new ObjectOutputStream(...);
out.writeObject(m);
out.flush();
y la salida sería, por ejemplo, ser
java.util.Map<String,Integer> m = new java.util.Map<String,Integer>();
m.put("foo",new Integer(21));
¿Por qué quieres esto? A veces es más fácil crear objetos complejos de forma programática y luego completar la creación manualmente en el código. Este código se puede incluir en la fuente y la versión controlada con todo lo demás. Tenga en cuenta que el uso de objetos serializados externos no es excepcional.
Gracias por cualquier ayuda que pueda dar.
No creo que haya ninguna forma (estándar) de hacer esto –
(+1) para "¿Por qué quieres esto?", Muchas preguntas quieren algo inusual, pero no explica por qué. Y hay una gran cantidad de generación de códigos de auto, cuando se genera el material principal, y solo unos pocos detalles se codifican a mano ... – umlcat
Otra alternativa sería la generación de código estático (por una entidad externa), por lo que no tiene que hacerlo a mano. El beneficio de esto es que no tiene que gastar ciclos de CPU deserializándolo. – mindas