39 lines
916 B
Java
39 lines
916 B
Java
/**
|
|
* Author: Timothy Prepscius
|
|
* License: GPLv3 Affero + keep my name in the code!
|
|
*/
|
|
|
|
package core.util;
|
|
|
|
import java.io.ByteArrayInputStream;
|
|
import java.io.ByteArrayOutputStream;
|
|
import java.io.IOException;
|
|
import java.io.ObjectInputStream;
|
|
import java.io.ObjectOutputStream;
|
|
|
|
public class JavaSerializer
|
|
{
|
|
public static <T> byte[] serialize (T block) throws IOException
|
|
{
|
|
ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
|
ObjectOutputStream oos = new ObjectOutputStream(bos);
|
|
oos.writeObject(block);
|
|
oos.close();
|
|
bos.close();
|
|
|
|
return bos.toByteArray();
|
|
}
|
|
|
|
@SuppressWarnings("unchecked")
|
|
public static <T> T deserialize (byte[] bytes) throws IOException, ClassNotFoundException
|
|
{
|
|
ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
|
|
ObjectInputStream ois = new ObjectInputStream(bis);
|
|
T block = (T)ois.readObject();
|
|
bis.close();
|
|
ois.close();
|
|
|
|
return block;
|
|
}
|
|
}
|