XStream — это простая библиотека на основе Java для сериализации объектов Java в XML и наоборот.
Простота использования — API-интерфейс XStream обеспечивает высокоуровневый фасад для упрощения общих случаев использования.
Нет необходимости создавать сопоставление — API-интерфейс XStream обеспечивает сопоставление по умолчанию для большинства сериализуемых объектов.
Производительность — XStream работает быстро и занимает мало памяти, что подходит для больших графов объектов или систем.
Чистый XML — XStream производит чистый и компактный вывод XML, который легко читать.
Модификация объекта не требуется — XStream сериализует внутренние поля, такие как закрытые и конечные поля, и поддерживает закрытые и внутренние классы. Конструктор по умолчанию не является обязательным требованием.
Полная поддержка графов объектов — XStream позволяет поддерживать дубликаты ссылок, встречающихся в объектной модели, а также поддерживает циклические ссылки.
Настраиваемые стратегии преобразования. Пользовательские стратегии могут быть зарегистрированы, чтобы можно было представить настройку определенного типа в виде XML.
Инфраструктура безопасности — XStream обеспечивает справедливый контроль над недешевыми типами для предотвращения проблем безопасности с помощью манипулируемого ввода.
Сообщения об ошибках — когда возникает исключение из-за неверно сформированного XML, он предоставляет подробную диагностику для устранения проблемы.
Альтернативный формат вывода — XStream поддерживает другие форматы вывода, такие как JSON и морфинг.
Транспорт — XML представляет собой текстовое представление объекта и может использоваться для передачи объектов по проводам независимо от используемых методов сериализации / десериализации.
Постоянство — объекты могут быть сохранены в виде XML в базах данных и могут быть упорядочены / распакованы по мере необходимости.
Конфигурация — XML не требует пояснений и широко используется для определения конфигураций. Объекты также можно использовать для целей конфигурации после преобразования их в представление XML.
Модульные тесты — API-интерфейс XStream совместим с JUnit и может использоваться для улучшения модульного тестирования модулей приложения.