package com.gettingmobile.google.reader.db;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import com.gettingmobile.google.reader.SortedElement;
public abstract class SortedElementDatabaseAdapter<T extends SortedElement> extends ElementDatabaseAdapter<T> {
protected static final String colUnreadCount = "unreadCount";
public SortedElementDatabaseAdapter(String tableName) {
super(tableName);
}
@Override
protected void setRowValues(SQLiteDatabase db, ContentValues columns, T entity, Bundle parameters) {
super.setRowValues(db, columns, entity, parameters);
columns.put(SortedElementTable.SORT_ID, entity.getSortId());
}
@Override
public T readCurrent(Cursor c) {
final T entity = super.readCurrent(c);
entity.setSortId(c.getString(c.getColumnIndex(SortedElementTable.SORT_ID)));
final int unreadCountCol = c.getColumnIndex(colUnreadCount);
entity.setUnreadCount(unreadCountCol > -1 ? c.getInt(unreadCountCol) : 0);
return entity;
}
}