GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Main page
  • Contents
  • Current events
  • Random article
  • About Wikipedia
  • Contact us
  • Help
  • Learn to edit
  • Community portal
  • Recent changes
  • Upload file
  • Special pages
  • Search
  • Donate

This view

  • Original page
  • New address

GeezerVison is showing en.wikipedia.org — XStream - Wikipedia

XStream Library
DeveloperCodehaus
ReleaseJanuary 1, 2004 (2004-01-01)
Stable release
1.4.20 / December 24, 2022 (2022-12-24)
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.

NOTE: Not to confuse with XStream stream processing platform at Meta.

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

  • Confluence[2]

References

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

External links

  • Library Home Page



Stub icon

This computer-library-related article is a stub. You can help Wikipedia by adding missing information.

  • v
  • t
  • e
Retrieved from "https://en.wikipedia.org/w/index.php?title=XStream&oldid=1359727903"
Categories:
  • XML software
  • Java (programming language) libraries
  • Free computer programming tools
  • Computer library stubs
Hidden categories:
  • Articles with short description
  • Short description matches Wikidata
  • All stub articles
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.