package com.pqt.core.communication; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; //TODO écrire Javadoc public class GSonMessageToolFactory implements IMessageToolFactory { private Gson gson; public GSonMessageToolFactory() { gson = new GsonBuilder().create(); } public IObjectFormatter getObjectFormatter(Class clazz){ return (obj)->gson.toJson(obj); } public IObjectParser getObjectParser(Class clazz){ return (str)->gson.fromJson(str, clazz); } public IObjectFormatter> getListFormatter(Class clazz){ return (obj)->gson.toJson(obj); } public IObjectParser> getListParser(Class clazz){ Type listType = new TypeToken>(){}.getType(); return (str)->gson.fromJson(str, listType); } }