Merge "Add some simple annotations to Cursor."

This commit is contained in:
Jeff Sharkey
2020-10-15 21:19:44 +00:00
committed by Android (Google) Code Review
4 changed files with 143 additions and 140 deletions

View File

@@ -13077,38 +13077,38 @@ package android.database {
public interface Cursor extends java.io.Closeable {
method public void close();
method public void copyStringToBuffer(int, android.database.CharArrayBuffer);
method public void copyStringToBuffer(@IntRange(from=0) int, android.database.CharArrayBuffer);
method @Deprecated public void deactivate();
method public byte[] getBlob(int);
method public int getColumnCount();
method public int getColumnIndex(String);
method public int getColumnIndexOrThrow(String) throws java.lang.IllegalArgumentException;
method public String getColumnName(int);
method public byte[] getBlob(@IntRange(from=0) int);
method @IntRange(from=0) public int getColumnCount();
method @IntRange(from=0xffffffff) public int getColumnIndex(String);
method @IntRange(from=0) public int getColumnIndexOrThrow(String) throws java.lang.IllegalArgumentException;
method public String getColumnName(@IntRange(from=0) int);
method public String[] getColumnNames();
method public int getCount();
method public double getDouble(int);
method @IntRange(from=0) public int getCount();
method public double getDouble(@IntRange(from=0) int);
method public android.os.Bundle getExtras();
method public float getFloat(int);
method public int getInt(int);
method public long getLong(int);
method public float getFloat(@IntRange(from=0) int);
method public int getInt(@IntRange(from=0) int);
method public long getLong(@IntRange(from=0) int);
method public android.net.Uri getNotificationUri();
method @Nullable public default java.util.List<android.net.Uri> getNotificationUris();
method public int getPosition();
method public short getShort(int);
method public String getString(int);
method public int getType(int);
method @IntRange(from=0xffffffff) public int getPosition();
method public short getShort(@IntRange(from=0) int);
method public String getString(@IntRange(from=0) int);
method public int getType(@IntRange(from=0) int);
method public boolean getWantsAllOnMoveCalls();
method public boolean isAfterLast();
method public boolean isBeforeFirst();
method public boolean isClosed();
method public boolean isFirst();
method public boolean isLast();
method public boolean isNull(int);
method public boolean isNull(@IntRange(from=0) int);
method public boolean move(int);
method public boolean moveToFirst();
method public boolean moveToLast();
method public boolean moveToNext();
method public boolean moveToPosition(int);
method public boolean moveToPosition(@IntRange(from=0xffffffff) int);
method public boolean moveToPrevious();
method public void registerContentObserver(android.database.ContentObserver);
method public void registerDataSetObserver(android.database.DataSetObserver);
@@ -13150,33 +13150,33 @@ package android.database {
ctor @Deprecated public CursorWindow(boolean);
method public boolean allocRow();
method public void clear();
method public void copyStringToBuffer(int, int, android.database.CharArrayBuffer);
method public void copyStringToBuffer(@IntRange(from=0) int, @IntRange(from=0) int, android.database.CharArrayBuffer);
method public int describeContents();
method public void freeLastRow();
method public byte[] getBlob(int, int);
method public double getDouble(int, int);
method public float getFloat(int, int);
method public int getInt(int, int);
method public long getLong(int, int);
method public int getNumRows();
method public short getShort(int, int);
method public int getStartPosition();
method public String getString(int, int);
method public int getType(int, int);
method @Deprecated public boolean isBlob(int, int);
method @Deprecated public boolean isFloat(int, int);
method @Deprecated public boolean isLong(int, int);
method @Deprecated public boolean isNull(int, int);
method @Deprecated public boolean isString(int, int);
method public byte[] getBlob(@IntRange(from=0) int, @IntRange(from=0) int);
method public double getDouble(@IntRange(from=0) int, @IntRange(from=0) int);
method public float getFloat(@IntRange(from=0) int, @IntRange(from=0) int);
method public int getInt(@IntRange(from=0) int, @IntRange(from=0) int);
method public long getLong(@IntRange(from=0) int, @IntRange(from=0) int);
method @IntRange(from=0) public int getNumRows();
method public short getShort(@IntRange(from=0) int, @IntRange(from=0) int);
method @IntRange(from=0) public int getStartPosition();
method public String getString(@IntRange(from=0) int, @IntRange(from=0) int);
method public int getType(@IntRange(from=0) int, @IntRange(from=0) int);
method @Deprecated public boolean isBlob(@IntRange(from=0) int, @IntRange(from=0) int);
method @Deprecated public boolean isFloat(@IntRange(from=0) int, @IntRange(from=0) int);
method @Deprecated public boolean isLong(@IntRange(from=0) int, @IntRange(from=0) int);
method @Deprecated public boolean isNull(@IntRange(from=0) int, @IntRange(from=0) int);
method @Deprecated public boolean isString(@IntRange(from=0) int, @IntRange(from=0) int);
method public static android.database.CursorWindow newFromParcel(android.os.Parcel);
method protected void onAllReferencesReleased();
method public boolean putBlob(byte[], int, int);
method public boolean putDouble(double, int, int);
method public boolean putLong(long, int, int);
method public boolean putNull(int, int);
method public boolean putString(String, int, int);
method public boolean setNumColumns(int);
method public void setStartPosition(int);
method public boolean putBlob(byte[], @IntRange(from=0) int, @IntRange(from=0) int);
method public boolean putDouble(double, @IntRange(from=0) int, @IntRange(from=0) int);
method public boolean putLong(long, @IntRange(from=0) int, @IntRange(from=0) int);
method public boolean putNull(@IntRange(from=0) int, @IntRange(from=0) int);
method public boolean putString(String, @IntRange(from=0) int, @IntRange(from=0) int);
method public boolean setNumColumns(@IntRange(from=0) int);
method public void setStartPosition(@IntRange(from=0) int);
method public void writeToParcel(android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.database.CursorWindow> CREATOR;
}

View File

@@ -16,6 +16,8 @@
package android.database;
import android.annotation.IntDef;
import android.annotation.IntRange;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.ContentResolver;
@@ -23,6 +25,8 @@ import android.net.Uri;
import android.os.Bundle;
import java.io.Closeable;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Arrays;
import java.util.List;
@@ -56,12 +60,23 @@ public interface Cursor extends Closeable {
/** Value returned by {@link #getType(int)} if the specified column type is blob */
static final int FIELD_TYPE_BLOB = 4;
/** @hide */
@IntDef(prefix = { "FIELD_TYPE_" }, value = {
FIELD_TYPE_NULL,
FIELD_TYPE_INTEGER,
FIELD_TYPE_FLOAT,
FIELD_TYPE_STRING,
FIELD_TYPE_BLOB,
})
@Retention(RetentionPolicy.SOURCE)
public @interface FieldType {}
/**
* Returns the numbers of rows in the cursor.
*
* @return the number of rows in the cursor.
*/
int getCount();
@IntRange(from = 0) int getCount();
/**
* Returns the current position of the cursor in the row set.
@@ -72,7 +87,7 @@ public interface Cursor extends Closeable {
*
* @return the current cursor position.
*/
int getPosition();
@IntRange(from = -1) int getPosition();
/**
* Move the cursor by a relative amount, forward or backward, from the
@@ -101,7 +116,7 @@ public interface Cursor extends Closeable {
* @param position the zero-based position to move to.
* @return whether the requested move fully succeeded.
*/
boolean moveToPosition(int position);
boolean moveToPosition(@IntRange(from = -1) int position);
/**
* Move the cursor to the first row.
@@ -181,7 +196,7 @@ public interface Cursor extends Closeable {
* the column name does not exist.
* @see #getColumnIndexOrThrow(String)
*/
int getColumnIndex(String columnName);
@IntRange(from = -1) int getColumnIndex(String columnName);
/**
* Returns the zero-based index for the given column name, or throws
@@ -194,7 +209,8 @@ public interface Cursor extends Closeable {
* @see #getColumnIndex(String)
* @throws IllegalArgumentException if the column does not exist
*/
int getColumnIndexOrThrow(String columnName) throws IllegalArgumentException;
@IntRange(from = 0) int getColumnIndexOrThrow(String columnName)
throws IllegalArgumentException;
/**
* Returns the column name at the given zero-based column index.
@@ -202,7 +218,7 @@ public interface Cursor extends Closeable {
* @param columnIndex the zero-based index of the target column.
* @return the column name for the given column index.
*/
String getColumnName(int columnIndex);
String getColumnName(@IntRange(from = 0) int columnIndex);
/**
* Returns a string array holding the names of all of the columns in the
@@ -216,7 +232,7 @@ public interface Cursor extends Closeable {
* Return total number of columns
* @return number of columns
*/
int getColumnCount();
@IntRange(from = 0) int getColumnCount();
/**
* Returns the value of the requested column as a byte array.
@@ -228,7 +244,7 @@ public interface Cursor extends Closeable {
* @param columnIndex the zero-based index of the target column.
* @return the value of that column as a byte array.
*/
byte[] getBlob(int columnIndex);
byte[] getBlob(@IntRange(from = 0) int columnIndex);
/**
* Returns the value of the requested column as a String.
@@ -240,7 +256,7 @@ public interface Cursor extends Closeable {
* @param columnIndex the zero-based index of the target column.
* @return the value of that column as a String.
*/
String getString(int columnIndex);
String getString(@IntRange(from = 0) int columnIndex);
/**
* Retrieves the requested column text and stores it in the buffer provided.
@@ -250,7 +266,7 @@ public interface Cursor extends Closeable {
* if the target column is null, return buffer
* @param buffer the buffer to copy the text into.
*/
void copyStringToBuffer(int columnIndex, CharArrayBuffer buffer);
void copyStringToBuffer(@IntRange(from = 0) int columnIndex, CharArrayBuffer buffer);
/**
* Returns the value of the requested column as a short.
@@ -263,7 +279,7 @@ public interface Cursor extends Closeable {
* @param columnIndex the zero-based index of the target column.
* @return the value of that column as a short.
*/
short getShort(int columnIndex);
short getShort(@IntRange(from = 0) int columnIndex);
/**
* Returns the value of the requested column as an int.
@@ -276,7 +292,7 @@ public interface Cursor extends Closeable {
* @param columnIndex the zero-based index of the target column.
* @return the value of that column as an int.
*/
int getInt(int columnIndex);
int getInt(@IntRange(from = 0) int columnIndex);
/**
* Returns the value of the requested column as a long.
@@ -289,7 +305,7 @@ public interface Cursor extends Closeable {
* @param columnIndex the zero-based index of the target column.
* @return the value of that column as a long.
*/
long getLong(int columnIndex);
long getLong(@IntRange(from = 0) int columnIndex);
/**
* Returns the value of the requested column as a float.
@@ -302,7 +318,7 @@ public interface Cursor extends Closeable {
* @param columnIndex the zero-based index of the target column.
* @return the value of that column as a float.
*/
float getFloat(int columnIndex);
float getFloat(@IntRange(from = 0) int columnIndex);
/**
* Returns the value of the requested column as a double.
@@ -315,28 +331,18 @@ public interface Cursor extends Closeable {
* @param columnIndex the zero-based index of the target column.
* @return the value of that column as a double.
*/
double getDouble(int columnIndex);
double getDouble(@IntRange(from = 0) int columnIndex);
/**
* Returns data type of the given column's value.
* The preferred type of the column is returned but the data may be converted to other types
* as documented in the get-type methods such as {@link #getInt(int)}, {@link #getFloat(int)}
* etc.
*<p>
* Returned column types are
* <ul>
* <li>{@link #FIELD_TYPE_NULL}</li>
* <li>{@link #FIELD_TYPE_INTEGER}</li>
* <li>{@link #FIELD_TYPE_FLOAT}</li>
* <li>{@link #FIELD_TYPE_STRING}</li>
* <li>{@link #FIELD_TYPE_BLOB}</li>
*</ul>
*</p>
*
* @param columnIndex the zero-based index of the target column.
* @return column value type
*/
int getType(int columnIndex);
@FieldType int getType(@IntRange(from = 0) int columnIndex);
/**
* Returns <code>true</code> if the value in the indicated column is null.
@@ -344,7 +350,7 @@ public interface Cursor extends Closeable {
* @param columnIndex the zero-based index of the target column.
* @return whether the column value is null.
*/
boolean isNull(int columnIndex);
boolean isNull(@IntRange(from = 0) int columnIndex);
/**
* Deactivates the Cursor, making all calls on it fail until {@link #requery} is called.

View File

@@ -17,6 +17,7 @@
package android.database;
import android.annotation.BytesLong;
import android.annotation.IntRange;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.res.Resources;
import android.database.sqlite.SQLiteClosable;
@@ -230,7 +231,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
*
* @return The zero-based start position.
*/
public int getStartPosition() {
public @IntRange(from = 0) int getStartPosition() {
return mStartPos;
}
@@ -243,7 +244,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
*
* @param pos The new zero-based start position.
*/
public void setStartPosition(int pos) {
public void setStartPosition(@IntRange(from = 0) int pos) {
mStartPos = pos;
}
@@ -252,7 +253,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
*
* @return The number of rows in this cursor window.
*/
public int getNumRows() {
public @IntRange(from = 0) int getNumRows() {
acquireReference();
try {
return nativeGetNumRows(mWindowPtr);
@@ -272,7 +273,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @param columnNum The new number of columns.
* @return True if successful.
*/
public boolean setNumColumns(int columnNum) {
public boolean setNumColumns(@IntRange(from = 0) int columnNum) {
acquireReference();
try {
return nativeSetNumColumns(mWindowPtr, columnNum);
@@ -317,7 +318,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @deprecated Use {@link #getType(int, int)} instead.
*/
@Deprecated
public boolean isNull(int row, int column) {
public boolean isNull(@IntRange(from = 0) int row, @IntRange(from = 0) int column) {
return getType(row, column) == Cursor.FIELD_TYPE_NULL;
}
@@ -332,7 +333,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @deprecated Use {@link #getType(int, int)} instead.
*/
@Deprecated
public boolean isBlob(int row, int column) {
public boolean isBlob(@IntRange(from = 0) int row, @IntRange(from = 0) int column) {
int type = getType(row, column);
return type == Cursor.FIELD_TYPE_BLOB || type == Cursor.FIELD_TYPE_NULL;
}
@@ -347,7 +348,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @deprecated Use {@link #getType(int, int)} instead.
*/
@Deprecated
public boolean isLong(int row, int column) {
public boolean isLong(@IntRange(from = 0) int row, @IntRange(from = 0) int column) {
return getType(row, column) == Cursor.FIELD_TYPE_INTEGER;
}
@@ -361,7 +362,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @deprecated Use {@link #getType(int, int)} instead.
*/
@Deprecated
public boolean isFloat(int row, int column) {
public boolean isFloat(@IntRange(from = 0) int row, @IntRange(from = 0) int column) {
return getType(row, column) == Cursor.FIELD_TYPE_FLOAT;
}
@@ -376,29 +377,20 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @deprecated Use {@link #getType(int, int)} instead.
*/
@Deprecated
public boolean isString(int row, int column) {
public boolean isString(@IntRange(from = 0) int row, @IntRange(from = 0) int column) {
int type = getType(row, column);
return type == Cursor.FIELD_TYPE_STRING || type == Cursor.FIELD_TYPE_NULL;
}
/**
* Returns the type of the field at the specified row and column index.
* <p>
* The returned field types are:
* <ul>
* <li>{@link Cursor#FIELD_TYPE_NULL}</li>
* <li>{@link Cursor#FIELD_TYPE_INTEGER}</li>
* <li>{@link Cursor#FIELD_TYPE_FLOAT}</li>
* <li>{@link Cursor#FIELD_TYPE_STRING}</li>
* <li>{@link Cursor#FIELD_TYPE_BLOB}</li>
* </ul>
* </p>
*
* @param row The zero-based row index.
* @param column The zero-based column index.
* @return The field type.
*/
public int getType(int row, int column) {
public @Cursor.FieldType int getType(@IntRange(from = 0) int row,
@IntRange(from = 0) int column) {
acquireReference();
try {
return nativeGetType(mWindowPtr, row - mStartPos, column);
@@ -428,7 +420,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @param column The zero-based column index.
* @return The value of the field as a byte array.
*/
public byte[] getBlob(int row, int column) {
public byte[] getBlob(@IntRange(from = 0) int row, @IntRange(from = 0) int column) {
acquireReference();
try {
return nativeGetBlob(mWindowPtr, row - mStartPos, column);
@@ -463,7 +455,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @param column The zero-based column index.
* @return The value of the field as a string.
*/
public String getString(int row, int column) {
public String getString(@IntRange(from = 0) int row, @IntRange(from = 0) int column) {
acquireReference();
try {
return nativeGetString(mWindowPtr, row - mStartPos, column);
@@ -502,7 +494,8 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @param buffer The {@link CharArrayBuffer} to hold the string. It is automatically
* resized if the requested string is larger than the buffer's current capacity.
*/
public void copyStringToBuffer(int row, int column, CharArrayBuffer buffer) {
public void copyStringToBuffer(@IntRange(from = 0) int row, @IntRange(from = 0) int column,
CharArrayBuffer buffer) {
if (buffer == null) {
throw new IllegalArgumentException("CharArrayBuffer should not be null");
}
@@ -536,7 +529,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @param column The zero-based column index.
* @return The value of the field as a <code>long</code>.
*/
public long getLong(int row, int column) {
public long getLong(@IntRange(from = 0) int row, @IntRange(from = 0) int column) {
acquireReference();
try {
return nativeGetLong(mWindowPtr, row - mStartPos, column);
@@ -568,7 +561,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @param column The zero-based column index.
* @return The value of the field as a <code>double</code>.
*/
public double getDouble(int row, int column) {
public double getDouble(@IntRange(from = 0) int row, @IntRange(from = 0) int column) {
acquireReference();
try {
return nativeGetDouble(mWindowPtr, row - mStartPos, column);
@@ -589,7 +582,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @param column The zero-based column index.
* @return The value of the field as a <code>short</code>.
*/
public short getShort(int row, int column) {
public short getShort(@IntRange(from = 0) int row, @IntRange(from = 0) int column) {
return (short) getLong(row, column);
}
@@ -605,7 +598,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @param column The zero-based column index.
* @return The value of the field as an <code>int</code>.
*/
public int getInt(int row, int column) {
public int getInt(@IntRange(from = 0) int row, @IntRange(from = 0) int column) {
return (int) getLong(row, column);
}
@@ -621,7 +614,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @param column The zero-based column index.
* @return The value of the field as an <code>float</code>.
*/
public float getFloat(int row, int column) {
public float getFloat(@IntRange(from = 0) int row, @IntRange(from = 0) int column) {
return (float) getDouble(row, column);
}
@@ -633,7 +626,8 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @param column The zero-based column index.
* @return True if successful.
*/
public boolean putBlob(byte[] value, int row, int column) {
public boolean putBlob(byte[] value,
@IntRange(from = 0) int row, @IntRange(from = 0) int column) {
acquireReference();
try {
return nativePutBlob(mWindowPtr, value, row - mStartPos, column);
@@ -650,7 +644,8 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @param column The zero-based column index.
* @return True if successful.
*/
public boolean putString(String value, int row, int column) {
public boolean putString(String value,
@IntRange(from = 0) int row, @IntRange(from = 0) int column) {
acquireReference();
try {
return nativePutString(mWindowPtr, value, row - mStartPos, column);
@@ -667,7 +662,8 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @param column The zero-based column index.
* @return True if successful.
*/
public boolean putLong(long value, int row, int column) {
public boolean putLong(long value,
@IntRange(from = 0) int row, @IntRange(from = 0) int column) {
acquireReference();
try {
return nativePutLong(mWindowPtr, value, row - mStartPos, column);
@@ -685,7 +681,8 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @param column The zero-based column index.
* @return True if successful.
*/
public boolean putDouble(double value, int row, int column) {
public boolean putDouble(double value,
@IntRange(from = 0) int row, @IntRange(from = 0) int column) {
acquireReference();
try {
return nativePutDouble(mWindowPtr, value, row - mStartPos, column);
@@ -701,7 +698,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable {
* @param column The zero-based column index.
* @return True if successful.
*/
public boolean putNull(int row, int column) {
public boolean putNull(@IntRange(from = 0) int row, @IntRange(from = 0) int column) {
acquireReference();
try {
return nativePutNull(mWindowPtr, row - mStartPos, column);

View File

@@ -13077,38 +13077,38 @@ package android.database {
public interface Cursor extends java.io.Closeable {
method public void close();
method public void copyStringToBuffer(int, android.database.CharArrayBuffer);
method public void copyStringToBuffer(@IntRange(from=0) int, android.database.CharArrayBuffer);
method @Deprecated public void deactivate();
method public byte[] getBlob(int);
method public int getColumnCount();
method public int getColumnIndex(String);
method public int getColumnIndexOrThrow(String) throws java.lang.IllegalArgumentException;
method public String getColumnName(int);
method public byte[] getBlob(@IntRange(from=0) int);
method @IntRange(from=0) public int getColumnCount();
method @IntRange(from=0xffffffff) public int getColumnIndex(String);
method @IntRange(from=0) public int getColumnIndexOrThrow(String) throws java.lang.IllegalArgumentException;
method public String getColumnName(@IntRange(from=0) int);
method public String[] getColumnNames();
method public int getCount();
method public double getDouble(int);
method @IntRange(from=0) public int getCount();
method public double getDouble(@IntRange(from=0) int);
method public android.os.Bundle getExtras();
method public float getFloat(int);
method public int getInt(int);
method public long getLong(int);
method public float getFloat(@IntRange(from=0) int);
method public int getInt(@IntRange(from=0) int);
method public long getLong(@IntRange(from=0) int);
method public android.net.Uri getNotificationUri();
method @Nullable public default java.util.List<android.net.Uri> getNotificationUris();
method public int getPosition();
method public short getShort(int);
method public String getString(int);
method public int getType(int);
method @IntRange(from=0xffffffff) public int getPosition();
method public short getShort(@IntRange(from=0) int);
method public String getString(@IntRange(from=0) int);
method public int getType(@IntRange(from=0) int);
method public boolean getWantsAllOnMoveCalls();
method public boolean isAfterLast();
method public boolean isBeforeFirst();
method public boolean isClosed();
method public boolean isFirst();
method public boolean isLast();
method public boolean isNull(int);
method public boolean isNull(@IntRange(from=0) int);
method public boolean move(int);
method public boolean moveToFirst();
method public boolean moveToLast();
method public boolean moveToNext();
method public boolean moveToPosition(int);
method public boolean moveToPosition(@IntRange(from=0xffffffff) int);
method public boolean moveToPrevious();
method public void registerContentObserver(android.database.ContentObserver);
method public void registerDataSetObserver(android.database.DataSetObserver);
@@ -13150,33 +13150,33 @@ package android.database {
ctor @Deprecated public CursorWindow(boolean);
method public boolean allocRow();
method public void clear();
method public void copyStringToBuffer(int, int, android.database.CharArrayBuffer);
method public void copyStringToBuffer(@IntRange(from=0) int, @IntRange(from=0) int, android.database.CharArrayBuffer);
method public int describeContents();
method public void freeLastRow();
method public byte[] getBlob(int, int);
method public double getDouble(int, int);
method public float getFloat(int, int);
method public int getInt(int, int);
method public long getLong(int, int);
method public int getNumRows();
method public short getShort(int, int);
method public int getStartPosition();
method public String getString(int, int);
method public int getType(int, int);
method @Deprecated public boolean isBlob(int, int);
method @Deprecated public boolean isFloat(int, int);
method @Deprecated public boolean isLong(int, int);
method @Deprecated public boolean isNull(int, int);
method @Deprecated public boolean isString(int, int);
method public byte[] getBlob(@IntRange(from=0) int, @IntRange(from=0) int);
method public double getDouble(@IntRange(from=0) int, @IntRange(from=0) int);
method public float getFloat(@IntRange(from=0) int, @IntRange(from=0) int);
method public int getInt(@IntRange(from=0) int, @IntRange(from=0) int);
method public long getLong(@IntRange(from=0) int, @IntRange(from=0) int);
method @IntRange(from=0) public int getNumRows();
method public short getShort(@IntRange(from=0) int, @IntRange(from=0) int);
method @IntRange(from=0) public int getStartPosition();
method public String getString(@IntRange(from=0) int, @IntRange(from=0) int);
method public int getType(@IntRange(from=0) int, @IntRange(from=0) int);
method @Deprecated public boolean isBlob(@IntRange(from=0) int, @IntRange(from=0) int);
method @Deprecated public boolean isFloat(@IntRange(from=0) int, @IntRange(from=0) int);
method @Deprecated public boolean isLong(@IntRange(from=0) int, @IntRange(from=0) int);
method @Deprecated public boolean isNull(@IntRange(from=0) int, @IntRange(from=0) int);
method @Deprecated public boolean isString(@IntRange(from=0) int, @IntRange(from=0) int);
method public static android.database.CursorWindow newFromParcel(android.os.Parcel);
method protected void onAllReferencesReleased();
method public boolean putBlob(byte[], int, int);
method public boolean putDouble(double, int, int);
method public boolean putLong(long, int, int);
method public boolean putNull(int, int);
method public boolean putString(String, int, int);
method public boolean setNumColumns(int);
method public void setStartPosition(int);
method public boolean putBlob(byte[], @IntRange(from=0) int, @IntRange(from=0) int);
method public boolean putDouble(double, @IntRange(from=0) int, @IntRange(from=0) int);
method public boolean putLong(long, @IntRange(from=0) int, @IntRange(from=0) int);
method public boolean putNull(@IntRange(from=0) int, @IntRange(from=0) int);
method public boolean putString(String, @IntRange(from=0) int, @IntRange(from=0) int);
method public boolean setNumColumns(@IntRange(from=0) int);
method public void setStartPosition(@IntRange(from=0) int);
method public void writeToParcel(android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.database.CursorWindow> CREATOR;
}