package by.istin.android.xcore.model;
import android.provider.BaseColumns;
import com.google.gson.annotations.SerializedName;
import by.istin.android.xcore.annotations.dbEntities;
import by.istin.android.xcore.annotations.dbLong;
import by.istin.android.xcore.annotations.dbString;
import by.istin.android.xcore.gson.GsonPrimitiveJoinerConverter;
/**
* Created by IstiN on 13.11.13.
*/
public class SimpleEntityWithCustomPrimitiveConverter implements BaseColumns {
@dbLong
@SerializedName(value = "id")
public static final String ID = _ID;
@dbString
@SerializedName(value = "title")
public static final String TITLE = "title";
@dbString
@SerializedName(value = "about")
public static final String ABOUT = "about";
@dbString
@SerializedName(value = "image_url")
public static final String IMAGE_URL = "image_url";
//for processing primitive types
@dbEntities(clazz = Object.class, contentValuesKey = "stubValues", jsonConverter = TagJsonConverter.class)
@SerializedName(value = "tags")
public static final String TAGS_FOR_PROCESSING = "tags_for_processing";
@dbString
//for insert to DB primitive types
public static final String TAGS = "tags";
public static class TagJsonConverter extends GsonPrimitiveJoinerConverter {
@Override
public String getSplitter() {
return ", ";
}
@Override
public String getEntityKey() {
return TAGS;
}
}
}