blob: 0d4b1d752d1302548b18ee5609b594b2f654990e [file] [log] [blame]
package org.wordpress.android.models;
import org.json.JSONArray;
import org.json.JSONObject;
import org.wordpress.android.util.JSONUtils;
import org.wordpress.android.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
public class Suggestion {
private static final String MENTION_TAXONOMY = "mention";
public long siteID;
private String userLogin;
private String displayName;
private String imageUrl;
private String taxonomy;
public Suggestion(long siteID,
String userLogin,
String displayName,
String imageUrl,
String taxonomy) {
this.siteID = siteID;
this.userLogin = userLogin;
this.displayName = displayName;
this.imageUrl = imageUrl;
this.taxonomy = taxonomy;
}
public static Suggestion fromJSON(JSONObject json, long siteID) {
if (json == null) {
return null;
}
String userLogin = JSONUtils.getString(json, "user_login");
String displayName = JSONUtils.getString(json, "display_name");
String imageUrl = JSONUtils.getString(json, "image_URL");
// the api currently doesn't return a taxonomy field but we want to be ready for when it does
return new Suggestion(siteID, userLogin, displayName, imageUrl, MENTION_TAXONOMY);
}
public static List<Suggestion> suggestionListFromJSON(JSONArray jsonArray, long siteID) {
if (jsonArray == null) {
return null;
}
ArrayList<Suggestion> suggestions = new ArrayList<Suggestion>(jsonArray.length());
for (int i = 0; i < jsonArray.length(); i++) {
Suggestion suggestion = Suggestion.fromJSON(jsonArray.optJSONObject(i), siteID);
suggestions.add(suggestion);
}
return suggestions;
}
public String getUserLogin() {
return StringUtils.notNullStr(userLogin);
}
public String getDisplayName() {
return StringUtils.notNullStr(displayName);
}
public String getImageUrl() {
return StringUtils.notNullStr(imageUrl);
}
public String getTaxonomy() { return StringUtils.notNullStr(taxonomy); }
}