package org.mapdb.serializer; import org.mapdb.CC; import org.mapdb.DataInput2; import org.mapdb.DataOutput2; import org.mapdb.Serializer; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.OutputStream; /** * Created by jan on 2/28/16. */ public class SerializerJava extends GroupSerializerObjectArray { @Override public void serialize(DataOutput2 out, Object value) throws IOException { ObjectOutputStream out2 = new ObjectOutputStream((OutputStream) out); out2.writeObject(value); out2.flush(); } @Override public Object deserialize(DataInput2 in, int available) throws IOException { try { ObjectInputStream in2 = new ObjectInputStream(new DataInput2.DataInputToStream(in)); return in2.readObject(); } catch (ClassNotFoundException e) { throw new IOException(e); } } @Override public Object[] valueArrayDeserialize(DataInput2 in, int size) throws IOException { try { ObjectInputStream in2 = new ObjectInputStream(new DataInput2.DataInputToStream(in)); Object ret = in2.readObject(); if(CC.PARANOID && size!=valueArraySize(ret)) throw new AssertionError(); return (Object[]) ret; } catch (ClassNotFoundException e) { throw new IOException(e); } } @Override public void valueArraySerialize(DataOutput2 out, Object vals) throws IOException { ObjectOutputStream out2 = new ObjectOutputStream((OutputStream) out); out2.writeObject(vals); out2.flush(); } }