package com.pocketreddit.library.things.factories;
import org.json.JSONException;
import org.json.JSONObject;
import com.pocketreddit.library.things.Subreddit;
public class SubredditFactory implements ThingFactory {
private JSONObject json;
public SubredditFactory(JSONObject json) {
this.json = json;
}
public Subreddit createThing() throws ThingFactoryException {
try {
JSONObject data = json.getJSONObject("data");
Subreddit subreddit = new Subreddit();
subreddit.setDisplayName(data.getString("display_name"));
subreddit.setDescription(data.getString("description"));
subreddit.setUrl(data.getString("url"));
subreddit.setNumSubscribers(data.getInt("subscribers"));
subreddit.setOver18(data.getBoolean("over18"));
subreddit.setTitle(data.getString("title"));
subreddit.setId(data.getString("id"));
return subreddit;
} catch (JSONException e) {
throw new ThingFactoryException("Failed trying to parse JSON object into Subreddit: "
+ e.getMessage(), e);
}
}
}