aboutsummaryrefslogtreecommitdiffstats
path: root/AndroidAsync/src/com/koushikdutta/async/parser
diff options
context:
space:
mode:
authorKoushik Dutta <koushd@gmail.com>2013-05-31 09:42:10 -0700
committerKoushik Dutta <koushd@gmail.com>2013-05-31 09:42:22 -0700
commit30dbcebfc5e18b89c4cb5130d5aa004a70e7d828 (patch)
tree8b9179c10d9ecafb69697a82f555ce27e6e0a716 /AndroidAsync/src/com/koushikdutta/async/parser
parenta5411c47f9003710ddc981eaec84cf63eb81b696 (diff)
downloadAndroidAsync-30dbcebfc5e18b89c4cb5130d5aa004a70e7d828.tar.gz
AndroidAsync-30dbcebfc5e18b89c4cb5130d5aa004a70e7d828.tar.bz2
AndroidAsync-30dbcebfc5e18b89c4cb5130d5aa004a70e7d828.zip
JSONArrayParser
Diffstat (limited to 'AndroidAsync/src/com/koushikdutta/async/parser')
-rw-r--r--AndroidAsync/src/com/koushikdutta/async/parser/JSONArrayParser.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/AndroidAsync/src/com/koushikdutta/async/parser/JSONArrayParser.java b/AndroidAsync/src/com/koushikdutta/async/parser/JSONArrayParser.java
new file mode 100644
index 0000000..03aaea6
--- /dev/null
+++ b/AndroidAsync/src/com/koushikdutta/async/parser/JSONArrayParser.java
@@ -0,0 +1,31 @@
+package com.koushikdutta.async.parser;
+
+import com.koushikdutta.async.DataEmitter;
+import com.koushikdutta.async.DataSink;
+import com.koushikdutta.async.callback.CompletedCallback;
+import com.koushikdutta.async.future.Future;
+import com.koushikdutta.async.future.TransformFuture;
+
+import org.json.JSONArray;
+import org.json.JSONObject;
+
+/**
+ * Created by koush on 5/27/13.
+ */
+public class JSONArrayParser implements AsyncParser<JSONArray> {
+ @Override
+ public Future<JSONArray> parse(DataEmitter emitter) {
+ return new TransformFuture<JSONArray, String>() {
+ @Override
+ protected void transform(String result) throws Exception {
+ setComplete(new JSONArray(result));
+ }
+ }
+ .from(new StringParser().parse(emitter));
+ }
+
+ @Override
+ public void write(DataSink sink, JSONArray value, CompletedCallback completed) {
+ new StringParser().write(sink, value.toString(), completed);
+ }
+}