package com.csc.library.gson;

import java.lang.reflect.Type;

import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;

public class SerializeAndDeserializeBase<T> implements JsonDeserializer<T>,JsonSerializer<T>{
	private Class myClass = null;
	
	public SerializeAndDeserializeBase(Class clss) {
		this.myClass = clss;
	}
	
	public Class getMyClass(){
		return this.myClass;
	}

	public JsonElement serialize(Object src, Type typeOfSrc,
			JsonSerializationContext context) {
		return context.serialize(src, this.myClass);
	}

	public T deserialize(JsonElement json, Type typeOfT,
			JsonDeserializationContext context) throws JsonParseException {
		return context.deserialize(json, this.myClass);
	}
}