// Path: cacheio-core/src/main/java/com/mobilejazz/cacheio/mappers/ValueMapper.java
// public interface ValueMapper {
// 
//   void write(Object value, OutputStream out) throws SerializerException;
// 
//   <T> T read(Class<T> type, InputStream in) throws SerializerException;
// }
// 
// Path: cacheio-core/src/main/java/com/mobilejazz/cacheio/exceptions/SerializerException.java
// public class SerializerException extends CacheIOException {
// 
//   public SerializerException() {
//   }
// 
//   public SerializerException(String detailMessage) {
//     super(detailMessage);
//   }
// 
//   public SerializerException(String detailMessage, Throwable throwable) {
//     super(detailMessage, throwable);
//   }
// 
//   public SerializerException(Throwable throwable) {
//     super(throwable);
//   }
// }


import com.google.gson.Gson;
import com.mobilejazz.cacheio.mappers.ValueMapper;
import com.mobilejazz.cacheio.exceptions.SerializerException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
package com.mobilejazz.cacheio.serializers.gson;



public class GsonValueMapper implements ValueMapper {

    private Gson gson;

    public GsonValueMapper(Gson gson) {
        this.gson = gson;
    }

    @Override
// Path: cacheio-core/src/main/java/com/mobilejazz/cacheio/mappers/ValueMapper.java
// public interface ValueMapper {
// 
//   void write(Object value, OutputStream out) throws SerializerException;
// 
//   <T> T read(Class<T> type, InputStream in) throws SerializerException;
// }
// 
// Path: cacheio-core/src/main/java/com/mobilejazz/cacheio/exceptions/SerializerException.java
// public class SerializerException extends CacheIOException {
// 
//   public SerializerException() {
//   }
// 
//   public SerializerException(String detailMessage) {
//     super(detailMessage);
//   }
// 
//   public SerializerException(String detailMessage, Throwable throwable) {
//     super(detailMessage, throwable);
//   }
// 
//   public SerializerException(Throwable throwable) {
//     super(throwable);
//   }
// }


// Path: cacheio-serializers/cacheio-gson-serializer/src/main/java/com/mobilejazz/cacheio/serializers/gson/GsonValueMapper.java
import com.google.gson.Gson;
import com.mobilejazz.cacheio.mappers.ValueMapper;
import com.mobilejazz.cacheio.exceptions.SerializerException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;

package com.mobilejazz.cacheio.serializers.gson;



public class GsonValueMapper implements ValueMapper {

    private Gson gson;

    public GsonValueMapper(Gson gson) {
        this.gson = gson;
    }

    @Override
    public void write(Object value, OutputStream out) throws SerializerException {