diff options
author | Koushik Dutta <koushd@gmail.com> | 2013-05-31 09:42:10 -0700 |
---|---|---|
committer | Koushik Dutta <koushd@gmail.com> | 2013-05-31 09:42:22 -0700 |
commit | 30dbcebfc5e18b89c4cb5130d5aa004a70e7d828 (patch) | |
tree | 8b9179c10d9ecafb69697a82f555ce27e6e0a716 /AndroidAsync | |
parent | a5411c47f9003710ddc981eaec84cf63eb81b696 (diff) | |
download | AndroidAsync-30dbcebfc5e18b89c4cb5130d5aa004a70e7d828.tar.gz AndroidAsync-30dbcebfc5e18b89c4cb5130d5aa004a70e7d828.tar.bz2 AndroidAsync-30dbcebfc5e18b89c4cb5130d5aa004a70e7d828.zip |
JSONArrayParser
Diffstat (limited to 'AndroidAsync')
-rw-r--r-- | AndroidAsync/src/com/koushikdutta/async/parser/JSONArrayParser.java | 31 |
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); + } +} |