/* * Weeks - represents a list of 'Week' sorted by time */ class Weeks{ int maxPlays; // The maximum plays for any week int maxArtists; // The maximum artists for any week long firstWeek; // The timestamp of the first week long lastWeek; // The timestamp of the latest week Vector timeline; // List of all weeks, sorted by time ListeningHistory parent; // The history object that contains this Weeks(ListeningHistory parent){ this.parent = parent; maxPlays = 0; maxArtists = 0; firstWeek = 0; lastWeek = 0; timeline = new Vector(); } int getMaxPlays(){ return maxPlays; } int getMaxArtists(){ return maxArtists; } int getCount(){ return timeline.size(); } Week getWeek(int id){ return (Week) timeline.get(id); } Week addWeek(long timestamp){ int id = this.getCount(); Week w = new Week(id, timestamp, this); timeline.add(w); lastWeek = timestamp; if(id == 0) firstWeek = timestamp; return w; } }