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); } }