package com.foxykeep.datadroidpoc.data.provider;
import com.foxykeep.datadroidpoc.data.provider.util.ColumnMetadata;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteStatement;
import android.net.Uri;
import android.provider.BaseColumns;
import android.util.Log;
/**
* This class was generated by the ContentProviderCodeGenerator project made by Foxykeep
* <p>
* (More information available https://github.com/foxykeep/ContentProviderCodeGenerator)
*/
public abstract class PoCContent {
public static final Uri CONTENT_URI = Uri.parse("content://" + PoCProvider.AUTHORITY);
private PoCContent() {
}
/**
* Created in version 1
*/
public static final class DbPerson extends PoCContent {
private static final String LOG_TAG = DbPerson.class.getSimpleName();
public static final String TABLE_NAME = "dbPerson";
public static final String TYPE_ELEM_TYPE = "vnd.android.cursor.item/poc-dbperson";
public static final String TYPE_DIR_TYPE = "vnd.android.cursor.dir/poc-dbperson";
public static final Uri CONTENT_URI = Uri.parse(PoCContent.CONTENT_URI + "/" + TABLE_NAME);
public static enum Columns implements ColumnMetadata {
ID(BaseColumns._ID, "integer"),
FIRST_NAME("firstName", "text"),
LAST_NAME("lastName", "text"),
EMAIL("email", "text"),
CITY("city", "text"),
POSTAL_CODE("postalCode", "integer"),
AGE("age", "integer"),
IS_WORKING("isWorking", "integer");
private final String mName;
private final String mType;
private Columns(String name, String type) {
mName = name;
mType = type;
}
@Override
public int getIndex() {
return ordinal();
}
@Override
public String getName() {
return mName;
}
@Override
public String getType() {
return mType;
}
}
public static final String[] PROJECTION = new String[] {
Columns.ID.getName(),
Columns.FIRST_NAME.getName(),
Columns.LAST_NAME.getName(),
Columns.EMAIL.getName(),
Columns.CITY.getName(),
Columns.POSTAL_CODE.getName(),
Columns.AGE.getName(),
Columns.IS_WORKING.getName()
};
private DbPerson() {
// No private constructor
}
public static void createTable(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME + " (" + Columns.ID.getName() + " " + Columns.ID.getType() + ", " + Columns.FIRST_NAME.getName() + " " + Columns.FIRST_NAME.getType() + ", " + Columns.LAST_NAME.getName() + " " + Columns.LAST_NAME.getType() + ", " + Columns.EMAIL.getName() + " " + Columns.EMAIL.getType() + ", " + Columns.CITY.getName() + " " + Columns.CITY.getType() + ", " + Columns.POSTAL_CODE.getName() + " " + Columns.POSTAL_CODE.getType() + ", " + Columns.AGE.getName() + " " + Columns.AGE.getType() + ", " + Columns.IS_WORKING.getName() + " " + Columns.IS_WORKING.getType() + ", PRIMARY KEY (" + Columns.ID.getName() + ")" + ");");
db.execSQL("CREATE INDEX dbPerson_lastName on " + TABLE_NAME + "(" + Columns.LAST_NAME.getName() + ");");
}
// Version 1 : Creation of the table
public static void upgradeTable(SQLiteDatabase db, int oldVersion, int newVersion) {
if (oldVersion < 1) {
Log.i(LOG_TAG, "Upgrading from version " + oldVersion + " to " + newVersion
+ ", data will be lost!");
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME + ";");
createTable(db);
return;
}
if (oldVersion != newVersion) {
throw new IllegalStateException("Error upgrading the database to version "
+ newVersion);
}
}
static String getBulkInsertString() {
return new StringBuilder("INSERT INTO ").append(TABLE_NAME).append(" ( ").append(Columns.ID.getName()).append(", ").append(Columns.FIRST_NAME.getName()).append(", ").append(Columns.LAST_NAME.getName()).append(", ").append(Columns.EMAIL.getName()).append(", ").append(Columns.CITY.getName()).append(", ").append(Columns.POSTAL_CODE.getName()).append(", ").append(Columns.AGE.getName()).append(", ").append(Columns.IS_WORKING.getName()).append(" ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)").toString();
}
static void bindValuesInBulkInsert(SQLiteStatement stmt, ContentValues values) {
int i = 1;
String value;
stmt.bindLong(i++, values.getAsLong(Columns.ID.getName()));
value = values.getAsString(Columns.FIRST_NAME.getName());
stmt.bindString(i++, value != null ? value : "");
value = values.getAsString(Columns.LAST_NAME.getName());
stmt.bindString(i++, value != null ? value : "");
value = values.getAsString(Columns.EMAIL.getName());
stmt.bindString(i++, value != null ? value : "");
value = values.getAsString(Columns.CITY.getName());
stmt.bindString(i++, value != null ? value : "");
stmt.bindLong(i++, values.getAsLong(Columns.POSTAL_CODE.getName()));
stmt.bindLong(i++, values.getAsLong(Columns.AGE.getName()));
stmt.bindLong(i++, values.getAsLong(Columns.IS_WORKING.getName()));
}
}
}