package org.zstack.utils.gson; import com.google.gson.ExclusionStrategy; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.InstanceCreator; public class GsonUtil { GsonBuilder _gsonBuilder; public GsonUtil() { _gsonBuilder = new GsonBuilder(); } public GsonUtil setCoder(Class<?> clazz, GsonTypeCoder<?> coder) { _gsonBuilder.registerTypeAdapter(clazz, coder); return this; } public GsonUtil setExclusionStrategies(ExclusionStrategy[] excludeStrateges) { _gsonBuilder.setExclusionStrategies(excludeStrateges); return this; } public GsonUtil setInstanceCreator(Class<?> clazz, InstanceCreator<?> creator) { _gsonBuilder.registerTypeAdapter(clazz, creator); return this; } public GsonUtil enableNullDecoder() { _gsonBuilder.serializeNulls(); return this; } public Gson create() { //TODO: configuration database _gsonBuilder.setVersion(1.7); return _gsonBuilder.create(); } }