|
Build 1.0_r1(from source) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectandroid.database.AbstractCursor
public abstract class AbstractCursor
This is an abstract cursor class that handles a lot of the common code that all cursors need to deal with and is provided for convenience reasons.
| Nested Class Summary | |
|---|---|
protected static class |
AbstractCursor.SelfContentObserver
Cursors use this class to track changes others make to their URI. |
| Field Summary | |
|---|---|
protected boolean |
mClosed
|
(package private) ContentObservable |
mContentObservable
|
protected ContentResolver |
mContentResolver
|
protected Long |
mCurrentRowID
|
(package private) DataSetObservable |
mDataSetObservable
|
protected int |
mPos
|
protected int |
mRowIdColumnIndex
This must be set to the index of the row ID column by any subclass that wishes to support updates. |
protected HashMap<Long,Map<String,Object>> |
mUpdatedRows
This HashMap contains a mapping from Long rowIDs to another Map that maps from String column names to new values. |
| Constructor Summary | |
|---|---|
AbstractCursor()
|
|
| Method Summary | |
|---|---|
void |
abortUpdates()
Deprecated. |
protected void |
checkPosition()
This function throws CursorIndexOutOfBoundsException if the cursor position is out of bounds. |
void |
close()
Closes the Cursor, releasing all of its resources and making it completely invalid. |
boolean |
commitUpdates()
Deprecated. |
boolean |
commitUpdates(Map<? extends Long,? extends Map<String,Object>> values)
Deprecated. |
void |
copyStringToBuffer(int columnIndex,
CharArrayBuffer buffer)
Retrieves the requested column text and stores it in the buffer provided. |
void |
deactivate()
Deactivates the Cursor, making all calls on it fail until Cursor.requery() is called. |
void |
deactivateInternal()
|
boolean |
deleteRow()
Deprecated. |
void |
fillWindow(int position,
CursorWindow window)
Copy data from cursor to CursorWindow |
protected void |
finalize()
Called by the virtual machine when there are no longer any (non-weak) references to the receiver. |
byte[] |
getBlob(int column)
Returns the value of the requested column as a byte array. |
int |
getColumnCount()
Return total number of columns |
int |
getColumnIndex(String columnName)
Returns the zero-based index for the given column name, or -1 if the column doesn't exist. |
int |
getColumnIndexOrThrow(String columnName)
Returns the zero-based index for the given column name, or throws IllegalArgumentException if the column doesn't exist. |
String |
getColumnName(int columnIndex)
Returns the column name at the given zero-based column index. |
abstract String[] |
getColumnNames()
Returns a string array holding the names of all of the columns in the result set in the order in which they were listed in the result. |
abstract int |
getCount()
Returns the numbers of rows in the cursor. |
abstract double |
getDouble(int column)
Returns the value of the requested column as a double. |
Bundle |
getExtras()
Returns a bundle of extra values. |
abstract float |
getFloat(int column)
Returns the value of the requested column as a float. |
abstract int |
getInt(int column)
Returns the value of the requested column as an int. |
abstract long |
getLong(int column)
Returns the value of the requested column as a long. |
int |
getPosition()
Returns the current position of the cursor in the row set. |
abstract short |
getShort(int column)
Returns the value of the requested column as a short. |
abstract String |
getString(int column)
Returns the value of the requested column as a String. |
protected Object |
getUpdatedField(int columnIndex)
This function returns the uncommitted updated value for the field at columnIndex. |
boolean |
getWantsAllOnMoveCalls()
onMove() will only be called across processes if this method returns true. |
CursorWindow |
getWindow()
returns a pre-filled window, return NULL if no such window |
boolean |
hasUpdates()
Deprecated. |
boolean |
isAfterLast()
Returns whether the cursor is pointing to the position after the last row. |
boolean |
isBeforeFirst()
Returns whether the cursor is pointing to the position before the first row. |
boolean |
isClosed()
return true if the cursor is closed |
protected boolean |
isFieldUpdated(int columnIndex)
This function returns true if the field has been updated and is used in conjunction with getUpdatedField(int) to allow subclasses to
support reading uncommitted updates. |
boolean |
isFirst()
Returns whether the cursor is pointing to the first row. |
boolean |
isLast()
Returns whether the cursor is pointing to the last row. |
abstract boolean |
isNull(int column)
Returns true if the value in the indicated column is null. |
boolean |
move(int offset)
Move the cursor by a relative amount, forward or backward, from the current position. |
boolean |
moveToFirst()
Move the cursor to the first row. |
boolean |
moveToLast()
Move the cursor to the last row. |
boolean |
moveToNext()
Move the cursor to the next row. |
boolean |
moveToPosition(int position)
Move the cursor to an absolute position. |
boolean |
moveToPrevious()
Move the cursor to the previous row. |
protected void |
onChange(boolean selfChange)
Subclasses must call this method when they finish committing updates to notify all observers. |
boolean |
onMove(int oldPosition,
int newPosition)
This function is called every time the cursor is successfully scrolled to a new position, giving the subclass a chance to update any state it may have. |
void |
registerContentObserver(ContentObserver observer)
Register an observer that is called when changes happen to the content backing this cursor. |
void |
registerDataSetObserver(DataSetObserver observer)
Register an observer that is called when changes happen to the contents of the this cursors data set, for example, when the data set is changed via Cursor.requery(), Cursor.deactivate(), or Cursor.close(). |
boolean |
requery()
Performs the query that created the cursor again, refreshing its contents. |
Bundle |
respond(Bundle extras)
This is an out-of-band way for the the user of a cursor to communicate with the cursor. |
void |
setNotificationUri(ContentResolver cr,
Uri notifyUri)
Specifies a content URI to watch for changes. |
boolean |
supportsUpdates()
Deprecated. |
void |
unregisterContentObserver(ContentObserver observer)
Unregister an observer that has previously been registered with this cursor via Cursor.registerContentObserver(android.database.ContentObserver). |
void |
unregisterDataSetObserver(DataSetObserver observer)
Unregister an observer that has previously been registered with this cursor via Cursor.registerContentObserver(android.database.ContentObserver). |
boolean |
update(int columnIndex,
Object obj)
Deprecated. |
boolean |
updateBlob(int columnIndex,
byte[] value)
Deprecated. |
boolean |
updateDouble(int columnIndex,
double value)
Deprecated. |
boolean |
updateFloat(int columnIndex,
float value)
Deprecated. |
boolean |
updateInt(int columnIndex,
int value)
Deprecated. |
boolean |
updateLong(int columnIndex,
long value)
Deprecated. |
boolean |
updateShort(int columnIndex,
short value)
Deprecated. |
boolean |
updateString(int columnIndex,
String value)
Deprecated. |
boolean |
updateToNull(int columnIndex)
Deprecated. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
DataSetObservable mDataSetObservable
ContentObservable mContentObservable
protected HashMap<Long,Map<String,Object>> mUpdatedRows
protected int mRowIdColumnIndex
protected int mPos
protected Long mCurrentRowID
protected ContentResolver mContentResolver
protected boolean mClosed
| Constructor Detail |
|---|
public AbstractCursor()
| Method Detail |
|---|
public abstract int getCount()
Cursor
getCount in interface Cursorpublic abstract String[] getColumnNames()
Cursor
getColumnNames in interface Cursorpublic abstract String getString(int column)
CursorIf the native content of that column is not text the result will be the result of passing the column value to String.valueOf(x).
getString in interface Cursorcolumn - the zero-based index of the target column.
public abstract short getShort(int column)
CursorIf the native content of that column is not numeric the result will be the result of passing the column value to Short.valueOf(x).
getShort in interface Cursorcolumn - the zero-based index of the target column.
public abstract int getInt(int column)
CursorIf the native content of that column is not numeric the result will be the result of passing the column value to Integer.valueOf(x).
getInt in interface Cursorcolumn - the zero-based index of the target column.
public abstract long getLong(int column)
CursorIf the native content of that column is not numeric the result will be the result of passing the column value to Long.valueOf(x).
getLong in interface Cursorcolumn - the zero-based index of the target column.
public abstract float getFloat(int column)
CursorIf the native content of that column is not numeric the result will be the result of passing the column value to Float.valueOf(x).
getFloat in interface Cursorcolumn - the zero-based index of the target column.
public abstract double getDouble(int column)
CursorIf the native content of that column is not numeric the result will be the result of passing the column value to Double.valueOf(x).
getDouble in interface Cursorcolumn - the zero-based index of the target column.
public abstract boolean isNull(int column)
Cursortrue if the value in the indicated column is null.
isNull in interface Cursorcolumn - the zero-based index of the target column.
public byte[] getBlob(int column)
CursorIf the native content of that column is not blob exception may throw
getBlob in interface Cursorcolumn - the zero-based index of the target column.
public CursorWindow getWindow()
getWindow in interface CrossProcessCursorpublic int getColumnCount()
Cursor
getColumnCount in interface Cursorpublic void deactivate()
CursorCursor.requery() is called.
Inactive Cursors use fewer resources than active Cursors.
Calling Cursor.requery() will make the cursor active again.
deactivate in interface Cursorpublic void deactivateInternal()
public boolean requery()
CursorCursor.deactivate().
requery in interface Cursorpublic boolean isClosed()
Cursor
isClosed in interface Cursorpublic void close()
CursorCursor.deactivate() a call to Cursor.requery() will not make the Cursor valid
again.
close in interface Cursorpublic boolean commitUpdates(Map<? extends Long,? extends Map<String,Object>> values)
CursorCursor.requery() before reading data from the cursor again.
commitUpdates in interface Cursorvalues - A map from row IDs to Maps associating column names with
updated values. A null value indicates the field should be
removed.
public boolean deleteRow()
CursorThe query must have the row ID column in its selection, otherwise this call will fail.
deleteRow in interface Cursor
public boolean onMove(int oldPosition,
int newPosition)
onMove in interface CrossProcessCursoroldPosition - the position that we're moving fromnewPosition - the position that we're moving to
public void copyStringToBuffer(int columnIndex,
CharArrayBuffer buffer)
Cursor
copyStringToBuffer in interface CursorcolumnIndex - the zero-based index of the target column.
if the target column is null, return bufferbuffer - the buffer to copy the text into.public final int getPosition()
Cursor
getPosition in interface Cursorpublic final boolean moveToPosition(int position)
CursorThis method will return true if the request destination was reachable, otherwise, it returns false.
moveToPosition in interface Cursorposition - the zero-based position to move to.
public void fillWindow(int position,
CursorWindow window)
fillWindow in interface CrossProcessCursorposition - start position of datawindow - public final boolean move(int offset)
CursorThis method will return true if the requested destination was reachable, otherwise, it returns false. For example, if the cursor is at currently on the second entry in the result set and move(-5) is called, the position will be pinned at -1, and false will be returned.
move in interface Cursoroffset - the offset to be applied from the current position.
public final boolean moveToFirst()
CursorThis method will return false if the cursor is empty.
moveToFirst in interface Cursorpublic final boolean moveToLast()
CursorThis method will return false if the cursor is empty.
moveToLast in interface Cursorpublic final boolean moveToNext()
CursorThis method will return false if the cursor is already past the last entry in the result set.
moveToNext in interface Cursorpublic final boolean moveToPrevious()
CursorThis method will return false if the cursor is already before the first entry in the result set.
moveToPrevious in interface Cursorpublic final boolean isFirst()
Cursor
isFirst in interface Cursorpublic final boolean isLast()
Cursor
isLast in interface Cursorpublic final boolean isBeforeFirst()
Cursor
isBeforeFirst in interface Cursorpublic final boolean isAfterLast()
Cursor
isAfterLast in interface Cursorpublic int getColumnIndex(String columnName)
CursorCursor.getColumnIndexOrThrow(String) instead, which
will make the error more clear.
getColumnIndex in interface CursorcolumnName - the name of the target column.
Cursor.getColumnIndexOrThrow(String)public int getColumnIndexOrThrow(String columnName)
CursorIllegalArgumentException if the column doesn't exist. If you're not sure if
a column will exist or not use Cursor.getColumnIndex(String) and check for -1, which
is more efficient than catching the exceptions.
getColumnIndexOrThrow in interface CursorcolumnName - the name of the target column.
Cursor.getColumnIndex(String)public String getColumnName(int columnIndex)
Cursor
getColumnName in interface CursorcolumnIndex - the zero-based index of the target column.
public boolean updateBlob(int columnIndex,
byte[] value)
CursorCursor.commitUpdates() is called.
updateBlob in interface CursorcolumnIndex - the zero-based index of the target column.value - the new value.
public boolean updateString(int columnIndex,
String value)
CursorCursor.commitUpdates() is called.
updateString in interface CursorcolumnIndex - the zero-based index of the target column.value - the new value.
public boolean updateShort(int columnIndex,
short value)
CursorCursor.commitUpdates() is called.
updateShort in interface CursorcolumnIndex - the zero-based index of the target column.value - the new value.
public boolean updateInt(int columnIndex,
int value)
CursorCursor.commitUpdates() is called.
updateInt in interface CursorcolumnIndex - the zero-based index of the target column.value - the new value.
public boolean updateLong(int columnIndex,
long value)
CursorCursor.commitUpdates() is called.
updateLong in interface CursorcolumnIndex - the zero-based index of the target column.value - the new value.
public boolean updateFloat(int columnIndex,
float value)
CursorCursor.commitUpdates() is called.
updateFloat in interface CursorcolumnIndex - the zero-based index of the target column.value - the new value.
public boolean updateDouble(int columnIndex,
double value)
CursorCursor.commitUpdates() is called.
updateDouble in interface CursorcolumnIndex - the zero-based index of the target column.value - the new value.
public boolean updateToNull(int columnIndex)
CursorCursor.commitUpdates() is called.
updateToNull in interface CursorcolumnIndex - the zero-based index of the target column.
public boolean update(int columnIndex,
Object obj)
public boolean hasUpdates()
true if there are pending updates that have not yet been committed.
hasUpdates in interface Cursortrue if there are pending updates that have not yet been committed.public void abortUpdates()
Cursor
abortUpdates in interface Cursorpublic boolean commitUpdates()
CursorCursor.requery() before reading data from the cursor again.
commitUpdates in interface Cursorpublic boolean supportsUpdates()
Cursortrue if the cursor supports updates.
supportsUpdates in interface Cursorpublic void registerContentObserver(ContentObserver observer)
CursorCursor.requery() is called.
registerContentObserver in interface Cursorobserver - the object that gets notified when the content backing the cursor changes.Cursor.unregisterContentObserver(ContentObserver)public void unregisterContentObserver(ContentObserver observer)
CursorCursor.registerContentObserver(android.database.ContentObserver).
unregisterContentObserver in interface Cursorobserver - the object to unregister.Cursor.registerContentObserver(ContentObserver)public void registerDataSetObserver(DataSetObserver observer)
CursorCursor.requery(), Cursor.deactivate(), or Cursor.close().
registerDataSetObserver in interface Cursorobserver - the object that gets notified when the cursors data set changes.Cursor.unregisterDataSetObserver(DataSetObserver)public void unregisterDataSetObserver(DataSetObserver observer)
CursorCursor.registerContentObserver(android.database.ContentObserver).
unregisterDataSetObserver in interface Cursorobserver - the object to unregister.Cursor.registerDataSetObserver(DataSetObserver)protected void onChange(boolean selfChange)
selfChange -
public void setNotificationUri(ContentResolver cr,
Uri notifyUri)
setNotificationUri in interface Cursorcr - The content resolver from the caller's context.notifyUri - The URI to watch for changes. This can be a
specific row URI, or a base URI for a whole class of content.public boolean getWantsAllOnMoveCalls()
Cursor
getWantsAllOnMoveCalls in interface Cursorpublic Bundle getExtras()
CursorThese values may only change when requery is called.
getExtras in interface Cursorpublic Bundle respond(Bundle extras)
CursorOne use of this is to tell a cursor that it should retry its network request after it reported an error.
respond in interface Cursorextras - extra values, or Bundle.EMTPY. Never null.
protected boolean isFieldUpdated(int columnIndex)
getUpdatedField(int) to allow subclasses to
support reading uncommitted updates. NOTE: This function and
getUpdatedField(int) should be called together inside of a
block synchronized on mUpdatedRows.
columnIndex - the column index of the field to check
protected Object getUpdatedField(int columnIndex)
isFieldUpdated(int) should
be called together inside of a block synchronized on mUpdatedRows.
columnIndex - the column index of the field to retrieve
protected void checkPosition()
CursorIndexOutOfBoundsExceptionprotected void finalize()
ObjectNote: The virtual machine assumes that the implementation in class Object is empty.
finalize in class Object
|
Build 1.0_r1(from source) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||