Class XStreamWrapper


  • public class XStreamWrapper
    extends java.lang.Object
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <T> T deserializeObject​(java.lang.ClassLoader classLoader, java.lang.String xml, XStreamHolder holder)
      Deserializes one object of type T from a given xml string.
      static <T> T deserializeObject​(java.lang.String xml, XStreamHolder holder)
      Deserializes one object of type T from a given xml string.
      static <T> java.util.List<T> deserializeObjects​(java.lang.Class<T> clazz, java.lang.ClassLoader classLoader, java.util.Collection<?> objectsXml, XStreamHolder holder)
      Creates a list from T objects from a list of serialized objects (strings).
      static <T> java.util.List<T> deserializeObjects​(java.util.Collection<?> objectsXml, XStreamHolder holder)
      Creates a list from T objects from a list of serialized objects (strings).
      static byte[] serializeAndZipObject​(java.lang.Object obj, XStreamHolder holder)
      Serialized an object to a zipped xml
      static java.lang.String serializeObject​(java.lang.Object obj, XStreamHolder holder)
      Serialized object to xml
      static <T> java.util.Vector serializeObjects​(java.util.List<T> list, XStreamHolder holder)
      Serialized a list of objects of T to a vector of xml's
      static java.lang.String toXML​(java.lang.Object obj, com.thoughtworks.xstream.XStream xStream)
      Serializes given object to xml
      static <T> T unzipAndDeserializeObject​(byte[] zipped, XStreamHolder holder)
      Deserializes one object of type T from a given zipped xml string.
      static <T> T unzipAndDeserializeObject​(java.lang.ClassLoader classLoader, byte[] zipped, XStreamHolder holder)
      Deserializes one object of type T from a given zipped xml string.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • deserializeObjects

        @NotNull
        public static <T> java.util.List<T> deserializeObjects​(@NotNull
                                                               java.util.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, use deserializeObject(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 strings
        holder - xstream holder
        Returns:
        list of instances taken from vector.
      • deserializeObjects

        @NotNull
        public static <T> java.util.List<T> deserializeObjects​(@NotNull
                                                               java.lang.Class<T> clazz,
                                                               @NotNull
                                                               java.lang.ClassLoader classLoader,
                                                               @NotNull
                                                               java.util.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 objectsXml
        classLoader - classloader that will be checked to find classes to instantiate
        objectsXml - vector of strings
        holder - xstream holder
        Returns:
        list of instances taken from vector.
      • serializeObjects

        public static <T> java.util.Vector serializeObjects​(@NotNull
                                                            java.util.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 serialize
        holder - xstream holder
        Returns:
        list of xml strings
      • serializeObject

        @NotNull
        public static java.lang.String serializeObject​(@Nullable
                                                       java.lang.Object obj,
                                                       @NotNull
                                                       XStreamHolder holder)
        Serialized object to xml
        Parameters:
        obj - object or null
        holder - xstream holder
        Returns:
        serialized object as xml string or empty string
      • toXML

        @NotNull
        public static java.lang.String toXML​(@NotNull
                                             java.lang.Object obj,
                                             @NotNull
                                             com.thoughtworks.xstream.XStream xStream)
        Serializes given object to xml
        Parameters:
        obj - object
        xStream - xstream serializer
        Returns:
        serialized string
      • serializeAndZipObject

        @NotNull
        public static byte[] serializeAndZipObject​(@Nullable
                                                   java.lang.Object obj,
                                                   @NotNull
                                                   XStreamHolder holder)
                                            throws java.io.IOException
        Serialized an object to a zipped xml
        Parameters:
        obj - object
        holder - holder
        Returns:
        serialized object as zipped xml
        Throws:
        java.io.IOException - on error
      • deserializeObject

        @Contract("null,_->null")
        @Nullable
        public static <T> T deserializeObject​(@Nullable
                                              java.lang.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, use deserializeObject(ClassLoader, String, jetbrains.buildServer.messages.XStreamHolder)
        Type Parameters:
        T - type of object to deserialize
        Parameters:
        xml - serialized object in xml
        holder - xstream holder
        Returns:
        instance or null
        Throws:
        com.thoughtworks.xstream.XStreamException - if xml doesn't contain a well-formed XML or contains XML elements not expected by the deserializer.
      • deserializeObject

        @Contract("_,null,_->null")
        @Nullable
        public static <T> T deserializeObject​(@NotNull
                                              java.lang.ClassLoader classLoader,
                                              @Nullable
                                              java.lang.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 xml
        holder - xstream holder
        Returns:
        instance or null
        Throws:
        com.thoughtworks.xstream.XStreamException - if xml 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 java.io.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, use deserializeObject(ClassLoader, String, jetbrains.buildServer.messages.XStreamHolder)
        Type Parameters:
        T - type of object to deserialize
        Parameters:
        zipped - serialized object in xml
        holder - xstream holder
        Returns:
        instance or null
        Throws:
        java.io.IOException
      • unzipAndDeserializeObject

        @Contract("_,null,_->null")
        @Nullable
        public static <T> T unzipAndDeserializeObject​(@NotNull
                                                      java.lang.ClassLoader classLoader,
                                                      @Nullable
                                                      byte[] zipped,
                                                      @NotNull
                                                      XStreamHolder holder)
                                               throws java.io.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 xml
        holder - xstream holder
        Returns:
        instance or null
        Throws:
        java.io.IOException