package by.istin.android.xcore.model; import android.content.ContentValues; import android.provider.BaseColumns; import by.istin.android.xcore.annotations.dbLong; import by.istin.android.xcore.annotations.dbString; 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.source.DataSourceRequest; import by.istin.android.xcore.utils.HashUtils; /** * Created by IstiN on 8.12.13. */ public class TagEntity implements BaseColumns, IGenerateID { @dbLong public static final String ID = _ID; @dbString public static final String VALUE = "value"; @dbLong public static final String SIMPLE_ENTITY_PARENT = DBHelper.getForeignKey(SimpleEntityWithPrimitiveEntity.class); @Override public long generateId(DBHelper dbHelper, IDBConnection db, DataSourceRequest dataSourceRequest, ContentValues contentValues) { //generate unique ID for every association tag with entity, because tags can be repeated return HashUtils.generateId(contentValues.getAsString(VALUE), contentValues.getAsLong(SIMPLE_ENTITY_PARENT)); } }