XStream is a
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
library to
serialize
In computing, serialization (or serialisation) is the process of translating a data structure or object state into a format that can be stored (e.g. files in secondary storage devices, data buffers in primary storage devices) or transmitted (e ...
objects to
XML (or
JSON
JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other s ...
) and back again.
XStream library
XStream uses
reflection to discover the structure of the object graph to serialize at
run time, and doesn't require modifications to objects. It can serialize internal fields, including private and final, and supports non-public and inner classes.
Object graph serialization
When serializing an object it serializes the full object graph. Duplicate references encountered in the object-model will be maintained. For example, using the following class CD
package com.thoughtworks.xstream;
public class Cd
and add some of these object to a list
Cd bj = new Cd("basement_jaxx_singles");
Cd mr = new Cd("maria rita");
List order = new ArrayList<>();
order.add(mr);
// adds the same cd twice (two references to the same object)
order.add(bj);
order.add(bj);
// adds itself (cycle)
order.add(order);
XStream xstream = new XStream();
xstream.alias("cd", Cd.class);
System.out.println(xstream.toXML(order));
If the above code is executed with XStream's default relative references mode, it will generate the following XML:
maria rita
basement_jaxx_singles
/>
XStream is
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
, distributed under a permissive,
revised BSD-style licence
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lice ...
.
Usage
*
Confluence
In geography, a confluence (also: ''conflux'') occurs where two or more flowing bodies of water join to form a single channel. A confluence can occur in several configurations: at the point where a tributary joins a larger river ( main stem); ...
References
External links
Library Home Page
XML software
Java (programming language)
Java platform software
Computer libraries
Free computer programming tools
{{compu-library-stub