package br.com.while42.rpgcs.persist.table; import android.content.ContentValues; import android.database.sqlite.SQLiteDatabase; import android.provider.BaseColumns; import br.com.while42.rpgcs.model.character.RpgCharacter; public final class RpgCharacterTable { public static final String NAME = "rpg_character"; public static class RpgCharacterColumns implements BaseColumns { public static final String NAME = "name"; public static final String SERIAL_VERSION = "serialVersionUID"; public static final String SERIALIZE = "serialize"; public static String[] get() { return new String[] { BaseColumns._ID, RpgCharacterColumns.NAME, RpgCharacterColumns.SERIAL_VERSION, RpgCharacterColumns.SERIALIZE, }; } } public static ContentValues toContentValues(RpgCharacter rpgCharacter) { ContentValues values = new ContentValues(); // values.put("id", a.getId()); // WRONG! values.put(RpgCharacterColumns.NAME, rpgCharacter.getCharacteristics().getName()); values.put(RpgCharacterColumns.SERIAL_VERSION, RpgCharacter.getSerialVersionUID()); values.put(RpgCharacterColumns.SERIALIZE, RpgCharacter.serialize(rpgCharacter)); return values; } public static void onCreate(SQLiteDatabase db) { StringBuilder sb = new StringBuilder(); sb.append("CREATE TABLE " + RpgCharacterTable.NAME + " ("); sb.append(BaseColumns._ID + " INTEGER PRIMARY KEY, "); sb.append(RpgCharacterColumns.NAME + " TEXT,"); sb.append(RpgCharacterColumns.SERIAL_VERSION + " INTEGER, "); sb.append(RpgCharacterColumns.SERIALIZE + " BLOB "); sb.append(");"); db.execSQL(sb.toString()); } public static void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + RpgCharacterTable.NAME); onCreate(db); } public static void clear(SQLiteDatabase db) { db.execSQL("DELETE FROM " + RpgCharacterTable.NAME); } }