ShadowDatabaseUtils.java revision e72b923b7673dec28fadec8b4b08b982af0a6d71
1e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vrankenpackage com.xtremelabs.robolectric.shadows;
2e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken
3e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vrankenimport android.database.DatabaseUtils;
4e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vrankenimport android.database.sqlite.SQLiteProgram;
5e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken
6e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vrankenimport com.xtremelabs.robolectric.internal.Implementation;
7e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vrankenimport com.xtremelabs.robolectric.internal.Implements;
8e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken
9e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken@Implements(DatabaseUtils.class)
10e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vrankenpublic class ShadowDatabaseUtils {
11e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken
12e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	@Implementation
13e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	 public static void bindObjectToProgram(SQLiteProgram prog, int index,
14e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	            Object value) {
15e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	        if (value == null) {
16e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	            prog.bindNull(index);
17e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	        } else if (value instanceof Double || value instanceof Float) {
18e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	            prog.bindDouble(index, ((Number)value).doubleValue());
19e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	        } else if (value instanceof Number) {
20e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	            prog.bindLong(index, ((Number)value).longValue());
21e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	        } else if (value instanceof Boolean) {
22e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	            Boolean bool = (Boolean)value;
23e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	            if (bool) {
24e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	                prog.bindLong(index, 1);
25e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	            } else {
26e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	                prog.bindLong(index, 0);
27e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	            }
28e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	        } else if (value instanceof byte[]){
29e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	            prog.bindBlob(index, (byte[]) value);
30e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	        } else {
31e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	            prog.bindString(index, value.toString());
32e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	        }
33e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken	    }
34e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken
35e72b923b7673dec28fadec8b4b08b982af0a6d71Chris Van Vranken}
36