GsonAgent/src/main/java/cn/citycraft/GsonAgent/api/Gson.java

77 lines
2.3 KiB
Java
Raw Normal View History

2016-01-06 03:13:42 +00:00
package cn.citycraft.GsonAgent.api;
import java.io.Reader;
import java.lang.reflect.Type;
import cn.citycraft.GsonAgent.api.exception.JsonIOException;
import cn.citycraft.GsonAgent.api.exception.JsonSyntaxException;
import cn.citycraft.GsonAgent.api.reflect.TypeToken;
import cn.citycraft.GsonAgent.api.stream.JsonReader;
import cn.citycraft.GsonAgent.api.stream.JsonWriter;
/**
* GsonAPI
* Gson
*
* @since 201615 12:48:43
* @author
*/
public interface Gson {
public <T> T fromJson(JsonElement json, Class<T> classOfT) throws JsonSyntaxException;
public <T> T fromJson(JsonElement json, Type typeOfT) throws JsonSyntaxException;
public <T> T fromJson(JsonReader reader, Type typeOfT) throws JsonIOException, JsonSyntaxException;
public <T> T fromJson(Reader json, Class<T> classOfT) throws JsonSyntaxException, JsonIOException;
public <T> T fromJson(Reader json, Type typeOfT) throws JsonIOException, JsonSyntaxException;
/**
* @param result
* Json
* @param clazz
*
* @return
*/
public <T> T fromJson(final String result, Class<T> clazz) throws JsonSyntaxException;
public <T> T fromJson(String json, Type typeOfT) throws JsonSyntaxException;
public <T> TypeAdapter<T> getAdapter(Class<T> type);
public <T> TypeAdapter<T> getAdapter(TypeToken<T> type);
public <T> TypeAdapter<T> getDelegateAdapter(TypeAdapterFactory skipPast, TypeToken<T> type);
public String toJson(JsonElement jsonElement);
public void toJson(JsonElement jsonElement, Appendable writer) throws JsonIOException;
public void toJson(JsonElement jsonElement, JsonWriter writer) throws JsonIOException;
/**
* Json
*
* @param src
*
* @return
*/
public String toJson(Object src);
public void toJson(Object src, Appendable writer) throws JsonIOException;
public String toJson(Object src, Type typeOfSrc);
public void toJson(Object src, Type typeOfSrc, Appendable writer) throws JsonIOException;
public void toJson(Object src, Type typeOfSrc, JsonWriter writer) throws JsonIOException;
public JsonElement toJsonTree(Object src);
public JsonElement toJsonTree(Object src, Type typeOfSrc);
@Override
public String toString();
}