package uk.co.acuminous.julez.marshalling.json; import java.lang.reflect.Type; import java.util.Map; import uk.co.acuminous.julez.event.Event; import uk.co.acuminous.julez.marshalling.EventTranslator; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; public class JsonEventTranslator implements EventTranslator { @Override public String marshall(Event event) { return new Gson().toJson(event.getData()); } @Override public Event unmarshall(String json) { Type type = new TypeToken<Map<String, String>>(){}.getType(); Map<String, String> data = new Gson().fromJson(json, type); return new Event(data); } }