All Downloads are FREE. Search and download functionalities are using the official Maven repository.

wf.utils.java.data.serialization.SerializationUtils Maven / Gradle / Ivy

There is a newer version: 3.3.4
Show newest version
package wf.utils.java.data.serialization;



import wf.utils.java.misc.annotation.Nullable;

import java.io.*;

public class SerializationUtils {


    public SerializationUtils() {

    }

    @Nullable
    public static byte[] serialize(@Nullable Object object) {
        if (object == null) {
            return null;
        } else {
            ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);

            try {
                ObjectOutputStream oos = new ObjectOutputStream(baos);

                try {
                    oos.writeObject(object);
                    oos.flush();
                } catch (Throwable var6) {
                    try {
                        oos.close();
                    } catch (Throwable var5) {
                        var6.addSuppressed(var5);
                    }

                    throw var6;
                }

                oos.close();
            } catch (IOException var7) {
                throw new IllegalArgumentException("Failed to serialize object of type: " + object.getClass(), var7);
            }

            return baos.toByteArray();
        }
    }

    /** @deprecated */
    @Deprecated
    @Nullable
    public static Object deserialize(@Nullable byte[] bytes) {
        if (bytes == null) {
            return null;
        } else {
            try {
                ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bytes));

                Object var2;
                try {
                    var2 = ois.readObject();
                } catch (Throwable var5) {
                    try {
                        ois.close();
                    } catch (Throwable var4) {
                        var5.addSuppressed(var4);
                    }

                    throw var5;
                }

                ois.close();
                return var2;
            } catch (IOException var6) {
                throw new IllegalArgumentException("Failed to deserialize object", var6);
            } catch (ClassNotFoundException var7) {
                throw new IllegalStateException("Failed to deserialize object type", var7);
            }
        }
    }

    public static  T clone(T object) {
        return (T) deserialize(serialize(object));
    }


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy