package de.tud.kom.socom.components.statistics; 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 rhaban * Encapsulates statistics for Socom * */ public class SoComStatistic implements JSONString { private long userCount, userOnlineCount, gameCount, gameInstanceCount, gameContextsCount, contentCount, influenceCount, achievementsUnlockedCount, totalTimePlayed, averageTimePlayedPerUser; public SoComStatistic(long userCount, long userOnlineCount, long gameCount, long gameInstanceCount, long gameContextsCount, long contentCount, long influenceCount, long achievementsUnlockedCount, long totalTimePlayed, long averageTimePlayedPerUser) { super(); this.userCount = userCount; this.userOnlineCount = userOnlineCount; this.gameCount = gameCount; this.gameInstanceCount = gameInstanceCount; this.gameContextsCount = gameContextsCount; this.contentCount = contentCount; this.influenceCount = influenceCount; this.achievementsUnlockedCount = achievementsUnlockedCount; this.totalTimePlayed = totalTimePlayed; this.averageTimePlayedPerUser = averageTimePlayedPerUser; } public long getUserCount() { return userCount; } public long getUserOnlineCount() { return userOnlineCount; } public long getGameCount() { return gameCount; } public long getGameInstanceCount() { return gameInstanceCount; } public long getGameContextsCount() { return gameContextsCount; } public long getContentCount() { return contentCount; } public long getInfluenceCount() { return influenceCount; } public long getAchievementsUnlockedCount() { return achievementsUnlockedCount; } public long getTotalTimePlayed() { return totalTimePlayed; } public long getAverageTimePlayedPerUser() { return averageTimePlayedPerUser; } @Override public String toJSONString() { try { JSONObject json = new JSONObject(); json.put("userCount", userCount); json.put("usersOnline", userOnlineCount); json.put("gameCount", gameCount); json.put("gameInstanceCount", gameInstanceCount); json.put("gameContextCount", gameContextsCount); json.put("contentCount", contentCount); json.put("influenceCount", influenceCount); json.put("achievementsUnlocked", achievementsUnlockedCount); json.put("totalTimePlayed", totalTimePlayed); json.put("averageTimePlayedPerUser", averageTimePlayedPerUser); return JSONUtils.JSONToString(json); } catch (JSONException e) { LoggerFactory.getLogger().Error(e); } return null; } }