Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d0c8cdd7 authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

Add some simple annotations to Cursor.

Bug: 146778105
Test: none
Change-Id: Ifd76abd9663732a851d3dae7435d31c8380402a5
parent a3e52bf4
Loading
Loading
Loading
Loading
+40 −40
Original line number Diff line number Diff line
@@ -13056,38 +13056,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);
@@ -13129,33 +13129,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;
  }
+33 −27
Original line number Diff line number Diff line
@@ -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.
+30 −33
Original line number Diff line number Diff line
@@ -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);
+40 −40

File changed.

Preview size limit exceeded, changes collapsed.