package org.openmrs.mobile.databases.tables; import org.openmrs.mobile.databases.DBOpenHelper; import org.openmrs.mobile.databases.OpenMRSDBOpenHelper; import org.openmrs.mobile.models.Concept; public class ConceptTable extends Table<Concept> { public static final String TABLE_NAME = "concepts"; /** * Number of columns without ID column * use as a param to * * @see org.openmrs.mobile.databases.tables.Table#values(int) */ private static final int INSERT_COLUMNS_COUNT = 2; public class Column extends MasterColumn { } @Override public String createTableDefinition() { return CREATE_TABLE + TABLE_NAME + "(" + ConceptTable.Column.ID + PRIMARY_KEY + ConceptTable.Column.UUID + ConceptTable.Column.Type.TEXT_TYPE_NOT_NULL + ConceptTable.Column.DISPLAY + ConceptTable.Column.Type.TEXT_TYPE + ");"; } @Override public String insertIntoTableDefinition() { return INSERT_INTO + TABLE_NAME + "(" + ConceptTable.Column.UUID + ConceptTable.Column.COMMA + ConceptTable.Column.DISPLAY + ")" + values(INSERT_COLUMNS_COUNT); } @Override public String dropTableDefinition() { return DROP_TABLE_IF_EXISTS + TABLE_NAME; } @Override public Long insert(Concept tableObject) { DBOpenHelper helper = OpenMRSDBOpenHelper.getInstance().getDBOpenHelper(); return helper.insertConcept(helper.getWritableDatabase(), tableObject); } @Override public int update(long tableObjectID, Concept tableObject) { DBOpenHelper helper = OpenMRSDBOpenHelper.getInstance().getDBOpenHelper(); return helper.updateConcept(helper.getWritableDatabase(), tableObjectID, tableObject); } @Override public void delete(long tableObjectID) { DBOpenHelper openHelper = OpenMRSDBOpenHelper.getInstance().getDBOpenHelper(); openHelper.getWritableDatabase().delete(TABLE_NAME, Table.MasterColumn.ID + Table.MasterColumn.EQUALS + tableObjectID, null); } @Override public String toString() { return TABLE_NAME + createTableDefinition(); } }