package com.gettingmobile.google.reader.db;
import android.database.ContentObserver;
import android.database.Cursor;
import android.database.DataSetObserver;
public abstract class AbsEntityCursor<T> implements EntityCursor<T> {
protected final android.database.Cursor cursor;
protected final EntityCursorAdapter<T> adapter;
public AbsEntityCursor(EntityCursorAdapter<T> adapter, Cursor cursor) {
this.cursor = cursor;
this.adapter = adapter;
if (adapter != null) {
adapter.init(cursor);
}
}
@Override
public void close() {
cursor.close();
}
@Override
public boolean isClosed() {
return cursor.isClosed();
}
@Override
public boolean isGroupHeader() {
return false;
}
@Override
public String getGroupTitle() {
return null;
}
@Override
public long getEntityId() {
return adapter.readEntityId(cursor);
}
@Override
public T getEntity() {
return adapter.readEntity(cursor);
}
/*
* observers
*/
@Override
public void registerContentObserver(ContentObserver observer) {
cursor.registerContentObserver(observer);
}
@Override
public void unregisterContentObserver(ContentObserver observer) {
cursor.unregisterContentObserver(observer);
}
@Override
public void registerDataSetObserver(DataSetObserver observer) {
cursor.registerDataSetObserver(observer);
}
@Override
public void unregisterDataSetObserver(DataSetObserver observer) {
cursor.unregisterDataSetObserver(observer);
}
}