package com.alibaba.json.test.codec;
import java.io.OutputStream;
import java.util.Collection;
import java.util.HashMap;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
public class GsonCodec implements Codec {
private Gson gson = new Gson();
public String getName() {
return "gson";
}
public <T> T decodeObject(String text, Class<T> clazz) throws Exception {
return (T) gson.fromJson(text, clazz);
}
public <T> Collection<T> decodeArray(String text, Class<T> clazz) throws Exception {
return (Collection<T>) gson.fromJson(text, clazz);
}
public Object decodeObject(String text) throws Exception {
return gson.fromJson(text, HashMap.class);
}
public Object decode(String text) throws Exception {
return gson.fromJson(text, JsonObject.class);
}
public String encode(Object object) throws Exception {
return gson.toJson(object);
}
public <T> T decodeObject(byte[] input, Class<T> clazz) throws Exception {
throw new UnsupportedOperationException();
}
@Override
public byte[] encodeToBytes(Object object) throws Exception {
// TODO Auto-generated method stub
return null;
}
@Override
public void encode(OutputStream out, Object object) throws Exception {
out.write(encodeToBytes(object));
}
}