Build 1.1_r1 (from source)

android.database
Class AbstractCursor

java.lang.Object
  extended by android.database.AbstractCursor
All Implemented Interfaces:
CrossProcessCursor, Cursor
Direct Known Subclasses:
AbstractWindowedCursor, MatrixCursor, MergeCursor

public abstract class AbstractCursor
extends Object
implements CrossProcessCursor

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()
          Is called before the object's memory is being reclaimed by the VM.
 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.
protected  DataSetObservable getDataSetObservable()
           
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 notifyDataSetChange()
           
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

mDataSetObservable

DataSetObservable mDataSetObservable

mContentObservable

ContentObservable mContentObservable

mUpdatedRows

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. A NULL value means to remove an existing value, and all numeric values are in their class forms, i.e. Integer, Long, Float, etc.


mRowIdColumnIndex

protected int mRowIdColumnIndex
This must be set to the index of the row ID column by any subclass that wishes to support updates.


mPos

protected int mPos

mCurrentRowID

protected Long mCurrentRowID

mContentResolver

protected ContentResolver mContentResolver

mClosed

protected boolean mClosed
Constructor Detail

AbstractCursor

public AbstractCursor()
Method Detail

getCount

public abstract int getCount()
Description copied from interface: Cursor
Returns the numbers of rows in the cursor.

Specified by:
getCount in interface Cursor
Returns:
the number of rows in the cursor.

getColumnNames

public abstract String[] getColumnNames()
Description copied from interface: Cursor
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.

Specified by:
getColumnNames in interface Cursor
Returns:
the names of the columns returned in this query.

getString

public abstract String getString(int column)
Description copied from interface: Cursor
Returns the value of the requested column as a String.

If the native content of that column is not text the result will be the result of passing the column value to String.valueOf(x).

Specified by:
getString in interface Cursor
Parameters:
column - the zero-based index of the target column.
Returns:
the value of that column as a String.

getShort

public abstract short getShort(int column)
Description copied from interface: Cursor
Returns the value of the requested column as a short.

If the native content of that column is not numeric the result will be the result of passing the column value to Short.valueOf(x).

Specified by:
getShort in interface Cursor
Parameters:
column - the zero-based index of the target column.
Returns:
the value of that column as a short.

getInt

public abstract int getInt(int column)
Description copied from interface: Cursor
Returns the value of the requested column as an int.

If the native content of that column is not numeric the result will be the result of passing the column value to Integer.valueOf(x).

Specified by:
getInt in interface Cursor
Parameters:
column - the zero-based index of the target column.
Returns:
the value of that column as an int.

getLong

public abstract long getLong(int column)
Description copied from interface: Cursor
Returns the value of the requested column as a long.

If the native content of that column is not numeric the result will be the result of passing the column value to Long.valueOf(x).

Specified by:
getLong in interface Cursor
Parameters:
column - the zero-based index of the target column.
Returns:
the value of that column as a long.

getFloat

public abstract float getFloat(int column)
Description copied from interface: Cursor
Returns the value of the requested column as a float.

If the native content of that column is not numeric the result will be the result of passing the column value to Float.valueOf(x).

Specified by:
getFloat in interface Cursor
Parameters:
column - the zero-based index of the target column.
Returns:
the value of that column as a float.

getDouble

public abstract double getDouble(int column)
Description copied from interface: Cursor
Returns the value of the requested column as a double.

If the native content of that column is not numeric the result will be the result of passing the column value to Double.valueOf(x).

Specified by:
getDouble in interface Cursor
Parameters:
column - the zero-based index of the target column.
Returns:
the value of that column as a double.

isNull

public abstract boolean isNull(int column)
Description copied from interface: Cursor
Returns true if the value in the indicated column is null.

Specified by:
isNull in interface Cursor
Parameters:
column - the zero-based index of the target column.
Returns:
whether the column value is null.

getBlob

public byte[] getBlob(int column)
Description copied from interface: Cursor
Returns the value of the requested column as a byte array.

If the native content of that column is not blob exception may throw

Specified by:
getBlob in interface Cursor
Parameters:
column - the zero-based index of the target column.
Returns:
the value of that column as a byte array.

getWindow

public CursorWindow getWindow()
returns a pre-filled window, return NULL if no such window

Specified by:
getWindow in interface CrossProcessCursor

getColumnCount

public int getColumnCount()
Description copied from interface: Cursor
Return total number of columns

Specified by:
getColumnCount in interface Cursor
Returns:
number of columns

deactivate

public void deactivate()
Description copied from interface: Cursor
Deactivates the Cursor, making all calls on it fail until Cursor.requery() is called. Inactive Cursors use fewer resources than active Cursors. Calling Cursor.requery() will make the cursor active again.

Specified by:
deactivate in interface Cursor

deactivateInternal

public void deactivateInternal()

requery

public boolean requery()
Description copied from interface: Cursor
Performs the query that created the cursor again, refreshing its contents. This may be done at any time, including after a call to Cursor.deactivate().

Specified by:
requery in interface Cursor
Returns:
true if the requery succeeded, false if not, in which case the cursor becomes invalid.

isClosed

public boolean isClosed()
Description copied from interface: Cursor
return true if the cursor is closed

Specified by:
isClosed in interface Cursor
Returns:
true if the cursor is closed.

close

public void close()
Description copied from interface: Cursor
Closes the Cursor, releasing all of its resources and making it completely invalid. Unlike Cursor.deactivate() a call to Cursor.requery() will not make the Cursor valid again.

Specified by:
close in interface Cursor

commitUpdates

public boolean commitUpdates(Map<? extends Long,? extends Map<String,Object>> values)
Deprecated. 

Description copied from interface: Cursor
Atomically commits all updates to the backing store, as well as the updates included in values. After completion, this method leaves the data in an inconsistent state and you should call Cursor.requery() before reading data from the cursor again.

Specified by:
commitUpdates in interface Cursor
Parameters:
values - A map from row IDs to Maps associating column names with updated values. A null value indicates the field should be removed.
Returns:
whether the operation succeeded.

deleteRow

public boolean deleteRow()
Deprecated. 

Description copied from interface: Cursor
Removes the row at the current cursor position from the underlying data store. After this method returns the cursor will be pointing to the row after the row that is deleted. This has the side effect of decrementing the result of count() by one.

The query must have the row ID column in its selection, otherwise this call will fail.

Specified by:
deleteRow in interface Cursor
Returns:
whether the record was successfully deleted.

onMove

public 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. If it returns false the move function will also do so and the cursor will scroll to the beforeFirst position.

Specified by:
onMove in interface CrossProcessCursor
Parameters:
oldPosition - the position that we're moving from
newPosition - the position that we're moving to
Returns:
true if the move is successful, false otherwise

copyStringToBuffer

public void copyStringToBuffer(int columnIndex,
                               CharArrayBuffer buffer)
Description copied from interface: Cursor
Retrieves the requested column text and stores it in the buffer provided. If the buffer size is not sufficient, a new char buffer will be allocated and assigned to CharArrayBuffer.data

Specified by:
copyStringToBuffer in interface Cursor
Parameters:
columnIndex - the zero-based index of the target column. if the target column is null, return buffer
buffer - the buffer to copy the text into.

getPosition

public final int getPosition()
Description copied from interface: Cursor
Returns the current position of the cursor in the row set. The value is zero-based. When the row set is first returned the cursor will be at positon -1, which is before the first row. After the last row is returned another call to next() will leave the cursor past the last entry, at a position of count().

Specified by:
getPosition in interface Cursor
Returns:
the current cursor position.

moveToPosition

public final boolean moveToPosition(int position)
Description copied from interface: Cursor
Move the cursor to an absolute position. The valid range of values is -1 <= position <= count.

This method will return true if the request destination was reachable, otherwise, it returns false.

Specified by:
moveToPosition in interface Cursor
Parameters:
position - the zero-based position to move to.
Returns:
whether the requested move fully succeeded.

fillWindow

public void fillWindow(int position,
                       CursorWindow window)
Copy data from cursor to CursorWindow

Specified by:
fillWindow in interface CrossProcessCursor
Parameters:
position - start position of data
window -

move

public final boolean move(int offset)
Description copied from interface: Cursor
Move the cursor by a relative amount, forward or backward, from the current position. Positive offsets move forwards, negative offsets move backwards. If the final position is outside of the bounds of the result set then the resultant position will be pinned to -1 or count() depending on whether the value is off the front or end of the set, respectively.

This 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.

Specified by:
move in interface Cursor
Parameters:
offset - the offset to be applied from the current position.
Returns:
whether the requested move fully succeeded.

moveToFirst

public final boolean moveToFirst()
Description copied from interface: Cursor
Move the cursor to the first row.

This method will return false if the cursor is empty.

Specified by:
moveToFirst in interface Cursor
Returns:
whether the move succeeded.

moveToLast

public final boolean moveToLast()
Description copied from interface: Cursor
Move the cursor to the last row.

This method will return false if the cursor is empty.

Specified by:
moveToLast in interface Cursor
Returns:
whether the move succeeded.

moveToNext

public final boolean moveToNext()
Description copied from interface: Cursor
Move the cursor to the next row.

This method will return false if the cursor is already past the last entry in the result set.

Specified by:
moveToNext in interface Cursor
Returns:
whether the move succeeded.

moveToPrevious

public final boolean moveToPrevious()
Description copied from interface: Cursor
Move the cursor to the previous row.

This method will return false if the cursor is already before the first entry in the result set.

Specified by:
moveToPrevious in interface Cursor
Returns:
whether the move succeeded.

isFirst

public final boolean isFirst()
Description copied from interface: Cursor
Returns whether the cursor is pointing to the first row.

Specified by:
isFirst in interface Cursor
Returns:
whether the cursor is pointing at the first entry.

isLast

public final boolean isLast()
Description copied from interface: Cursor
Returns whether the cursor is pointing to the last row.

Specified by:
isLast in interface Cursor
Returns:
whether the cursor is pointing at the last entry.

isBeforeFirst

public final boolean isBeforeFirst()
Description copied from interface: Cursor
Returns whether the cursor is pointing to the position before the first row.

Specified by:
isBeforeFirst in interface Cursor
Returns:
whether the cursor is before the first result.

isAfterLast

public final boolean isAfterLast()
Description copied from interface: Cursor
Returns whether the cursor is pointing to the position after the last row.

Specified by:
isAfterLast in interface Cursor
Returns:
whether the cursor is after the last result.

getColumnIndex

public int getColumnIndex(String columnName)
Description copied from interface: Cursor
Returns the zero-based index for the given column name, or -1 if the column doesn't exist. If you expect the column to exist use Cursor.getColumnIndexOrThrow(String) instead, which will make the error more clear.

Specified by:
getColumnIndex in interface Cursor
Parameters:
columnName - the name of the target column.
Returns:
the zero-based column index for the given column name, or -1 if the column name does not exist.
See Also:
Cursor.getColumnIndexOrThrow(String)

getColumnIndexOrThrow

public int getColumnIndexOrThrow(String columnName)
Description copied from interface: Cursor
Returns the zero-based index for the given column name, or throws IllegalArgumentException 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.

Specified by:
getColumnIndexOrThrow in interface Cursor
Parameters:
columnName - the name of the target column.
Returns:
the zero-based column index for the given column name
See Also:
Cursor.getColumnIndex(String)

getColumnName

public String getColumnName(int columnIndex)
Description copied from interface: Cursor
Returns the column name at the given zero-based column index.

Specified by:
getColumnName in interface Cursor
Parameters:
columnIndex - the zero-based index of the target column.
Returns:
the column name for the given column index.

updateBlob

public boolean updateBlob(int columnIndex,
                          byte[] value)
Deprecated. 

Description copied from interface: Cursor
Updates the value for the given column in the row the cursor is currently pointing at. Updates are not committed to the backing store until Cursor.commitUpdates() is called.

Specified by:
updateBlob in interface Cursor
Parameters:
columnIndex - the zero-based index of the target column.
value - the new value.
Returns:
whether the operation succeeded.

updateString

public boolean updateString(int columnIndex,
                            String value)
Deprecated. 

Description copied from interface: Cursor
Updates the value for the given column in the row the cursor is currently pointing at. Updates are not committed to the backing store until Cursor.commitUpdates() is called.

Specified by:
updateString in interface Cursor
Parameters:
columnIndex - the zero-based index of the target column.
value - the new value.
Returns:
whether the operation succeeded.

updateShort

public boolean updateShort(int columnIndex,
                           short value)
Deprecated. 

Description copied from interface: Cursor
Updates the value for the given column in the row the cursor is currently pointing at. Updates are not committed to the backing store until Cursor.commitUpdates() is called.

Specified by:
updateShort in interface Cursor
Parameters:
columnIndex - the zero-based index of the target column.
value - the new value.
Returns:
whether the operation succeeded.

updateInt

public boolean updateInt(int columnIndex,
                         int value)
Deprecated. 

Description copied from interface: Cursor
Updates the value for the given column in the row the cursor is currently pointing at. Updates are not committed to the backing store until Cursor.commitUpdates() is called.

Specified by:
updateInt in interface Cursor
Parameters:
columnIndex - the zero-based index of the target column.
value - the new value.
Returns:
whether the operation succeeded.

updateLong

public boolean updateLong(int columnIndex,
                          long value)
Deprecated. 

Description copied from interface: Cursor
Updates the value for the given column in the row the cursor is currently pointing at. Updates are not committed to the backing store until Cursor.commitUpdates() is called.

Specified by:
updateLong in interface Cursor
Parameters:
columnIndex - the zero-based index of the target column.
value - the new value.
Returns:
whether the operation succeeded.

updateFloat

public boolean updateFloat(int columnIndex,
                           float value)
Deprecated. 

Description copied from interface: Cursor
Updates the value for the given column in the row the cursor is currently pointing at. Updates are not committed to the backing store until Cursor.commitUpdates() is called.

Specified by:
updateFloat in interface Cursor
Parameters:
columnIndex - the zero-based index of the target column.
value - the new value.
Returns:
whether the operation succeeded.

updateDouble

public boolean updateDouble(int columnIndex,
                            double value)
Deprecated. 

Description copied from interface: Cursor
Updates the value for the given column in the row the cursor is currently pointing at. Updates are not committed to the backing store until Cursor.commitUpdates() is called.

Specified by:
updateDouble in interface Cursor
Parameters:
columnIndex - the zero-based index of the target column.
value - the new value.
Returns:
whether the operation succeeded.

updateToNull

public boolean updateToNull(int columnIndex)
Deprecated. 

Description copied from interface: Cursor
Removes the value for the given column in the row the cursor is currently pointing at. Updates are not committed to the backing store until Cursor.commitUpdates() is called.

Specified by:
updateToNull in interface Cursor
Parameters:
columnIndex - the zero-based index of the target column.
Returns:
whether the operation succeeded.

update

public boolean update(int columnIndex,
                      Object obj)
Deprecated. 


hasUpdates

public boolean hasUpdates()
Deprecated. 

Returns true if there are pending updates that have not yet been committed.

Specified by:
hasUpdates in interface Cursor
Returns:
true if there are pending updates that have not yet been committed.

abortUpdates

public void abortUpdates()
Deprecated. 

Description copied from interface: Cursor
Reverts all updates made to the cursor since the last call to commitUpdates.

Specified by:
abortUpdates in interface Cursor

commitUpdates

public boolean commitUpdates()
Deprecated. 

Description copied from interface: Cursor
Atomically commits all updates to the backing store. After completion, this method leaves the data in an inconsistent state and you should call Cursor.requery() before reading data from the cursor again.

Specified by:
commitUpdates in interface Cursor
Returns:
whether the operation succeeded.

supportsUpdates

public boolean supportsUpdates()
Deprecated. 

Description copied from interface: Cursor
Returns true if the cursor supports updates.

Specified by:
supportsUpdates in interface Cursor
Returns:
whether the cursor supports updates.

registerContentObserver

public void registerContentObserver(ContentObserver observer)
Description copied from interface: Cursor
Register an observer that is called when changes happen to the content backing this cursor. Typically the data set won't change until Cursor.requery() is called.

Specified by:
registerContentObserver in interface Cursor
Parameters:
observer - the object that gets notified when the content backing the cursor changes.
See Also:
Cursor.unregisterContentObserver(ContentObserver)

unregisterContentObserver

public void unregisterContentObserver(ContentObserver observer)
Description copied from interface: Cursor
Unregister an observer that has previously been registered with this cursor via Cursor.registerContentObserver(android.database.ContentObserver).

Specified by:
unregisterContentObserver in interface Cursor
Parameters:
observer - the object to unregister.
See Also:
Cursor.registerContentObserver(ContentObserver)

notifyDataSetChange

protected void notifyDataSetChange()

getDataSetObservable

protected DataSetObservable getDataSetObservable()

registerDataSetObserver

public void registerDataSetObserver(DataSetObserver observer)
Description copied from interface: Cursor
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().

Specified by:
registerDataSetObserver in interface Cursor
Parameters:
observer - the object that gets notified when the cursors data set changes.
See Also:
Cursor.unregisterDataSetObserver(DataSetObserver)

unregisterDataSetObserver

public void unregisterDataSetObserver(DataSetObserver observer)
Description copied from interface: Cursor
Unregister an observer that has previously been registered with this cursor via Cursor.registerContentObserver(android.database.ContentObserver).

Specified by:
unregisterDataSetObserver in interface Cursor
Parameters:
observer - the object to unregister.
See Also:
Cursor.registerDataSetObserver(DataSetObserver)

onChange

protected void onChange(boolean selfChange)
Subclasses must call this method when they finish committing updates to notify all observers.

Parameters:
selfChange -

setNotificationUri

public void setNotificationUri(ContentResolver cr,
                               Uri notifyUri)
Specifies a content URI to watch for changes.

Specified by:
setNotificationUri in interface Cursor
Parameters:
cr - 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.

getWantsAllOnMoveCalls

public boolean getWantsAllOnMoveCalls()
Description copied from interface: Cursor
onMove() will only be called across processes if this method returns true.

Specified by:
getWantsAllOnMoveCalls in interface Cursor
Returns:
whether all cursor movement should result in a call to onMove().

getExtras

public Bundle getExtras()
Description copied from interface: Cursor
Returns a bundle of extra values. This is an optional way for cursors to provide out-of-band metadata to their users. One use of this is for reporting on the progress of network requests that are required to fetch data for the cursor.

These values may only change when requery is called.

Specified by:
getExtras in interface Cursor
Returns:
cursor-defined values, or Bundle.EMTPY if there are no values. Never null.

respond

public Bundle respond(Bundle extras)
Description copied from interface: Cursor
This is an out-of-band way for the the user of a cursor to communicate with the cursor. The structure of each bundle is entirely defined by the cursor.

One use of this is to tell a cursor that it should retry its network request after it reported an error.

Specified by:
respond in interface Cursor
Parameters:
extras - extra values, or Bundle.EMTPY. Never null.
Returns:
extra values, or Bundle.EMTPY. Never null.

isFieldUpdated

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. NOTE: This function and getUpdatedField(int) should be called together inside of a block synchronized on mUpdatedRows.

Parameters:
columnIndex - the column index of the field to check
Returns:
true if the field has been updated, false otherwise

getUpdatedField

protected Object getUpdatedField(int columnIndex)
This function returns the uncommitted updated value for the field at columnIndex. NOTE: This function and isFieldUpdated(int) should be called together inside of a block synchronized on mUpdatedRows.

Parameters:
columnIndex - the column index of the field to retrieve
Returns:
the updated value

checkPosition

protected void checkPosition()
This function throws CursorIndexOutOfBoundsException if the cursor position is out of bounds. Subclass implementations of the get functions should call this before attempting to retrieve data.

Throws:
CursorIndexOutOfBoundsException

finalize

protected void finalize()
Description copied from class: Object
Is called before the object's memory is being reclaimed by the VM. This can only happen once the VM has detected, during a run of the garbage collector, that the object is no longer reachable by any thread of the running application.

The method can be used to free system resources or perform other cleanup before the object is garbage collected. The default implementation of the method is empty, which is also expected by the VM, but subclasses can override finalize() as required. Uncaught exceptions which are thrown during the execution of this method cause it to terminate immediately but are otherwise ignored.

Note that the VM does guarantee that finalize() is called at most once for any object, but it doesn't guarantee when (if at all) finalize() will be called. For example, object B's finalize() can delay the execution of object A's finalize() method and therefore it can delay the reclamation of A's memory. To be safe, use a ReferenceQueue, because it provides more control over the way the VM deals with references during garbage collection.

Overrides:
finalize in class Object

Build 1.1_r1 (from source)

Please submit a feedback, bug or feature