Nova versão do xstream
![Nova versão do xstream](https://www.alura.com.br/artigos/assets/code/nova-versao-do-xstream.1739794314.png)
A nova versão do xstream trará grandes novidades, entre elas a idéia de coleções persistentes.
Isto é, imagine que você possui uma java.util.List na sua mão:
public void facaAlgo(List lista) { }
![Banner da Escola de Programação: Matricula-se na escola de Programação. Junte-se a uma comunidade de mais de 500 mil estudantes. Na Alura você tem acesso a todos os cursos em uma única assinatura; tem novos lançamentos a cada semana; desafios práticos. Clique e saiba mais!](assets/alura-matricula-maior-escola-tecnologia-brasil-mais-500-mil-estudantes/matricula-escola-programacao-alura-saiba-mais-versao-mobile.png)
E dentro do seu método você adicione um objeto a essa lista: ```java lista.add(new Pessoa("guilherme silveira","caelum"));
Nesse momento, a sua lista escreveu um arquivo xml em disco, representando a sua entidade!
O XStream escreve exatamente o seguinte xml em disco:
```xml
<pessoa> <nome>guilherme silveira</nome> <empresa>caelum</empresa> </pessoa>
Como fazer isso? Simples, basta você definir o seu diretório onde os arquivos serão salvos e utilizar sua lista para a serialização automática:
File dir = new File("/tmp"); List xmlList = new XmlArrayList(new FileStreamStrategy(dir)); xmlList.add("guilherme"); xmlList.add("silveira");
A classe FileStreamStrategy
é quem define que cada objeto vira um arquivo xml diferente... implementando estratégias diferentes você consegue enviar esses arquivos para algum outro lugar, compactá-los em um único arquivo zip etc.
Essa é mais uma funcionalidade do XStream tentando facilitar a vida de quem trabalha com xml. Neste caso será muito útil para escrever tickets no sistema de arquivos para serem consumidos por algum outro programa.
Acesse xstream.codehaus.org e começe a trabalhar com xml de uma maneira mais simples.