/** * Copyright 2010 Mark Wyszomierski */ package com.joelapenna.foursquare.parsers.json; import com.joelapenna.foursquare.parsers.json.CategoryParser; import com.joelapenna.foursquare.parsers.json.GroupParser; import com.joelapenna.foursquare.types.Category; import com.joelapenna.foursquare.util.IconUtils; import org.json.JSONException; import org.json.JSONObject; /** * @date July 13, 2010 * @author Mark Wyszomierski (markww@gmail.com) * */ public class CategoryParser extends AbstractParser<Category> { @Override public Category parse(JSONObject json) throws JSONException { Category obj = new Category(); if (json.has("id")) { obj.setId(json.getString("id")); } if (json.has("fullpathname")) { obj.setFullPathName(json.getString("fullpathname")); } if (json.has("nodename")) { obj.setNodeName(json.getString("nodename")); } if (json.has("iconurl")) { // TODO: Remove this once api v2 allows icon request. String iconUrl = json.getString("iconurl"); if (IconUtils.get().getRequestHighDensityIcons()) { iconUrl = iconUrl.replace(".png", "_64.png"); } obj.setIconUrl(iconUrl); } if (json.has("categories")) { obj.setChildCategories( new GroupParser( new CategoryParser()).parse(json.getJSONArray("categories"))); } return obj; } }