XStream

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

Библиотека

Разработчик

Codehaus

Написана на

Java

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

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

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

1.4.9 (15 марта, 2016 г.)

Лицензия

BSD

Сайт

[x-stream.github.io/ m.github.io]

К:Википедия:Статьи без изображений (тип: не указан)

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<Cd> order = new ArrayList<Cd>();
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 типа.

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

Напишите отзыв о статье "XStream"

Примечания

  1. Бангалор Р. [www.ibm.com/developerworks/ru/library/x-xstream/ Применение XStream для сериализации Java-объектов в XML] (рус.). developerWorks Россия (05.10.2009). Проверено 17 сентября 2013.
  2. 1 2 [xstream.codehaus.org/references.html Xstream references]

Ссылки

  • [x-stream.github.io/ Сайт проекта]


К:Википедия:Изолированные статьи (тип: не указан)

Отрывок, характеризующий XStream

Несмотря на то, что прежде у нее была досада на Наташу за то, что она в Петербурге отбила у нее Бориса, она теперь и не думала об этом, и всей душой, по своему, желала добра Наташе. Уезжая от Ростовых, она отозвала в сторону свою protegee.
– Вчера брат обедал у меня – мы помирали со смеху – ничего не ест и вздыхает по вас, моя прелесть. Il est fou, mais fou amoureux de vous, ma chere. [Он сходит с ума, но сходит с ума от любви к вам, моя милая.]
Наташа багрово покраснела услыхав эти слова.
– Как краснеет, как краснеет, ma delicieuse! [моя прелесть!] – проговорила Элен. – Непременно приезжайте. Si vous aimez quelqu'un, ma delicieuse, ce n'est pas une raison pour se cloitrer. Si meme vous etes promise, je suis sure que votre рromis aurait desire que vous alliez dans le monde en son absence plutot que de deperir d'ennui. [Из того, что вы любите кого нибудь, моя прелестная, никак не следует жить монашенкой. Даже если вы невеста, я уверена, что ваш жених предпочел бы, чтобы вы в его отсутствии выезжали в свет, чем погибали со скуки.]
«Стало быть она знает, что я невеста, стало быть и oни с мужем, с Пьером, с этим справедливым Пьером, думала Наташа, говорили и смеялись про это. Стало быть это ничего». И опять под влиянием Элен то, что прежде представлялось страшным, показалось простым и естественным. «И она такая grande dame, [важная барыня,] такая милая и так видно всей душой любит меня, думала Наташа. И отчего не веселиться?» думала Наташа, удивленными, широко раскрытыми глазами глядя на Элен.
К обеду вернулась Марья Дмитриевна, молчаливая и серьезная, очевидно понесшая поражение у старого князя. Она была еще слишком взволнована от происшедшего столкновения, чтобы быть в силах спокойно рассказать дело. На вопрос графа она отвечала, что всё хорошо и что она завтра расскажет. Узнав о посещении графини Безуховой и приглашении на вечер, Марья Дмитриевна сказала:
– С Безуховой водиться я не люблю и не посоветую; ну, да уж если обещала, поезжай, рассеешься, – прибавила она, обращаясь к Наташе.


Граф Илья Андреич повез своих девиц к графине Безуховой. На вечере было довольно много народу. Но всё общество было почти незнакомо Наташе. Граф Илья Андреич с неудовольствием заметил, что всё это общество состояло преимущественно из мужчин и дам, известных вольностью обращения. M lle Georges, окруженная молодежью, стояла в углу гостиной. Было несколько французов и между ними Метивье, бывший, со времени приезда Элен, домашним человеком у нее. Граф Илья Андреич решился не садиться за карты, не отходить от дочерей и уехать как только кончится представление Georges.