package com.num.database.mapping;
import java.util.HashMap;
import com.num.database.DatabaseColumns;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public abstract class BaseMapping extends SQLiteOpenHelper {
String TABLE_NAME;
int DATABASE_VERSION;
public BaseMapping(Context context,String tableName, int version) {
super(context, tableName+".db", null, version);
TABLE_NAME = tableName;
DATABASE_VERSION = version;
}
public DatabaseColumns columns;
// Method is called during creation of the database
@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL(getCreateText());
}
// Method is called during an upgrade of the database,
// e.g. if you increase the database version
@Override
public void onUpgrade(SQLiteDatabase database, int oldVersion,
int newVersion) {
Log.w(BaseMapping .class.getName(), "Upgrading database " + getDBName()+" from version "
+ oldVersion + " to " + newVersion
+ ", which will destroy all old data");
database.execSQL("DROP TABLE IF EXISTS " + getTableName());
onCreate(database);
}
public String getCreateText() {
return getDatabaseColumns().getDatabaseCreateText();
}
public DatabaseColumns getDatabaseColumns() {
setColumnMap();
return columns;
}
public abstract void setColumnMap();
public String getTableName() {
return TABLE_NAME;
}
public String getDBName() {
return getTableName()+".db";
}
}