package com.gettingmobile.google.reader.db;
import android.database.Cursor;
import com.gettingmobile.google.reader.ElementId;
import com.gettingmobile.google.reader.Feed;
public class FeedCursorAdapter extends SortedElementCursorAdapter<Feed> {
private static final String TAG_ID = "tagId";
int htmlUrlCol;
int rootSortOrderCol;
int tagIdCol;
public void init(Cursor c) {
super.init(c);
htmlUrlCol = c.getColumnIndex(FeedTable.HTML_URL);
rootSortOrderCol = c.getColumnIndex(FeedTable.ROOT_SORT_ORDER);
tagIdCol = c.getColumnIndex(TAG_ID);
}
@Override
protected Feed createEntity() {
return new Feed();
}
@Override
public Feed readEntity(Cursor c) {
final Feed feed = super.readEntity(c);
feed.setHtmlUrl(c.getString(htmlUrlCol));
feed.setRootSortOrder(c.getInt(rootSortOrderCol));
if (tagIdCol >= 0) {
final String tagId = c.getString(tagIdCol);
if (tagId != null) {
feed.getTagIds().add(new ElementId(c.getString(tagIdCol)));
}
}
return feed;
}
@Override
public void readEntityJoin(Feed entity, Cursor c) {
super.readEntityJoin(entity, c);
final ElementId tagId = new ElementId(c.getString(tagIdCol));
entity.getTagIds().add(tagId);
entity.setSortOrder(tagId, c.getInt(sortIdCol));
}
}