package de.thedevstack.conversationsplus.persistance; import android.database.Cursor; /** * Created by steckbrief on 15.04.2016. */ public abstract class CursorHelper { static double getDouble(Cursor cursor, String columnName) { if (null == cursor) { return Double.MIN_VALUE; } int columnIndex = getColumnIndex(cursor, columnName); if (columnIndex < 0) { return Double.MIN_VALUE; } return getDouble(cursor, columnIndex); } static String getString(Cursor cursor, String columnName) { if (null == cursor) { return null; } int columnIndex = getColumnIndex(cursor, columnName); if (columnIndex < 0) { return null; } return getString(cursor, columnIndex); } static float getFloat(Cursor cursor, String columnName) { if (null == cursor) { return Float.MIN_VALUE; } int columnIndex = getColumnIndex(cursor, columnName); if (columnIndex < 0) { return Float.MIN_VALUE; } return getFloat(cursor, columnIndex); } static int getInt(Cursor cursor, String columnName) { if (null == cursor) { return Integer.MIN_VALUE; } int columnIndex = getColumnIndex(cursor, columnName); if (columnIndex < 0) { return Integer.MIN_VALUE; } return getInt(cursor, columnIndex); } static long getLong(Cursor cursor, String columnName) { if (null == cursor) { return Long.MIN_VALUE; } int columnIndex = getColumnIndex(cursor, columnName); if (columnIndex < 0) { return Long.MIN_VALUE; } return getLong(cursor, columnIndex); } static int getShort(Cursor cursor, String columnName) { if (null == cursor) { return Short.MIN_VALUE; } int columnIndex = getColumnIndex(cursor, columnName); if (columnIndex < 0) { return Short.MIN_VALUE; } return getShort(cursor, columnIndex); } static byte[] getBlob(Cursor cursor, String columnName) { if (null == cursor) { return null; } int columnIndex = getColumnIndex(cursor, columnName); if (columnIndex < 0) { return null; } return getBlob(cursor, columnIndex); } /** * 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 {@link Cursor#getColumnIndexOrThrow(String)} instead, which * will make the error more clear. * * @param columnName the name of the target column. * @return the zero-based column index for the given column name, or -1 if * the column name does not exist. * @see Cursor#getColumnIndexOrThrow(String) */ static int getColumnIndex(Cursor cursor, String columnName) { return cursor.getColumnIndex(columnName); } /** * Returns the value of the requested column as a byte array. * *
The result and whether this method throws an exception when the * column value is null or the column type is not a blob type is * implementation-defined. * * @param columnIndex the zero-based index of the target column. * @return the value of that column as a byte array. */ static byte[] getBlob(Cursor cursor, int columnIndex) { return cursor.getBlob(columnIndex); } /** * Returns the value of the requested column as a String. * *
The result and whether this method throws an exception when the * column value is null or the column type is not a string type is * implementation-defined. * * @param columnIndex the zero-based index of the target column. * @return the value of that column as a String. */ static String getString(Cursor cursor, int columnIndex) { return cursor.getString(columnIndex); } /** * Returns the value of the requested column as a short. * *
The result and whether this method throws an exception when the
* column value is null, the column type is not an integral type, or the
* integer value is outside the range [Short.MIN_VALUE
,
* Short.MAX_VALUE
] is implementation-defined.
*
* @param columnIndex the zero-based index of the target column.
* @return the value of that column as a short.
*/
static short getShort(Cursor cursor, int columnIndex) {
return cursor.getShort(columnIndex);
}
/**
* Returns the value of the requested column as an int.
*
*
The result and whether this method throws an exception when the
* column value is null, the column type is not an integral type, or the
* integer value is outside the range [Integer.MIN_VALUE
,
* Integer.MAX_VALUE
] is implementation-defined.
*
* @param columnIndex the zero-based index of the target column.
* @return the value of that column as an int.
*/
static int getInt(Cursor cursor, int columnIndex) {
return cursor.getInt(columnIndex);
}
/**
* Returns the value of the requested column as a long.
*
*
The result and whether this method throws an exception when the
* column value is null, the column type is not an integral type, or the
* integer value is outside the range [Long.MIN_VALUE
,
* Long.MAX_VALUE
] is implementation-defined.
*
* @param columnIndex the zero-based index of the target column.
* @return the value of that column as a long.
*/
static long getLong(Cursor cursor, int columnIndex) {
return cursor.getLong(columnIndex);
}
/**
* Returns the value of the requested column as a float.
*
*
The result and whether this method throws an exception when the
* column value is null, the column type is not a floating-point type, or the
* floating-point value is not representable as a float
value is
* implementation-defined.
*
* @param columnIndex the zero-based index of the target column.
* @return the value of that column as a float.
*/
static float getFloat(Cursor cursor, int columnIndex) {
return cursor.getFloat(columnIndex);
}
/**
* Returns the value of the requested column as a double.
*
*
The result and whether this method throws an exception when the
* column value is null, the column type is not a floating-point type, or the
* floating-point value is not representable as a double
value is
* implementation-defined.
*
* @param columnIndex the zero-based index of the target column.
* @return the value of that column as a double.
*/
static double getDouble(Cursor cursor, int columnIndex) {
return cursor.getDouble(columnIndex);
}
}