Foros del Web » Programación para mayores de 30 ;) » Java »

Serializable

Estas en el tema de Serializable en el foro de Java en Foros del Web. Hola a todos, hago uso de una clase que se llama Usuario, que tiene un atributo Pais que es una clase. Lo que tengo que ...
  #1 (permalink)  
Antiguo 12/06/2012, 12:18
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 8 meses
Puntos: 71
Información Serializable

Hola a todos, hago uso de una clase que se llama Usuario, que tiene un atributo Pais que es una clase. Lo que tengo que hacer es serializar la clase Usuario, pero sin que la Pais implemente la interfaz Serializable. He estado buscando datos y revisando mucho pero no hallo una forma. Espero me puedan ayudar, desde ya las gracias por su tiempo.
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%
  #2 (permalink)  
Antiguo 12/06/2012, 12:26
 
Fecha de Ingreso: diciembre-2011
Mensajes: 152
Antigüedad: 13 años
Puntos: 34
Respuesta: Serializable

Seguro que investigaste? por que no es tan complicado con una googleada encuentras el resultado:
Utiliza el modificador transient;
Cita:
transient is a keyword used as a field modifier. When a field is declared transient, it would not be serialized even if the class to which it belongs is serialized. In Java, methods, classes and interfaces cannot be declared as transient.[1]
  #3 (permalink)  
Antiguo 12/06/2012, 12:31
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 8 meses
Puntos: 71
Respuesta: Serializable

Cita:
Iniciado por LuisChavezB Ver Mensaje
Seguro que investigaste? por que no es tan complicado con una googleada encuentras el resultado:
Utiliza el modificador transient;
Gracias por la respuesta; pero lo que deseo es serializar la clase Pais, ya que un transient evitaría que esto se haga.
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%
  #4 (permalink)  
Antiguo 12/06/2012, 12:41
 
Fecha de Ingreso: diciembre-2011
Mensajes: 152
Antigüedad: 13 años
Puntos: 34
Respuesta: Serializable

Cita:
Iniciado por CapacProg Ver Mensaje
Hola a todos, hago uso de una clase que se llama Usuario, que tiene un atributo Pais que es una clase. Lo que tengo que hacer es serializar la clase Usuario, pero sin que la Pais implemente la interfaz Serializable. He estado buscando datos y revisando mucho pero no hallo una forma. Espero me puedan ayudar, desde ya las gracias por su tiempo.
Perdona pero eso es lo que estas dando a entender si no quieres que pais implemente Serializable entonces no quieres que se serialize. y para evitar errores tienes que utilizar el modificador transient en el campo pais de la clase Usuario.
  #5 (permalink)  
Antiguo 12/06/2012, 12:46
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 8 meses
Puntos: 71
Respuesta: Serializable

Cita:
Iniciado por LuisChavezB Ver Mensaje
Perdona pero eso es lo que estas dando a entender si no quieres que pais implemente Serializable entonces no quieres que se serialize. y para evitar errores tienes que utilizar el modificador transient en el campo pais de la clase Usuario.
Bueno, sin embargo necesito serializar la clase Usuario, sin modificar la clase Pais. Digamos que tengo un JAR donde ya no puedo modificar las fuentes y que en este hay una clase que no es serializable, pero tengo otra clase que se ayuda de esta mediante composición o referenciación y que necesita ser serializada.
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%
  #6 (permalink)  
Antiguo 12/06/2012, 13:15
 
Fecha de Ingreso: diciembre-2011
Mensajes: 152
Antigüedad: 13 años
Puntos: 34
Respuesta: Serializable

Podrias utilizar Javassist para agregar la interface serializable o dejarte de problemas y serializarlo a JSON o XML.

javassist:
Código Javascript:
Ver original
  1. ClassPool pool = ClassPool.getDefault();
  2.         CtClass cc = pool.get("tests.Foo");
  3.         cc.addInterface(pool.get("java.io.Serializable"));
  4.         Object object = cc.toClass().newInstance();

Última edición por LuisChavezB; 12/06/2012 a las 13:29
  #7 (permalink)  
Antiguo 12/06/2012, 20:44
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 8 meses
Puntos: 71
Respuesta: Serializable

Cita:
Iniciado por LuisChavezB Ver Mensaje
Podrias utilizar Javassist para agregar la interface serializable o dejarte de problemas y serializarlo a JSON o XML.

javassist:
Código Javascript:
Ver original
  1. ClassPool pool = ClassPool.getDefault();
  2.         CtClass cc = pool.get("tests.Foo");
  3.         cc.addInterface(pool.get("java.io.Serializable"));
  4.         Object object = cc.toClass().newInstance();
Ok. Gracias analizaré la opción que me das y comentaré al respecto. Gracias de nuevo por tu tiempo
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%

Etiquetas: clase, serializable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:08.