/* * Copyright 2013 i'm SpA * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package it.imwatch.nfclottery.data.provider; 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; import it.imwatch.nfclottery.data.provider.util.ColumnMetadata; /** * This class was generated by the ContentProviderCodeGenerator project made by Foxykeep * <p/> * (More information available https://github.com/foxykeep/ContentProviderCodeGenerator) */ public abstract class NFCMLContent { public static final Uri CONTENT_URI = Uri.parse("content://" + NFCMLProvider.AUTHORITY); private NFCMLContent() { } /** * Created in version 1 */ public static final class Geeks extends NFCMLContent { private static final String LOG_TAG = Geeks.class.getSimpleName(); public static final String TABLE_NAME = "geeks"; public static final String TYPE_ELEM_TYPE = "vnd.android.cursor.item/nfcml-geeks"; public static final String TYPE_DIR_TYPE = "vnd.android.cursor.dir/nfcml-geeks"; public static final Uri CONTENT_URI = Uri.parse(NFCMLContent.CONTENT_URI + "/" + TABLE_NAME); public static enum Columns implements ColumnMetadata { ID(BaseColumns._ID, "integer"), EMAIL("email", "text"), NAME("name", "text"), ORGANIZATION("organization", "text"), TITLE("title", "integer"), TIMEWINNER("timewinner", "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.EMAIL.getName(), Columns.NAME.getName(), Columns.ORGANIZATION.getName(), Columns.TITLE.getName(), Columns.TIMEWINNER.getName() }; private Geeks() { // No private constructor } public static void createTable(SQLiteDatabase db) { db.execSQL( "CREATE TABLE " + TABLE_NAME + " (" + Columns.ID.getName() + " " + Columns.ID.getType() + ", " + "" + Columns.EMAIL.getName() + " " + Columns.EMAIL.getType() + ", " + Columns.NAME.getName() + " " + Columns.NAME.getType() + ", " + Columns.ORGANIZATION.getName() + " " + Columns.ORGANIZATION.getType() + ", " + Columns.TITLE.getName() + " " + Columns.TITLE.getType() + ", " + "" + Columns.TIMEWINNER.getName() + " " + Columns.TIMEWINNER.getType() + ", " + "PRIMARY KEY (" + Columns.ID.getName() + ")" + ");"); db.execSQL("CREATE INDEX geeks_email on " + TABLE_NAME + "(" + Columns.EMAIL.getName() + ");"); db.execSQL("CREATE INDEX geeks_name on " + TABLE_NAME + "(" + Columns.NAME.getName() + ");"); db.execSQL( "CREATE INDEX geeks_organization on " + TABLE_NAME + "(" + Columns.ORGANIZATION.getName() + ");"); } // Version 1 : Creation of the table public static void upgradeTable(SQLiteDatabase db, int oldVersion, int newVersion) { if (oldVersion < 2) { 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.EMAIL.getName()).append(", ").append( Columns.NAME.getName()).append(", ").append(Columns.ORGANIZATION.getName()).append(", ").append( Columns.TITLE.getName()).append(", ").append(Columns.TIMEWINNER.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.EMAIL.getName()); stmt.bindString(i++, value != null ? value : ""); value = values.getAsString(Columns.NAME.getName()); stmt.bindString(i++, value != null ? value : ""); value = values.getAsString(Columns.ORGANIZATION.getName()); stmt.bindString(i++, value != null ? value : ""); stmt.bindLong(i++, values.getAsLong(Columns.TITLE.getName())); stmt.bindLong(i++, values.getAsLong(Columns.TIMEWINNER.getName())); } } }