package by.istin.android.xcore.issues.issue12.model; import android.content.ContentValues; import android.provider.BaseColumns; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonElement; import com.google.gson.annotations.SerializedName; import java.lang.reflect.Type; import by.istin.android.xcore.annotations.JsonEntityConverter; import by.istin.android.xcore.annotations.dbLong; import by.istin.android.xcore.db.IDBConnection; import by.istin.android.xcore.db.entity.IGenerateID; import by.istin.android.xcore.db.impl.DBHelper; import by.istin.android.xcore.gson.IGsonEntityConverter; import by.istin.android.xcore.source.DataSourceRequest; import by.istin.android.xcore.utils.HashUtils; /** * Created by IstiN on 13.11.13. */ @JsonEntityConverter(converter = DayEntity.DayEntityConverter.class) public class DayEntity implements BaseColumns, IGenerateID { public static class DayEntityConverter implements IGsonEntityConverter { @Override public void convert(ContentValues contentValues, Object parent, JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) { if (jsonElement.isJsonPrimitive()) { contentValues.put(VALUE, jsonElement.getAsLong()); } } } @dbLong @SerializedName(value = "id") public static final String ID = _ID; @dbLong @SerializedName(value = "value") public static final String VALUE = "value"; @Override public long generateId(DBHelper dbHelper, IDBConnection db, DataSourceRequest dataSourceRequest, ContentValues contentValues) { return HashUtils.generateId(contentValues.getAsString(VALUE)); } }