ObjectCodec.java
796 Bytes
package com.diligrp.cashier.shared.codec;
import java.io.*;
public final class ObjectCodec implements ByteCodec<Object> {
public static ByteCodec<Object> INSTANCE = new ObjectCodec();
@Override
public Object decode(byte[] payload) throws IOException {
try (ObjectInputStream is = new ObjectInputStream(new ByteArrayInputStream(payload))) {
return is.readObject();
} catch (Exception ex) {
throw new IOException(ex);
}
}
@Override
public byte[] encode(Object payload) throws IOException {
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
ObjectOutputStream os = new ObjectOutputStream(buffer);
os.writeObject(payload);
os.close();
return buffer.toByteArray();
}
}