Package jetbrains.buildServer.xstream
Class XStreamWrapper
- java.lang.Object
-
- jetbrains.buildServer.xstream.XStreamWrapper
-
public class XStreamWrapper extends Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> T
deserializeObject(InputStream is, XStreamHolder holder)
static <T> T
deserializeObject(Reader r, XStreamHolder holder)
static <T> T
deserializeObject(ClassLoader classLoader, String xml, XStreamHolder holder)
Deserializes one object of type T from a given xml string.static <T> T
deserializeObject(String xml, XStreamHolder holder)
Deserializes one object of type T from a given xml string.static <T> List<T>
deserializeObjects(Class<T> clazz, ClassLoader classLoader, Collection<?> objectsXml, XStreamHolder holder)
Creates a list from T objects from a list of serialized objects (strings).static <T> List<T>
deserializeObjects(Collection<?> objectsXml, XStreamHolder holder)
Creates a list from T objects from a list of serialized objects (strings).static byte[]
serializeAndZipObject(Object obj, XStreamHolder holder)
Serialized an object to a zipped xmlstatic String
serializeObject(Object obj, XStreamHolder holder)
Serialized object to xmlstatic <T> Vector
serializeObjects(List<T> list, XStreamHolder holder)
Serialized a list of objects of T to a vector of xml'sstatic String
toXML(Object obj, com.thoughtworks.xstream.XStream xStream)
Serializes given object to xmlstatic <T> T
unzipAndDeserializeObject(byte[] zipped, XStreamHolder holder)
Deserializes one object of type T from a given zipped xml string.static <T> T
unzipAndDeserializeObject(ClassLoader classLoader, byte[] zipped, XStreamHolder holder)
Deserializes one object of type T from a given zipped xml string.
-
-
-
Method Detail
-
deserializeObjects
@NotNull public static <T> List<T> deserializeObjects(@NotNull Collection<?> objectsXml, @NotNull XStreamHolder holder)
Creates a list from T objects from a list of serialized objects (strings). All instances are created with help of core classloader. If you need to deserialize classes from plugin or custom classloader, usedeserializeObject(ClassLoader, String, jetbrains.buildServer.messages.XStreamHolder)
Note. All errors are not returned, exceptions are just printed to console.- Type Parameters:
T
- type of objects to create- Parameters:
objectsXml
- vector of stringsholder
- xstream holder- Returns:
- list of instances taken from vector.
-
deserializeObjects
@NotNull public static <T> List<T> deserializeObjects(@NotNull Class<T> clazz, @NotNull ClassLoader classLoader, @NotNull Collection<?> objectsXml, @NotNull XStreamHolder holder)
Creates a list from T objects from a list of serialized objects (strings). All instances are created with help of given classloader.
Note. All errors are not returned, exceptions are just printed to console.- Type Parameters:
T
- type of objects to create- Parameters:
clazz
- class that is expected to be serialized in each element of objectsXmlclassLoader
- classloader that will be checked to find classes to instantiateobjectsXml
- vector of stringsholder
- xstream holder- Returns:
- list of instances taken from vector.
-
serializeObjects
public static <T> Vector serializeObjects(@NotNull List<T> list, @NotNull XStreamHolder holder)
Serialized a list of objects of T to a vector of xml's- Type Parameters:
T
- type of objects that will be serialized- Parameters:
list
- objects to serializeholder
- xstream holder- Returns:
- list of xml strings
-
serializeObject
@NotNull public static String serializeObject(@Nullable Object obj, @NotNull XStreamHolder holder)
Serialized object to xml- Parameters:
obj
- object or nullholder
- xstream holder- Returns:
- serialized object as xml string or empty string
-
toXML
@NotNull public static String toXML(@NotNull Object obj, @NotNull com.thoughtworks.xstream.XStream xStream)
Serializes given object to xml- Parameters:
obj
- objectxStream
- xstream serializer- Returns:
- serialized string
-
serializeAndZipObject
@NotNull public static byte[] serializeAndZipObject(@Nullable Object obj, @NotNull XStreamHolder holder) throws IOException
Serialized an object to a zipped xml- Parameters:
obj
- objectholder
- holder- Returns:
- serialized object as zipped xml
- Throws:
IOException
- on error
-
deserializeObject
@Contract("null,_->null") @Nullable public static <T> T deserializeObject(@Nullable String xml, @NotNull XStreamHolder holder)
Deserializes one object of type T from a given xml string. Class T is looked for in core classloader, if you use custom classloader or a plugin class, usedeserializeObject(ClassLoader, String, jetbrains.buildServer.messages.XStreamHolder)
- Type Parameters:
T
- type of object to deserialize- Parameters:
xml
- serialized object in xmlholder
- xstream holder- Returns:
- instance or null
- Throws:
com.thoughtworks.xstream.XStreamException
- ifxml
doesn't contain a well-formed XML or contains XML elements not expected by the deserializer.
-
deserializeObject
@Nullable public static <T> T deserializeObject(@NotNull InputStream is, @NotNull XStreamHolder holder)
-
deserializeObject
public static <T> T deserializeObject(@NotNull Reader r, @NotNull XStreamHolder holder)
-
deserializeObject
@Contract("_,null,_->null") @Nullable public static <T> T deserializeObject(@NotNull ClassLoader classLoader, @Nullable String xml, @NotNull XStreamHolder holder)
Deserializes one object of type T from a given xml string. Class T is searched in given classloader,- Type Parameters:
T
- type of object to deserialize- Parameters:
xml
- serialized object in xmlholder
- xstream holder- Returns:
- instance or null
- Throws:
com.thoughtworks.xstream.XStreamException
- ifxml
doesn't contain a well-formed XML or contains XML elements not expected by the deserializer.
-
unzipAndDeserializeObject
@Contract("null,_->null") @Nullable public static <T> T unzipAndDeserializeObject(@Nullable byte[] zipped, @NotNull XStreamHolder holder) throws IOException
Deserializes one object of type T from a given zipped xml string. Class T is looked for in core classloader, if you use custom classloader or a plugin class, usedeserializeObject(ClassLoader, String, jetbrains.buildServer.messages.XStreamHolder)
- Type Parameters:
T
- type of object to deserialize- Parameters:
zipped
- serialized object in xmlholder
- xstream holder- Returns:
- instance or null
- Throws:
IOException
-
unzipAndDeserializeObject
@Contract("_,null,_->null") @Nullable public static <T> T unzipAndDeserializeObject(@NotNull ClassLoader classLoader, @Nullable byte[] zipped, @NotNull XStreamHolder holder) throws IOException
Deserializes one object of type T from a given zipped xml string. Class T is searched in given classloader,- Type Parameters:
T
- type of object to deserialize- Parameters:
zipped
- serialized object in xmlholder
- xstream holder- Returns:
- instance or null
- Throws:
IOException
-
-