package de.tud.kom.socom.components.achievements; import java.util.ArrayList; import java.util.List; import org.json.JSONException; import org.json.JSONObject; import org.json.JSONString; import de.tud.kom.socom.util.JSONUtils; import de.tud.kom.socom.util.LoggerFactory; /** * * @author ngerwien * */ public class Achievement implements JSONString { private long achievementID, gameID; private String name, description, image, categoryname; private List<AchievementLevel> levels; public Achievement(long achievementID, long gameID, long counterMax, String name, String description, String image, String categoryname, int rewardPoints) { this.achievementID = achievementID; this.gameID = gameID; this.name = name; this.description = description; this.image = image; this.categoryname = categoryname; this.levels = new ArrayList<AchievementLevel>(); AchievementLevel firstLevel = new AchievementLevel(-1L, achievementID, counterMax, 1, rewardPoints); this.levels.add(firstLevel); } public Achievement(long achievementID, long gameID, String name, String description, String image, String categoryname) { this.achievementID = achievementID; this.gameID = gameID; this.name = name; this.description = description; this.image = image; this.categoryname = categoryname; this.levels = new ArrayList<AchievementLevel>(); } public long getAchievementID() { return achievementID; } public long getGameID() { return gameID; } public String getName() { return name; } public String getCategoryName() { return categoryname; } public String getDescription() { return description; } public String getImage() { return image; } public List<AchievementLevel> getLevels() { return levels; } public void addLevel(AchievementLevel level) { levels.add(level); } @Override public String toJSONString() { JSONObject json = new JSONObject(); try { json.put("achievementid", achievementID); json.put("gameid", gameID); json.put("categoryname", categoryname); json.put("name", name); json.put("description", description); json.put("image", image); json.put("levels", levels); return JSONUtils.JSONToString(json); } catch (JSONException e) { LoggerFactory.getLogger().Error(e); } return JSONUtils.JSONToString(json); } }