Selhoz-katalog.ru

Сельхоз каталог

XStream

Перейти к: навигация, поиск
XStream
Тип

Библиотека

Разработчик

Codehaus

Написана на

Java

Операционная система

Кроссплатформенное программное обеспечение

Аппаратная платформа

Java Virtual Machine

Последняя версия

1.4.4 (19 января, 2013 г.)

Лицензия

BSD

Сайт

xstream.codehaus.org

XStream — это Java библиотека классов для сериализации объектов в XML (или JSON) формат.

Особенности

XStream использует рефлексию для исследования структуры объекта в процессе выполнения программы, и не требует внесения изменений в сам объект.[1] Библиотека позволяет сериализовать приватные, а также, объявленные как final, поля. Кроме этого, поддерживаются не публичные и вложенные классы.

При сериализации объекта выполняется построение его полного графа. При этом сохраняются все кросс-ссылки объекта.

К примеру, возьмем следующий класс 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;
	}
}

Добавим несколько объектов этого типа в список и сериализуем то, что у нас получилось:

Cd bj = new Cd("basement_jaxx_singles");
Cd mr = new Cd("maria rita");
		
List order = new ArrayList();
order.add(mr);
// добавим два раза один и тот же объект (две ссылки на один и тот же объект)
order.add(bj);
order.add(bj);

// добавим в список сам список (закольцовывание)
order.add(order);

XStream xstream = new XStream();
xstream.alias("cd", Cd.class);
System.out.println(xstream.toXML(order));

Если выполнить этот код с настройками XStream по умолчанию, то получится следующий XML документ:

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

Лицензирование

XStream является свободным ПО, распространяемым с использованием лицензии BSD типа.

Использование

Примечания

  1. Применение XStream для сериализации Java-объектов в XML (рус.). developerWorks Россия (05.10.2009). Проверено 17 сентября 2013.
  2. ↑ Xstream references

Ссылки

  • Сайт проекта

XStream.

© 2021–2023 selhoz-katalog.ru, Россия, Тула, ул. Октябр 53, +7 (4872) 93-16-24