Wikipedia

XStream

XStream Library
Developer(s)Codehaus
Initial releaseJanuary 1, 2004
Stable release
1.4.12 / April 12, 2020 (2020-04-12)
Written inJava
Operating systemCross-platform
LicenseBSD-style license
Websitex-stream.github.io

XStream is a Java library to serialize objects to XML (or JSON) 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.[1]

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 { private String id; private Cd bonusCd; Cd(String id, Cd bonusCd) { this.id = id; this.bonusCd = bonusCd; } Cd(String id) { this.id = id; } public String getId { return id; } public Cd getBonusCd { return bonusCd; } } 

and add some of these object to a list

Cd bj = new Cd("basement_jaxx_singles"); Cd mr = new Cd("maria rita"); List<Cd> 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:

<list> <cd> <id>maria rita</id> </cd> <cd> <id>basement_jaxx_singles</id> </cd> <cd reference="../cd[2]"/> <list reference=".."/> </list> 

XStream is free software, distributed under a permissive, revised BSD-style licence.

Usage

References

  1. ^ "Use XStream to serialize Java objects into XML". Ibm.com. Archived from the original on February 19, 2009. Retrieved 2009-12-14.
  2. ^ a b "XStream - References". Xstream.codehaus.org. Retrieved 2009-12-14.

External links


This article is copied from an article on Wikipedia® - the free encyclopedia created and edited by its online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of Wikipedia® encyclopedia articles provide accurate and timely information, please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.

Copyright © 2003-2025 Farlex, Inc Disclaimer
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional.