Class XStreamWrapper


  • public class XStreamWrapper
    extends Object
    • 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, 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> 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 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> 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 serialize
        holder - 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 null
        holder - 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 - object
        xStream - 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 - object
        holder - 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, 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

        @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 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 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:
        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 xml
        holder - xstream holder
        Returns:
        instance or null
        Throws:
        IOException