summaryrefslogtreecommitdiffstats
path: root/core/java/android/database
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-07-22 13:29:31 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2009-07-22 13:29:31 -0700
commit1186bb1ecaf79402b8895d5bc5f23fdee0d7e922 (patch)
treee618399427dbed690f79828d9a97f954d95b9948 /core/java/android/database
parentc7bebd15378d98104e6cd32666665fd60eaa8043 (diff)
parentae1ba650074ab7b9a73f4430c1fc3576a8199383 (diff)
downloadframeworks_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.java43
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;
}