/**
* Copyright 2010 Mark Wyszomierski
*/
package com.joelapenna.foursquare.parsers.json;
import com.joelapenna.foursquare.types.Tip;
import org.json.JSONException;
import org.json.JSONObject;
/**
* @date July 13, 2010
* @author Mark Wyszomierski (markww@gmail.com)
*/
public class TipParser extends AbstractParser<Tip> {
@Override
public Tip parse(JSONObject json) throws JSONException {
Tip obj = new Tip();
if (json.has("created")) {
obj.setCreated(json.getString("created"));
}
if (json.has("distance")) {
obj.setDistance(json.getString("distance"));
}
if (json.has("id")) {
obj.setId(json.getString("id"));
}
if (json.has("stats")) {
obj.setStats(new TipParser.StatsParser().parse(json.getJSONObject("stats")));
}
if (json.has("status")) {
obj.setStatus(json.getString("status"));
}
if (json.has("text")) {
obj.setText(json.getString("text"));
}
if (json.has("user")) {
obj.setUser(new UserParser().parse(json.getJSONObject("user")));
}
if (json.has("venue")) {
obj.setVenue(new VenueParser().parse(json.getJSONObject("venue")));
}
return obj;
}
public static class StatsParser extends AbstractParser<Tip.Stats> {
@Override
public Tip.Stats parse(JSONObject json) throws JSONException {
Tip.Stats stats = new Tip.Stats();
if (json.has("donecount")) {
stats.setDoneCount(json.getInt("donecount"));
}
if (json.has("todocount")) {
stats.setTodoCount(json.getInt("todocount"));
}
return stats;
}
}
}