Olá! Neste artigo mostraremos um pouco do XStream, uma biblioteca Java open-source que permite a serialização de objetos em XML e vice-versa. Proporcionando ao programador um salto de produtividade na hora criar rotinas de importação e exportação com extrema rapidez e um desempenho excelente.
Vamos ao trabalho! Acesse o http://xstream.codehaus.org e faça download da biblioteca. Crie um projeto Java, referencie o arquivo xstream-1.4.1.jar no projeto e estará pronto para iniciar a codificação. Criaremos primeiro a nossa classe modelo, UsuarioVO:
package br.com.versallini.vo;
public class UsuarioVO
private Integer id;
private String name;
private String email;
// ... getters and setters
Agora criaremos o arquivo XML que será utilizado na importação, Usuario.xml:
2 Steve Jobs steve.jobs@apple.com.br
Agora sim podemos criar a nossa classe principal, XStreamUtil:
package br.com.versallini.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import br.com.versallini.vo.UsuarioVO;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
public class XStreamUtil
public static void main(String[] args)
XStreamUtil util = new XStreamUtil();
UsuarioVO user = new UsuarioVO();
user.setId(1);
user.setName("Gabriel Versallini");
user.setEmail("gabriel@versallini.com.br");
util.exportFile(user);
try
util.importFile();
catch (Exception e)
System.out.print(e.getMessage());
}
private void formatXML(XStream xstream, Boolean attribute)
xstream.alias("usuario", UsuarioVO.class);
if (attribute)
xstream.aliasAttribute(UsuarioVO.class, "id", "codigo");
xstream.aliasAttribute(UsuarioVO.class, "name", "nome");
xstream.aliasAttribute(UsuarioVO.class, "email", "email");
}
private void exportFile(UsuarioVO usuario)
XStream xstream = new XStream(new DomDriver());
formatXML(xstream, false);
String xml = xstream.toXML(usuario);
System.out.println(xml + "n");
private void importFile() throws IOException
File file = new File("./Usuario.xml");
InputStream inputStream = new FileInputStream(file);
XStream xstream = new XStream(new DomDriver());
formatXML(xstream, false);
UsuarioVO usuario = (UsuarioVO) xstream.fromXML(inputStream);
System.out.println("########################################");
System.out.println("ID: " + usuario.getId());
System.out.println("Nome: " + usuario.getName());
System.out.println("Email: " + usuario.getEmail());
System.out.println("########################################");
}
O método formatXML na linha 38 permite que a leitura ou geração do arquivo XML em 2 formatos (com ou sem atributos), veja a seguir:
1 Gabriel Versallini gabriel@versallini.com.br
Simples, não?! Faça seus testes e divirta-se.
Até a próxima!
Abraço


Uma das funcionalidade que mais me foi útil no Adobe AIR, foi a adição de uma API mais bem elaborada para fazer atualização automatica de meus aplicativos. Isso pode ser muito importante porque nem todos os usuários tem tempo(ou vontade) de voltar no site do aplicativo para baixar a última versão.














