XStream - Visão geral
XStream é uma biblioteca simples baseada em Java para serializar objetos Java para XML e vice-versa.
Características
Easy to use - A API XStream fornece uma fachada de alto nível para simplificar os casos de uso comuns.
No need to create mapping - A API XStream fornece mapeamento padrão para a maioria dos objetos a serem serializados.
Performance - XStream é rápido e ocupa pouco espaço na memória, o que é adequado para grandes gráficos de objetos ou sistemas.
Clean XML - XStream produz saída XML limpa e compacta que é fácil de ler.
Object modification not required- XStream serializa campos internos como campos privados e finais e oferece suporte a classes internas e não públicas. O construtor padrão não é um requisito obrigatório.
Full object graph support - XStream permite manter referências duplicadas encontradas no modelo de objeto e também suporta referências circulares.
Customizable conversion strategies - Estratégias personalizadas podem ser registradas para permitir a personalização de um tipo específico para ser representado como XML.
Security framework - O XStream fornece um controle justo sobre os tipos não marcados para evitar problemas de segurança com entrada manipulada.
Error messages - Quando ocorre uma exceção devido a XML malformado, ele fornece diagnósticos detalhados para corrigir o problema.
Alternative output format - XStream suporta outros formatos de saída como JSON e morphing.
Usos Comuns
Transport - XML é uma representação de texto do objeto e pode ser usado para transportar objetos pela rede, independentemente das técnicas de serialização / desserialização usadas.
Persistence - Os objetos podem ser persistidos como XML em bancos de dados e podem ser empacotados / descompactados como e quando necessário.
Configuration- XML é autoexplicativo e muito usado para definir configurações. Os objetos também podem ser usados para fins de configuração após convertê-los em representação XML.
Unit Tests - A API XStream é compatível com JUnit e pode ser usada para aprimorar o teste de unidade de módulos de aplicativo.