package com.fastaccess.data.dao.converters; import com.fastaccess.provider.rest.RestProvider; import io.requery.Converter; /** * Created by Kosh on 15 Mar 2017, 8:02 PM */ public abstract class BaseConverter<C> implements Converter<C, String> { protected abstract Class<? extends C> getTypeClass(); @SuppressWarnings("unchecked") @Override public Class<C> getMappedType() { return (Class<C>) getTypeClass(); } @Override public Class<String> getPersistedType() { return String.class; } @Override public Integer getPersistedSize() { return null; } @Override public String convertToPersisted(C value) { return RestProvider.gson.toJson(value); } @Override public C convertToMapped(Class<? extends C> type, String value) { return RestProvider.gson.fromJson(value, type); } }