Oi, será que alguém que poderia ajudar, nesta questão?
Eu estou neste momento a utilizar o XML Encoder para suportar uma feature numa aplicação que estou a desenvolver, e tudo corre bem excepto quando tendo fazer o encoding de uma classe que tem como atributo uma lista...
Quando eu faço decode na classe está tudo bem, mas a lista está vazia!
Se eu fizer apenas encode e decode à lista tudo corre bem.
Um exemplo :
A classe com a definição da lista como atributo...
import java.util.LinkedList;
import java.util.List;
public class JavaClass {
public List list = new LinkedList();
}
JavaClass java = new JavaClass();
java.list.add(new Date());
System.out.println(java.list.size()); => "1"
String dumpstring = dump(java);
java = (JavaClass)load(dumpstring);
System.out.println(java.list.size()); => "0"
utilizando estes métodos
public String dump(Object object) throws IOException {
ByteArrayOutputStream arraystream = new ByteArrayOutputStream();
XMLEncoder a= new XMLEncoder(arraystream);
a.writeObject(object);
a.close();
String value = arraystream.toString();
arraystream.close();
return value;
}
public static Object load(String value) throws IOException, ClassNotFoundException {
ByteArrayInputStream stream = new ByteArrayInputStream(value.getBytes());
XMLDecoder a = new XMLDecoder(stream);
Object object = a.readObject();
a.close();
stream.close();
return object;
}
É necessário algum tratamento especial para este caso? Não estou mesmo a ver o problema?
Obrigado pela ajuda!!!