package de.tud.kom.socom.web.client.sharedmodels;
import java.util.ArrayList;
import java.util.List;
import com.google.gwt.user.client.rpc.IsSerializable;
public class AchievementGame implements IsSerializable {
public static final String FirstCategory = "Summary";
long gameID;
String gameName;
List<Achievement> achievements;
List<String> achievementCategories;
public AchievementGame() {
}
public AchievementGame(long gameID, String gameName, List<Achievement> achievements) {
this.gameID = gameID;
this.gameName = gameName;
this.achievements = achievements;
gatherAchievementCategories();
}
public long getGameID() {
return gameID;
}
public String getGameName() {
return gameName;
}
public List<Achievement> getAchievements() {
return achievements;
}
public List<Achievement> getAchievements(String categoryName) {
List<Achievement> achievementsInCategory = new ArrayList<Achievement>();
for(Achievement achievement : achievements) {
if(achievement.getCategoryName() == categoryName) {
achievementsInCategory.add(achievement);
}
}
return achievementsInCategory;
}
public List<String> getAchievementCategories() {
return achievementCategories;
}
private void gatherAchievementCategories() {
achievementCategories = new ArrayList<String>();
achievementCategories.add(FirstCategory);
for(Achievement achievement : achievements) {
if(!achievementCategories.contains(achievement.getCategoryName())) {
achievementCategories.add(achievement.getCategoryName());
}
}
}
}