XStream Tutorial

XStream Tutorial

XStream Tutorial is a simple Java-based library to serialize Java objects to XML and vice versa. This is a brief tutorial that adopts a simple and intuitive way to explain the basic features of XStream library and how to use them.

Audience

This tutorial has been prepared to suit the requirements of Java developers who would like to understand the basics of XStream library and use it in their Java programs.

Prerequisites

Since XStream is a Java-based library, you need to have a clear understanding of Java programming in order to make use of this library.

XStream is a simple Java-based library to serialize Java objects to XML and vice versa.

Features

  • Easy to use − XStream API provides a high-level facade to simplify common use cases.
  • No need to create mapping − XStream API provides default mapping for most of the objects to be serialized.
  • Performance − XStream is fast and is of low memory footprint, which is suitable for large object graphs or systems.
  • Clean XML − XStream produces clean and compact XML output that is easy to read.
  • Object modification not required − XStream serializes internal fields like private and final fields, and supports non-public and inner classes. Default constructor is not a mandatory requirement.
  • Full object graph support − XStream allows to maintain duplicate references encountered in the object-model and also supports circular references.
  • Customizable conversion strategies − Custom strategies can be registered in order to allow customization of a particular type to be represented as XML.
  • Security framework − XStream provides a fair control over unmarshalled types to prevent security issues with manipulated input.
  • Error messages − When an exception occurs due to malformed XML, it provides detailed diagnostics to fix the problem.
  • Alternative output format − XStream supports other output formats like JSON and morphing.

Common Uses

  • Transport − XML is a text representation of object and can be used to transport objects over the wire independent of the serialization / deserialization techniques used.
  • Persistence − Objects can be persisted as XML in databases and can be marshalled/unmarshalled as and when required.
  • Configuration − XML is self-explanatory and is heavily used to define configurations. Objects can also be used for configuration purpose after converting them to XML representation.
  • Unit Tests − XStream API is JUnit compatible and can be used to enhance unit testing of application modules.

Next Topic : Click Here

This Post Has 3 Comments

Leave a Reply