package com.nononsenseapps.notepad.database;
import android.content.Context;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
public abstract class DBItem {
public static final String COL_ID = "_id";
public DBItem() {}
public DBItem(final Cursor cursor) {}
public abstract ContentValues getContent();
public abstract String getTableName();
public abstract long getId();
public abstract void setId(final long id);
public abstract String[] getFields();
public Uri getUri() {
return Uri.withAppendedPath(getBaseUri(), Long.toString(getId()));
}
public Uri getBaseUri() {
return Uri.withAppendedPath(
Uri.parse(ItemProvider.SCHEME
+ ItemProvider.AUTHORITY), getTableName());
}
public void notifyProvider(final Context context) {
try {
context.getContentResolver().notifyChange(getUri(), null, false);
}
catch (UnsupportedOperationException e) {
// Catch this for test suite. Mock provider cant notify
}
}
}