package com.ghostflying.portalwaitinglist.dao.datahelper;
import android.content.ContentValues;
import android.content.Context;
import android.database.ContentObserver;
import android.database.Cursor;
import android.net.Uri;
import com.ghostflying.portalwaitinglist.dao.DataProvider;
/**
* Created by ghostflying on 1/19/15.
*/
public abstract class BaseHelper {
Context mContext;
Uri mUri;
public BaseHelper(Context context){
mContext = context;
mUri = Uri.parse("content://" + DataProvider.AUTHORITY + "/" + getTableName());
}
protected abstract String getTableName();
protected Cursor query(Uri uri,
String[] projection,
String selection,
String[] selectionArgs,
String sortOrder){
return mContext.getContentResolver().query(
uri,
projection,
selection,
selectionArgs,
sortOrder
);
}
protected Cursor query(String[] projection,
String selection,
String[] selectionArgs,
String sortOrder){
return mContext.getContentResolver().query(
mUri,
projection,
selection,
selectionArgs,
sortOrder
);
}
protected Uri insert(ContentValues values){
return mContext.getContentResolver().insert(mUri, values);
}
protected int bulkInsert(ContentValues[] values){
return mContext.getContentResolver().bulkInsert(mUri, values);
}
public void notifyChange(){
mContext.getContentResolver().notifyChange(mUri, null);
}
public void setContentObserver(ContentObserver contentObserver){
mContext.getContentResolver()
.registerContentObserver(mUri, false, contentObserver);
}
public void unregisterContentObserver(ContentObserver contentObserver){
mContext.getContentResolver()
.unregisterContentObserver(contentObserver);
}
}