diff options
author | Android (Google) Code Review <android-gerrit@google.com> | 2009-07-22 13:29:31 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2009-07-22 13:29:31 -0700 |
commit | 1186bb1ecaf79402b8895d5bc5f23fdee0d7e922 (patch) | |
tree | e618399427dbed690f79828d9a97f954d95b9948 /core/java/android/database | |
parent | c7bebd15378d98104e6cd32666665fd60eaa8043 (diff) | |
parent | ae1ba650074ab7b9a73f4430c1fc3576a8199383 (diff) | |
download | frameworks_base-1186bb1ecaf79402b8895d5bc5f23fdee0d7e922.zip frameworks_base-1186bb1ecaf79402b8895d5bc5f23fdee0d7e922.tar.gz frameworks_base-1186bb1ecaf79402b8895d5bc5f23fdee0d7e922.tar.bz2 |
am ae1ba650: Merge change 8227 into donut
Merge commit 'ae1ba650074ab7b9a73f4430c1fc3576a8199383'
* commit 'ae1ba650074ab7b9a73f4430c1fc3576a8199383':
Handle null in MatrixCursor.get*()
Diffstat (limited to 'core/java/android/database')
-rw-r--r-- | core/java/android/database/MatrixCursor.java | 43 |
1 files changed, 27 insertions, 16 deletions
diff --git a/core/java/android/database/MatrixCursor.java b/core/java/android/database/MatrixCursor.java index cf5a573..d5c3a32 100644 --- a/core/java/android/database/MatrixCursor.java +++ b/core/java/android/database/MatrixCursor.java @@ -214,53 +214,64 @@ public class MatrixCursor extends AbstractCursor { // AbstractCursor implementation. + @Override public int getCount() { return rowCount; } + @Override public String[] getColumnNames() { return columnNames; } + @Override public String getString(int column) { - return String.valueOf(get(column)); + Object value = get(column); + if (value == null) return null; + return value.toString(); } + @Override public short getShort(int column) { Object value = get(column); - return (value instanceof String) - ? Short.valueOf((String) value) - : ((Number) value).shortValue(); + if (value == null) return 0; + if (value instanceof Number) return ((Number) value).shortValue(); + return Short.parseShort(value.toString()); } + @Override public int getInt(int column) { Object value = get(column); - return (value instanceof String) - ? Integer.valueOf((String) value) - : ((Number) value).intValue(); + if (value == null) return 0; + if (value instanceof Number) return ((Number) value).intValue(); + return Integer.parseInt(value.toString()); } + @Override public long getLong(int column) { Object value = get(column); - return (value instanceof String) - ? Long.valueOf((String) value) - : ((Number) value).longValue(); + if (value == null) return 0; + if (value instanceof Number) return ((Number) value).longValue(); + return Long.parseLong(value.toString()); } + @Override public float getFloat(int column) { Object value = get(column); - return (value instanceof String) - ? Float.valueOf((String) value) - : ((Number) value).floatValue(); + if (value == null) return 0.0f; + if (value instanceof Number) return ((Number) value).floatValue(); + return Float.parseFloat(value.toString()); } + @Override public double getDouble(int column) { Object value = get(column); - return (value instanceof String) - ? Double.valueOf((String) value) - : ((Number) value).doubleValue(); + if (value == null) return 0.0d; + if (value instanceof Number) return ((Number) value).doubleValue(); + return Double.parseDouble(value.toString()); } + @Override public boolean isNull(int column) { return get(column) == null; } |