package org.myeslib.util.hazelcast; import java.io.IOException; import lombok.AllArgsConstructor; import com.google.gson.Gson; import com.hazelcast.nio.serialization.ByteArraySerializer; @AllArgsConstructor public class HzGsonSerializer implements ByteArraySerializer<Object> { final Gson gson ; final int type ; final Class<?> clazz; @Override public void destroy() { } @Override public int getTypeId() { return type; } @Override public Object read(byte[] data) throws IOException { String json = new String(data); Object result = gson.fromJson(json, clazz); return result; } @Override public byte[] write(Object object) throws IOException { String json = gson.toJson(object, clazz); return json.getBytes(); } }