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);
}
}