All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jpattern.gwt.client.serializer.GwtProJsonObjectSerializer Maven / Gradle / Ivy

package com.jpattern.gwt.client.serializer;

import com.google.gwt.core.client.GWT;
import com.jpattern.gwt.client.IApplicationProvider;
import com.jpattern.gwt.client.logger.ILogger;
import com.kfuntak.gwt.json.serialization.client.Serializer;

/**
 * 
 * @author Francesco Cina'
 *
 */
public class GwtProJsonObjectSerializer implements IObjectSerializer {

	private final Class aClass;
	private final ILogger logger;
	private final Serializer serializer;
	
	public GwtProJsonObjectSerializer(Serializer serializer, Class aClass, IApplicationProvider provider) {
		this.serializer = serializer;
		this.aClass = aClass;
		this.logger = provider.getLoggerService().getLogger(this.getClass());
	}

	@SuppressWarnings("unchecked")
	@Override
	public T deserialize(String json) {
		logger.trace("deserialize", "Expected object class: " + aClass);
		logger.trace("deserialize", "json object to deserialize: " + json);
		return (T) serializer.deSerialize( json , aClass.getName() );
	}

	@Override
	public String serialize(T bean) {
		Serializer serializer =  (Serializer) GWT.create( Serializer.class );
		return serializer.serialize( bean );
	}

	@Override
	public Class getSerializerClass() {
		return aClass;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy