package weibo4j.model; import java.util.ArrayList; import java.util.List; import weibo4j.http.Response; import weibo4j.org.json.JSONArray; import weibo4j.org.json.JSONException; import weibo4j.org.json.JSONObject; /** * 地理信息 * * @author xiaoV * */ public class Poisition extends WeiboResponse { private static final long serialVersionUID = -6156515630521071392L; private String srcid; private String longitude; private String latitude; private String name; private String cityName; private String address; private String telephone; private String category; private String description; private String intro; private String tags; private String url; private String traffic; private String deal; private String pid; private static long totalNumber; private static String coordinates; public Poisition(Response res) throws WeiboException { super(res); JSONObject json = null; try { json = res.asJSONObject(); srcid = json.getString("srcid"); longitude = json.getString("longitude"); latitude = json.getString("latitude"); name = json.getString("name"); cityName = json.getString("city_name"); address = json.getString("address"); telephone = json.getString("telephone"); category = json.getString("category"); description = json.getString("description"); intro = json.getString("intro"); tags = json.getString("tags"); url = json.getString("url"); traffic = json.getString("traffic"); deal = json.getString("deal"); pid = json.getString("pid"); } catch (JSONException je) { throw new WeiboException(je.getMessage() + ":" + json.toString(), je); } } public Poisition(JSONObject json) throws WeiboException { try { srcid = json.getString("srcid"); longitude = json.getString("longitude"); latitude = json.getString("latitude"); name = json.getString("name"); cityName = json.getString("city_name"); address = json.getString("address"); telephone = json.getString("telephone"); category = json.getString("category"); description = json.getString("description"); intro = json.getString("intro"); tags = json.getString("tags"); url = json.getString("url"); traffic = json.getString("traffic"); deal = json.getString("deal"); pid = json.getString("pid"); } catch (JSONException je) { throw new WeiboException(je.getMessage() + ":" + json.toString(), je); } } public static List<Poisition> constructPois(Response res) throws WeiboException { try { JSONArray list = res.asJSONObject().getJSONArray("pois"); int size = list.length(); List<Poisition> pois = new ArrayList<Poisition>(size); for (int i = 0; i < size; i++) { pois.add(new Poisition(list.getJSONObject(i))); } totalNumber = res.asJSONObject().getLong("total_number"); coordinates = res.asJSONObject().getString("coordinates"); return pois; } catch (JSONException jsone) { throw new WeiboException(jsone); } } public String getSrcid() { return srcid; } public void setSrcid(String srcid) { this.srcid = srcid; } public String getLongitude() { return longitude; } public void setLongitude(String longitude) { this.longitude = longitude; } public String getLatitude() { return latitude; } public void setLatitude(String latitude) { this.latitude = latitude; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCityName() { return cityName; } public void setCityName(String cityName) { this.cityName = cityName; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getTelephone() { return telephone; } public void setTelephone(String telephone) { this.telephone = telephone; } public String getCategory() { return category; } public void setCategory(String category) { this.category = category; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getIntro() { return intro; } public void setIntro(String intro) { this.intro = intro; } public String getTags() { return tags; } public void setTags(String tags) { this.tags = tags; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getTraffic() { return traffic; } public void setTraffic(String traffic) { this.traffic = traffic; } public String getDeal() { return deal; } public void setDeal(String deal) { this.deal = deal; } public String getPid() { return pid; } public void setPid(String pid) { this.pid = pid; } public static long getTotalNumber() { return totalNumber; } public static void setTotalNumber(long totalNumber) { Poisition.totalNumber = totalNumber; } public static String getCoordinates() { return coordinates; } public static void setCoordinates(String coordinates) { Poisition.coordinates = coordinates; } @Override public String toString() { return "Pois [" + "coordinates = " + coordinates + ", srcid = " + srcid + ", longitude = " + longitude + ", latitude = " + latitude + ", name = " + name + ", city_name = " + cityName + ", address = " + address + ", telephone = " + telephone + ", category = " + category + ", description = " + description + ", intro = " + intro + ", tags = " + tags + ", url = " + url + ", traffic = " + traffic + ", deal = " + deal + ", pid = " + pid + ", totalNumber = " + totalNumber + "]"; } }